Введение
Недействующая американская компания по разработке программного обеспечения (1991–1996)
сообщество в провинции Манитоба
the community in Manitoba
Компания Kaleida Labs, Inc. была основана в 1991 году для разработки кросс-платформенного мультимедийного проигрывателя Kaleida Media Player и объектно-ориентированного языка сценариев ScriptX, который использовался для программирования его поведения. Система была ориентирована на создание интерактивных CD-ROM, область, в которой в начале 1990-х годов прилагались значительные усилия. Когда система была выпущена в 1994 году, она предъявляла относительно высокие системные требования и занимала большой объем памяти, а также не имела нативной версии для PowerPC на платформе Mac. Примерно в то же время быстрые изменения на рынке, особенно расширение Всемирной паутины и языка программирования Java, отодвинули рынок интерактивных CD-ROM на периферию. Платформа Kaleida не смогла добиться значительного успеха, и компания была закрыта в 1996 году. Kaleida была одним из трех совместных предприятий 1990-х годов между Apple и IBM, включая операционную систему Taligent и альянс AIM с Motorola для платформы PowerPC. ScriptX была одной из нескольких подобных программных платформ, разрабатывавшихся в Apple в тот период. Система SK8 также была ориентирована на мультимедийный рынок, хотя изначально она разрабатывалась как крупное обновление HyperCard. Язык программирования Dylan представлял собой более функциональную платформу, предназначенную для общего программирования, а не только для мультимедиа. Разработка всех этих программных проектов была прекращена примерно в одно и то же время.
Формирование
Объявленная в 1991 году, компания начала свою деятельность летом 1992 года, и Ната Голдхабер стал ее первым генеральным директором. Компания была укомплектована тщательно отобранными членами команды Apple QuickTime, а также специалистами по доставке контента из IBM, работавшими с крупными серверными системами. Корпоративные офисы Kaleida располагались в Маунтин-Вью, Калифорния, недалеко от амфитеатра Shoreline на восточной стороне шоссе U.S. 101. Kaleida была одной из первых компаний, создавших корпоративный веб-сайт. Первой моделью системы стал Kaleida Media Player, или KMP. По сути, это была кроссплатформенная интерактивная версия QuickTime Player, работавшая на Apple Macintosh, IBM PC-совместимых компьютерах, а также на приставках и других платформах. Она должна была стать единой универсальной мультимедийной системой. На основе этой модели был разработан язык программирования ScriptX и библиотека объектов, позволявшие разработчикам делать медиафайлы полностью интерактивными. По словам Голдхабера, сделанным на конференции Digital World, ScriptX позволит разработчикам распространять свои работы практически на любом устройстве, просто "нажав кнопку на экране и выбрав «Сохранить как ScriptX»". Грандиозные заявления были типичны для него, позже Голдхабер утверждал, что "это действительно имеет определенную социальную значимость". Эксцентричный стиль Голдхабера, высокие зарплаты в компании и отсутствие заметного прогресса привели к негативным публикациям в прессе. Один из руководителей отметил, что "компания потратила около 20 миллионов долларов за год своего существования, и Apple и IBM не желают продолжать финансирование в таких объемах. Он добавил, что зарплаты в Kaleida высоки, и что в компании слишком много сотрудников для текущего этапа развития". В начале 1993 года между Голдхабером и советом директоров возникли разногласия по поводу опционов на акции и вопроса о выходе компании на IPO. 18 июля 1993 года компания объявила о замене Голдхабера на посту генерального директора Майком Брауном, ранее работавшим в IBM. Компания заявила, что Голдхабер останется в совете директоров для налаживания отраслевых партнерств, но возложила вину за отсутствие прогресса в этой области и за "невмешательство" Голдхабера в управление как основные причины смены руководства. В прощальной речи Голдхабер пошутил, что разные корпоративные культуры и политические интриги в IBM и Apple обрекли компанию на провал с самого начала.
Перефокусировка и высвобождение
После увольнения Голдхабера, фокус компании был сужен. Планы по созданию системы для приставки к телевизору были официально отменены в апреле 1994 года. С тех пор миссией Kaleida стало завершение и поддержка языка ScriptX и библиотеки мультимедийных объектов, которые к этому моменту сильно отставали от графика. Kaleida стремилась поставлять KMP в качестве системного программного обеспечения с новыми персональными компьютерами. Одновременно разработчики CD-ROM могли распространять KMP вместе с контентом для поддержки существующих систем Windows и Macintosh. В рамках новой стратегии компания была сокращена, увольнения затронули примерно 20–25% сотрудников. В конце 1993 и начале 1994 года целью компании было обеспечить работу Kaleida Media Player на референсной платформе, состоящей из процессора Motorola 68030 или Intel 80486 с частотой 25 МГц и 4 МБ оперативной памяти. Такая система была типичной для парка установленного оборудования в то время, и большинство новых компьютеров поставлялись с CD-ROM приводом только для чтения. Toshiba, которая ранее поддерживала разработку Kaleida для приставки к телевизору, стала миноритарным акционером. На протяжении своего непродолжительного существования Kaleida поддерживала кроссплатформенную разработку для Windows (как Windows 3.1, так и Windows 95), Macintosh (с поддержкой платформ 68000 и PowerPC) и OS/2. Комплект разработки ScriptX и версия 1.0 Kaleida Media Player были наконец выпущены 19 декабря 1994 года, со значительным опозданием. Тем не менее, обзоры были в основном положительными, отмечая «замечательную простоту использования» и указывая на то, что ядро содержит «классы, обеспечивающие общий базовый набор функций для разработки на основе ScriptX». Для понимания масштаба, компьютер Mac среднего класса того времени, LC 475, поставлялся всего с 4 МБ оперативной памяти, значительная часть которой использовалась операционной системой. Более того, система не была выпущена в формате PowerPC, хотя к тому моменту PPC уже восемь месяцев составлял основу высокопроизводительных Mac. Большинство потенциальных разработчиков для Kaleida придерживались стратегии «выжидания и наблюдения», ожидая, что Kaleida решит проблемы с производительностью и выпустит более стабильную версию ScriptX. Однако компании не удалось продемонстрировать систему, которая стабильно работала бы на менее чем 16 МБ оперативной памяти, что в то время считалось «высоким» показателем. Director от Macromedia и связанная с ней программа Lingo воспользовались этой ситуацией, чтобы занять прочные позиции на рынке. Материнские компании объявили о планах выпустить ScriptX 1.5 в любом случае. Дальнейшая разработка ScriptX была передана группе внутри Apple Computer, и Apple предложила работу большинству членов инженерной команды ScriptX. ScriptX версии 1.5 была выпущена почти одновременно с закрытием Kaleida Labs в январе 1996 года. Выпустив ScriptX, Apple и IBM выполнили свои договорные обязательства перед разработчиками и избежали юридических проблем. В конечном итоге, только два проекта мультимедийного контента были выпущены с использованием ScriptX 1.5. Один из них – CD-ROM версия шведской национальной энциклопедии Nationalencyklopedin, разработанная Linné Data из Гетеборга, Швеция. Другой – интерактивный музыкальный альбом, «Crazy for Ragtime» Роберта Винтера.
После Калейды
В течение нескольких месяцев разработка ScriptX прекратилась внутри Apple, а оставшиеся сотрудники либо перешли на другие должности в Apple, либо ушли работать в другие компании отрасли. Приложение Director ещё некоторое время оставалось важным игроком на рынке мультимедиа, но его вытеснил, а затем и заменил Flash. Ранние версии Flash во многом являлись клоном ScriptX, используя небольшой подключаемый модуль среды выполнения с языком, основанным на событиях, и схожими требованиями к ресурсам.
Сценарий
Главным архитектором программного обеспечения ScriptX был Джон Уэйнрайт, австралийский ученый в области компьютерных наук. ScriptX был реализован на языке C с использованием обширной библиотеки под названием Objects in C, разработанной Уэйнрайтом до прихода в Kaleida и проданной компании при её основании. Objects in C использует директивы препроцессора для эмуляции объектной системы внутри библиотек. Библиотека содержит более 240 классов, многие из которых предназначены для поддержки мультимедиа и создания пользовательских интерфейсов. Распространенные структуры данных, такие как массивы и связные списки, были реализованы как классы коллекций в этой библиотеке. ScriptX – объектно-ориентированный язык сценариев, использующий элементы дизайна из языков "Smalltalk, Dylan, Hypertalk, Lisp, Object Logo, C++ и Pascal". После закрытия Kaleida Labs Уэйнрайт стал главным архитектором MaxScript, языка сценариев для 3D Studio Max, который применялся для обработки контента в играх и 3D-приложениях, таких как программы Maxis Sims. Он тесно напоминает ScriptX.