stringtranslate.com

Laboratorios Kaleida

Kaleida Labs, Inc. , se formó en 1991 para producir el Kaleida Media Player multiplataforma multimedia y el lenguaje de programación orientado a objetos ScriptX que se utilizó para programar su comportamiento. El sistema estaba destinado a la producción de títulos interactivos en CD ROM , un área de gran esfuerzo a principios de los años noventa. Cuando el sistema se entregó en 1994, tenía requisitos de sistema y consumo de memoria relativamente altos , y carecía de una versión nativa de PowerPC en la plataforma Mac . Casi al mismo tiempo, los rápidos cambios en el mercado, especialmente la expansión de la World Wide Web y el lenguaje de programación Java , empujaron el mercado de CD interactivos a un papel de nicho. La plataforma Kaleida no logró ganar un impulso significativo y la empresa cerró en 1996.

Kaleida fue una de las tres empresas conjuntas de la década de 1990 entre Apple e IBM, incluido el sistema operativo Taligent y la alianza AIM con Motorola para la plataforma PowerPC. ScriptX fue una de varias plataformas de software similares que comenzaron en Apple en ese período. El sistema SK8 también estaba dirigido al mercado multimedia, aunque evolucionó desde lo que originalmente era una actualización importante a HyperCard . El lenguaje de programación Dylan era una plataforma con más funciones, dirigida a la programación general, no solo a la multimedia. El desarrollo de todos estos proyectos de software finalizó aproximadamente al mismo tiempo.

Historia

Formación

Anunciada en 1991, la empresa inició sus operaciones en el verano de 1992 con Nat Goldhaber como su primer director ejecutivo. [1] El personal de la empresa estaba formado por miembros cuidadosamente seleccionados del equipo QuickTime de Apple , junto con miembros del gran lado de la entrega de contenidos en IBM. Las oficinas corporativas de Kaleida estaban ubicadas en Mountain View, California, en sitios cerca del Shoreline Amphitheater en el lado este de la US 101. Kaleida fue una de las primeras empresas en publicar un sitio web corporativo.

El primer modelo del sistema fue Kaleida Media Player o KMP. Se trataba esencialmente de una versión interactiva multiplataforma de QuickTime Player que se ejecutaría en Apple Macintosh , clones de PC de IBM , así como en decodificadores y otras plataformas. Estaba destinado a ser un único sistema multimedia universal. Además de este modelo estaba el lenguaje de programación y la biblioteca de objetos ScriptX , que permitía a los desarrolladores hacer que los archivos multimedia fueran completamente interactivos.

Según declaraciones hechas en la Digital World Conference, Goldhaber afirmó que ScriptX permitiría a los desarrolladores distribuir su trabajo en prácticamente cualquier dispositivo simplemente "presionando un botón en una pantalla y seleccionando 'Guardar como ScriptX'". [2] Las declaraciones grandilocuentes eran típicas , y Goldhaber afirmó más tarde que "en realidad tiene una importancia social genuina".

El estilo extravagante de Goldhaber, la costosa nómina de la empresa y la falta de progreso evidente dieron lugar a historias negativas en la prensa. Un ejecutivo que describió que "la empresa ha gastado alrededor de 20 millones de dólares en su año de existencia y que Apple e IBM se resisten a seguir gastando dinero a ese ritmo. Dijo que los salarios de Kaleida son altos y que la empresa tiene demasiados empleados para su etapa actual de desarrollo". [4]

A principios de 1993, Goldhaber y la junta directiva comenzaron a pelear por las opciones sobre acciones y si la empresa debería salir a bolsa. El 18 de julio de 1993, la empresa anunció que Goldhaber sería reemplazado como director ejecutivo por Mike Braun, ex miembro de IBM. La compañía declaró que Goldhaber permanecería en la junta directiva en un esfuerzo por construir asociaciones industriales, pero atribuyó la falta de progreso en este frente y la gestión "no intervencionista" de Goldhaber como las principales razones del cambio. [5] Al despedirse, Goldhaber bromeó diciendo que las diferentes culturas y maniobras políticas en IBM y Apple condenaron a la empresa desde el principio.

Reenfocar y liberar

Tras la destitución de Goldhaber, el enfoque de la empresa se redujo. Los planes para construir un sistema para decodificadores se abandonaron oficialmente en abril de 1994. [6] La misión de Kaleida a partir de entonces fue completar y soportar el lenguaje ScriptX y la biblioteca de objetos multimedia, que en ese momento estaban muy retrasados. Kaleida buscó integrar el KMP como software de sistema con nuevas computadoras personales. Al mismo tiempo, los desarrolladores de CD-ROM podrían enviar al KMP contenido compatible con los sistemas Windows y Macintosh existentes. Como parte del nuevo enfoque, la empresa se redujo y los despidos representaron entre el 20 y el 25% de la fuerza laboral. [6] [7]

A finales de 1993 y principios de 1994, el objetivo de la empresa era que Kaleida Media Player se ejecutara en una plataforma de referencia que constaba de un procesador Motorola 68030 de 25 MHz o un procesador Intel 80486 de 25 MHz con 4 MB de memoria de acceso aleatorio. Un sistema de este tipo era típico de la base instalada en ese momento, y la mayoría de las computadoras nuevas se enviaban con una unidad de CD-ROM de solo lectura. Toshiba, que había apoyado el esfuerzo del decodificador de Kaleida, se convirtió en un accionista minoritario. A lo largo de su breve historia, Kaleida mantuvo esfuerzos de desarrollo multiplataforma para Windows (tanto Windows 3.1 como Windows 95), Macintosh (que admite las plataformas 68000 y PowerPC) y OS/2.

El kit de desarrollo ScriptX y la versión 1.0 de Kaleida Media Player fueron finalmente lanzados el 19 de diciembre de 1994, ahora considerablemente tarde. [8] Sin embargo, las críticas fueron en general positivas, calificándolo de "notable por su facilidad de uso" y afirmando que las "clases principales que proporcionan un alto denominador común conjunto de características para el desarrollo basado en ScriptX". [9] Sin embargo, el rendimiento era otra cuestión completamente distinta. La versión 1.0 de KMP requería 3,3 MB de RAM en Windows y 2,9 MB en Mac, y esto era sólo para el tiempo de ejecución básico, no para el contenido real que se ejecutaba en él. [9] Para poner esto en perspectiva, una Mac de gama media de la época era la LC 475 , que se entregaba con sólo 4 MB de RAM estándar, de los cuales el sistema operativo utilizaba una cantidad significativa. Además, el sistema no se lanzó en formato PowerPC , aunque en ese momento el PPC ya había formado parte de la gama alta de la línea Mac durante ocho meses. [9]

Mercado cambiante

Kaleida se fundó en parte como un entorno de creación de aplicaciones basadas en CD-ROM. Pero el ciclo de vida del producto CD-ROM, que había sido anunciado durante años como un sistema de distribución de contenido, resultó ser sorprendentemente corto. En 1995 estaba quedando claro que la World Wide Web proporcionaría muchos de los sistemas interactivos ligeros que antes se entregaban en CD-ROM, y si bien el vídeo y sistemas similares de gran ancho de banda aún no eran adecuados para la Web, no necesitaban el entorno de desarrollo o la interactividad que ofrece algo como Kaleida.

Kaleida también se había formado, hasta cierto punto, para ofrecer una alternativa a la plataforma Wintel para lo que en ese momento parecía ser un mercado emergente en el mundo de los CD. Goldhaber lo mencionó en numerosas ocasiones al describir la próxima "guerra" por el multimedia. [2] Después de la oferta pública de Netscape a principios de 1995, muchos desarrolladores de software reconocieron que el navegador en sí plantearía un desafío para Windows y que se convertiría en una plataforma multimedia por derecho propio. Ya existía la plataforma independiente para atacar a Wintel. Luego, Kaleida inició un esfuerzo para entregar objetos a través de Internet y entregar contenido web. [10]

La mayoría de los desarrolladores potenciales de Kaleida habían estado adoptando un enfoque de esperar y observar con respecto al sistema, esperando que Kaleida resolviera los problemas de rendimiento y enviara una versión más estable de ScriptX. Sin embargo, la empresa no había podido demostrar un sistema que funcionara de forma aceptable con menos de 16 MB de RAM, que en aquel momento era la "gama alta" del mercado. El director de Macromedia y el programa Lingo asociado aprovecharon el vacío para establecer un mercado fuerte. [11] Mientras tanto, Sun Microsystems estaba promocionando su nuevo lenguaje de programación Java como un sistema dedicado a la Web diseñado específicamente para ejecutarse incluso en las plataformas más pequeñas.

Cierre

A finales de 1995 estaba claro que ScriptX había perdido su impulso en el mercado, a pesar de que la empresa estaba a punto de lanzar ScriptX Versión 1.5. En noviembre de 1995, Apple Computer e IBM anunciaron el cierre de Kaleida Labs, a partir de enero de 1996. [12] Las empresas matrices anunciaron que enviarían ScriptX 1.5 de todos modos. El desarrollo futuro de ScriptX pasaría a un grupo dentro de Apple Computer, y Apple ofreció trabajos a la mayoría de los miembros del equipo de ingeniería de ScriptX.

La versión 1.5 de ScriptX se envió casi al mismo tiempo que el cierre de Kaleida Labs, en enero de 1996. [11] Al enviar ScriptX, Apple e IBM cumplieron los compromisos contractuales que habían asumido con los desarrolladores y evitaron dificultades legales. Al final, sólo dos proyectos de contenido multimedia se enviaron utilizando ScriptX 1.5. Una era una versión en CD-ROM de la Enciclopedia Nacional Sueca, Nationalencyklopedin , desarrollada por Linné Data de Gotemburgo, Suecia. El otro era un título musical interactivo, Crazy for Ragtime de Robert Winter.

Después de Kaleida

En unos pocos meses, el desarrollo de ScriptX se desvaneció dentro de Apple, y los empleados restantes migraron a otros trabajos en Apple o se fueron a otras empresas de la industria. La aplicación Director siguió siendo una fuerza importante en el mercado multimedia durante un tiempo, pero fue suplantada y luego reemplazada por Flash . Las primeras versiones de Flash son, en muchos sentidos, un clon de ScriptX, que utilizan un pequeño complemento en tiempo de ejecución con un lenguaje basado en eventos y requisitos de recursos similares.

Descripción

GuiónX

El principal arquitecto de software de ScriptX fue John Wainwright , un informático nacido en Australia. ScriptX se implementó en C, utilizando una extensa biblioteca llamada Objects in C que Wainwright había desarrollado antes de unirse a Kaleida y vendida a la empresa desde sus inicios. Los objetos en C utilizan directivas de preprocesador para simular un sistema de objetos dentro de las bibliotecas. La biblioteca cuenta con más de 240 clases, muchas de ellas diseñadas para admitir multimedia y crear interfaces de usuario personalizadas. Se implementaron estructuras de datos comunes, como matrices y listas vinculadas, como clases de colección en la biblioteca.

ScriptX es un lenguaje de programación orientado a objetos que utiliza elementos de diseño de "Smalltalk, Dylan, Hypertalk, Lisp, Object Logo, C++ y Pascal". [13] Con Smalltalk, comparte el concepto de clases, objetos y herencia, pero también presenta herencia múltiple tanto en clases como en objetos, y vinculación dinámica de objetos en tiempo de ejecución. ScriptX no tiene tipos de datos primitivos; Incluso los números enteros se definen como objetos. Todos los objetos son instancias de una clase y las clases son instancias de un objeto MetaClass. Como en LISP, no hay declaraciones y cada línea en un programa ScriptX es una expresión que devuelve un valor. [13]

ScriptX utiliza la recolección de basura que se ejecuta en un hilo separado para manejar la memoria y presenta un almacén de objetos para colecciones permanentes. ScriptX admite subprocesos múltiples, pero no multiprocesamiento, y ofrece control de secuencias de comandos de funciones del sistema operativo de nivel inferior, como eventos y subprocesos que se ejecutan simultáneamente. Las primeras herramientas de desarrollo multimedia carecen de técnicas para sincronizar presentaciones, excepto sondeando el propio reloj del sistema operativo. Ray Valdés, escribiendo en Dr. Dobb's Journal , señaló que "una característica clave de ScriptX es una clase Clock , que proporciona funciones para sincronizar secuencias cronometradas de acciones requeridas por aplicaciones multimedia". [13]

Tras el cierre de Kaleida Labs, Wainwright se convirtió en el arquitecto principal de MaxScript, un lenguaje de programación para 3D Studio Max que se ha utilizado para procesar contenido para juegos y aplicaciones 3D como los programas Maxis Sims. [14] Se parece mucho a ScriptX.

Ejemplo

El siguiente código ilustra la sintaxis única del lenguaje ScriptX. Es parte de una clase que maneja el seguimiento del mouse en un programa más grande escrito por Don Hopkins . [15] El método sendTrackDrop envía un mensaje trackDrop a otro objeto.

método sendTrackDrop self {clase Tracker} objetivo de servicio xy datos doit -> (	coordenadas locales := nuevo puntorepetir mientras (verdadero) hacer (si (canObjectDo objetivo trackDrop) entonces (retorno (servicio de destino trackDrop xy datos doit)) demás (coordenadas.x := xcoordenadas.y := yt local: = coordenadas objetivo findFirstAtPointsi (t == vacío) devuelve falsox := x - txy := y - tyobjetivo := t)) )

Este código es responsable de reenviar mensajes trackDrop entre objetos e ilustra una serie de características poco comunes del lenguaje ScriptX. De menor interés es el :=operador de asignación, como el de Pascal.

Las variables están marcadas localpara determinar su alcance . [13] Esto es lo opuesto a la mayoría de los lenguajes modernos, donde "local" es el alcance predeterminado, y tal declaración sería redundante. En los lenguajes convencionales, la visibilidad del alcance se define por la ubicación en el archivo de código fuente : las variables declaradas dentro de un método son locales para ese método, las definidas fuera de los métodos u otras declaraciones son globales para la clase (o programa).

Esta falta de alcance basado en archivos es una característica básica del lenguaje ScriptX y otros similares, en particular Dylan . En lenguajes convencionales como Java , las clases y construcciones similares se definen dentro de un único archivo, o al menos en un "archivo maestro". El alcance está definido por el sistema de archivos y la ubicación del código dentro de él. Por el contrario, en ScriptX se puede definir cualquier método en cualquier clase de cualquier archivo. En este ejemplo, el método sendTrackDropse aplica a la Trackerclase y se puede colocar dentro de cualquier archivo al que se accederá durante el tiempo de ejecución. Esto permite a los programadores organizar su código por clase o por funcionalidad, a costa de una sintaxis adicional.

Referencias

  1. ^ Lawrence Fisher (24 de junio de 1992). "Se nombra jefe de riesgo de Apple-IBM" . New York Times .
  2. ^ ab Janice Maloney, "Un estándar multimedia para lograr la 'compatibilidad universal'" Archivado el 4 de marzo de 2016 en Wayback Machine , Digital Media , julio de 1993
  3. ^ Jonathan Weber (27 de septiembre de 1992). "Kaleida Labs, una empresa conjunta Apple-IBM, está buscando formas de desarrollar tecnologías multimedia". Los Ángeles Times . Archivado desde el original el 6 de marzo de 2016.
  4. ^ Jonathan Weber (16 de julio de 1993). "Los laboratorios multimedia de Kaleida estarán a cargo de un veterano de IBM en medio de informes de retrasos y altos costos". Los Ángeles Times . Archivado desde el original el 22 de febrero de 2017.
  5. ^ Ralph King, "Multimedia Kaleida cambia a altos ejecutivos en medio de retrasos", Wall Street Journal , 18 de julio de 1993
  6. ^ ab Laurie Flynn (15 de mayo de 1994). "Sound Bytes; Maverick rehace Kaleida" . Los New York Times .
  7. ^ Ray Valdés, "¿Qué pasa en Kaleida?", Actualización del desarrollador del Dr. Dobbs , 1 de septiembre de 1994
  8. ^ "Kaleida Labs envía programas multimedia ScriptS" . New York Times . 20 de diciembre de 1994.
  9. ^ abc Stephan Somogyi, "Kaleida's ScriptX: es tarde pero adelantado a su tiempo", Digital Media Perspective , 23 de diciembre de 1994
  10. ^ "ScriptX y la World Wide Web: vincularse globalmente, interactuar localmente"
  11. ^ ab Emerick, Donald; Ronda, Kimberlee (2000). Explorando el marketing web y la gestión de proyectos. Prensa del MIT. pag. 558.ISBN 9780130163967.
  12. ^ Julie Pitta (18 de noviembre de 1995). "IBM y Apple cerrarán las puertas a Kaleida Labs". Los Ángeles Times . Archivado desde el original el 6 de marzo de 2016.
  13. ^ abcd Ray Valdés, "Presentación de ScriptX", Dr. Dobb's Journal , noviembre de 1994
  14. ^ Don Hopkins, "Automatización del proceso de animación de personajes de Los Sims con MaxScript"
  15. ^ Don Hopkins, "TrackService: otro controlador de eventos más para ScriptX", Kaleida Labs

Otras lecturas

enlaces externos