칼리다 연구소
Kaleida Labs![]() | |
유형 | 자회사 |
---|---|
산업 | 멀티미디어 소프트웨어 |
설립됨 | 1991; | 전
현존하지 않는 | 1996 |
본부 | , 미국 |
상품들 |
|
부모 | 애플 컴퓨터와 IBM |
Kaleida Labs는 1991년 멀티미디어 크로스 플랫폼 Kaleida Media Player와 그 행동을 프로그래밍하는 데 사용된 객체 지향 스크립팅 언어 ScriptX를 생산하기 위해 결성되었다.이 시스템은 1990년대 초반에 크게 노력한 분야인 인터랙티브 CD ROM 타이틀의 제작을 목표로 했다.1994년 시스템을 납품할 때는 시스템 요구 사항과 메모리 설치 공간이 상대적으로 높았고, Mac 플랫폼에 기본 PowerPC 버전이 부족했다.비슷한 시기에 시장의 급격한 변화, 특히 월드 와이드 웹과 자바 프로그래밍 언어의 확장은 인터랙티브 CD 시장을 틈새 역할로 밀어넣었다.칼리다 플랫폼은 큰 영향력을 얻지 못했고 회사는 1996년에 문을 닫았다.
칼리다는 1990년대 애플과 IBM의 3대 합작회사 중 하나로, 탈리젠트 운영체제, 파워PC 플랫폼용 모토로라와의 AIM 제휴 등이 있다.ScriptX는 그 시기에 애플에서 시작된 몇 가지 유사한 소프트웨어 플랫폼 중 하나였다.SK8 시스템은 원래 하이퍼카드로의 주요 업그레이드에서 진화했지만 멀티미디어 시장을 겨냥한 것이기도 했다.딜런 프로그래밍 언어는 멀티미디어뿐만 아니라 일반 프로그래밍을 목표로 한 보다 완전한 기능을 갖춘 플랫폼이었다.이러한 모든 소프트웨어 프로젝트의 개발은 거의 동시에 끝났다.
역사
포메이션
1991년에 발표된 이 회사는 1992년 여름 Nat Goldhaber가 초대 CEO로 재직하면서 운영을 시작했다.[1]이 회사는 IBM의 빅 아이언 콘텐츠 전달 부문의 멤버들과 함께 애플의 퀵타임 팀의 멤버들을 직접 고르는 직원들로 구성되었다.갈레이다의 법인 사무소는 미국 101년 동쪽에 있는 쇼어라인 원형경기장 인근 부지에 있는 캘리포니아 마운틴뷰에 있었다.갈레이다는 기업 웹사이트를 올린 가장 초기 회사들 중 하나이다.
이 시스템의 초기 모델은 Kaleida Media Player, 또는 KMP였다. 이것은 본질적으로 Apple Macintosh, IBM PC 클론, 셋톱 박스 및 기타 플랫폼에서 실행되는 QuickTime Player의 교차 플랫폼 인터랙티브 버전이었다.그것은 하나의 보편적인 멀티미디어 시스템이 되도록 의도되었다.이 모델 위에는 ScriptX 프로그래밍 언어와 오브젝트 라이브러리가 있어 개발자들이 미디어 파일을 완벽하게 인터랙티브하게 만들 수 있었다.
진술은 디지털 세계 회의에서에 따르면 Goldhaber이 ScriptX 개발자들 실질적으로 기기에 구애 받지 단순히"한 화면에서 ScriptX'로'Save 선택한 버튼을 누름으로써 그들의 작품을 배포하는 허용할 것이라고 말했다."[2]웅장한 성명, Goldhaber 나중에 뜻과 함께 살던 일반적인"It 실제로 타고난 사회성을 가지고 있다.나는 중요하다."[3]
골드하버의 화려한 스타일과 값비싼 회사 급여, 그리고 뚜렷한 진척도가 없는 것이 언론에 부정적인 이야기로 이어졌다.한 임원은 "이 회사는 1년 동안 약 2천만 달러를 썼으며 애플과 IBM은 이 속도로 계속 돈을 쓰기를 꺼리고 있다"고 설명했다.그는 "칼리다의 급여가 높고 현재 개발 단계에 비해 회사가 너무 많은 직원을 보유하고 있다"[4]고 말했다.
1993년 초 골드하버와 이사회는 스톡옵션과 상장 여부를 놓고 싸우기 시작했다.1993년 7월 18일, 회사는 골드하버가 전 IBM의 마이크 브라운에 의해 CEO로 교체되고 있다고 발표했다.회사 측은 골드하버가 업계 파트너십을 구축하기 위한 노력에서 이사직을 유지할 것이라고 밝혔지만, 이 전선에 진전이 없는 점과 골드하버의 '손 떼기' 경영을 전환의 주요 원인으로 지목했다.[5]골다베르는 IBM과 애플의 서로 다른 문화와 정치 공작이 처음부터 회사를 망하게 만들었다고 입을 모았다.
Refocus and refocus
골드하버의 축출에 따라 회사의 초점은 좁아졌다.셋톱박스 시스템 구축 계획은 1994년 4월 공식 폐기됐다.[6]그때부터 칼리다의 임무는 ScriptX 언어와 멀티미디어 오브젝트 라이브러리를 완성하고 지원하는 것이었는데 이때쯤에는 매우 늦었다.Kaleida는 KMP를 새로운 개인용 컴퓨터와 함께 시스템 소프트웨어로 묶으려고 했다.동시에, CD-ROM 개발자들은 KMP를 기존의 윈도우와 매킨토시 시스템을 지원하는 컨텐츠와 함께 출하할 수 있었다.새로운 초점의 일환으로, 회사는 축소되었고, 정리해고는 약 20-25%의 노동력을 차지한다.[6][7]
1993년 말과 1994년 초 회사의 목표는 칼리다 미디어 플레이어가 4MB의 랜덤 액세스 메모리로 실행되는 25MHz 모토로라 68030 또는 25MHz Intel 80486 프로세서로 구성된 참조 플랫폼에서 실행되는 것이었다.그러한 시스템은 당시 설치된 기지의 전형적이었으며, 대부분의 새로운 컴퓨터들은 읽기 전용 CD-ROM 드라이브와 함께 출하되고 있었다.그동안 갈리다의 셋톱박스 노력을 지지했던 도시바가 소수주주가 됐다.칼리다는 짧은 역사를 통해 Windows(윈도우 3.1과 윈도 95), Macintosh(68000과 PowerPC 플랫폼 모두 지원), OS/2를 위한 교차 플랫폼 개발 노력을 유지했다.
ScriptX 개발 키트와 칼리다 미디어 플레이어의 1.0 버전은 현재 상당히 늦은 1994년 12월 19일에 마침내 출시되었다.[8]그럼에도 불구하고, 리뷰는 대체로 긍정적이어서, 「사용의 용이성을 위해 제거할 수 있다」라고 하고, 핵심이 「스크립트X 기반의 개발을 위해 높은 공통분모 특징을 제공하는 클래스」[9]라고 명시했다.하지만 성능은 완전히 또 다른 문제였다.KMP 1.0 버전은 윈도에서는 3.3MB, 맥에서는 2.9MB의 RAM이 필요했고, 이는 실행된 실제 콘텐츠가 아닌 기본 런타임만을 위한 것이었다.[9]이를 위해 당시 중급 맥은 4MB의 RAM 표준으로 출하된 LC 475로 OS가 상당량을 사용했다.더구나 이 시스템은 파워에서 출시되지 않았다.PC 포맷은, 비록 이 시점까지 PPC는 이미 8개월 동안 Mac 라인업의 하이엔드를 형성하고 있었다.[9]
변화하는 시장
칼리다는 CD-ROM을 기반으로 한 애플리케이션 제작 환경으로 일부 구축돼 있었지만 수년 전부터 콘텐츠 전달 시스템으로 예고됐던 CD-ROM의 제품 수명주기가 의외로 짧은 것으로 나타났다.1995년까지 월드 와이드 웹은 이전에 CD-ROM으로 제공되었던 많은 경량 인터랙티브 시스템을 제공하게 될 것이 분명해졌고, 비디오와 유사한 고대역폭 시스템은 아직 웹에 적합하지 않았지만, 칼리다와 같은 것에 의해 제공되는 개발 환경이나 상호작용이 필요하지 않았다.
칼리다는 또한 어느 정도 윈텔 플랫폼에 대한 대안을 제시하기 위해 결성되었는데, 그 시점에서 CD 세계의 신흥 시장으로 보였다.골드하버는 멀티미디어를 위한 다가올 "전쟁"을 묘사하면서 여러 번 이것을 언급했었다.[2]1995년 초 Netscape의 공모가 있은 후, 많은 소프트웨어 개발자들은 브라우저 자체가 윈도우에 도전할 것이며, 브라우저가 그 자체로 멀티미디어 플랫폼이 될 것이라고 인식했다.윈텔을 공격하는 독립형 플랫폼은 이제 존재했다.그 후 칼리다는 인터넷을 통해 사물을 전달하고 웹 콘텐츠를 전달하기 위한 노력을 시작했다.[10]
대부분의 잠재적 칼리다 개발자들은 칼리다가 성능 문제를 해결하고 보다 안정적인 버전의 ScriptX를 출하하기를 기다리며 시스템에 대한 관망적인 접근을 해오고 있었다.하지만 당시 시장의 '하이엔드'였던 16MB 이하의 램에서 허용 가능한 속도로 작동하는 시스템을 시연하지 못하고 있었다.매크로메디아의 디렉터 겸 관련 링고 프로그램은 이 공백을 이용해 강력한 시장을 구축했다.[11]한편, 선 마이크로시스템스는 자사의 새로운 자바 프로그래밍 언어를 가장 작은 플랫폼에서도 실행되도록 특별히 설계된 웹 전용 시스템으로서 홍보하고 있었다.
폐쇄
1995년 말경에는 ScriptX 버전 1.5를 출하할 위기에 처했음에도 불구하고 ScriptX가 시장에서 모멘텀을 잃었음이 분명해졌다.1995년 11월 애플 컴퓨터와 IBM은 1996년 1월 발효된 칼리다 랩스의 폐업을 발표했다.[12]모기업들은 어떻게든 ScriptX 1.5를 출하할 것이라고 발표했다.향후 ScriptX의 개발은 Apple Computer 내의 그룹으로 옮겨갈 것이며, Apple은 ScriptX 엔지니어링 팀의 대부분의 구성원들에게 일자리를 제공했다.
ScriptX 버전 1.5는 1996년 1월에 Kaleida Labs의 폐쇄와 거의 동시에 선적되었다.[11]ScriptX를 발송함으로써, 애플과 IBM은 개발자들에게 한 계약상의 약속을 이행하고 법적 어려움을 피했다.궁극적으로 ScriptX 1.5를 사용하여 출하된 멀티미디어 콘텐츠 프로젝트는 단 두 가지뿐이다.하나는 스웨덴 고텐부르크의 린네 데이터(Linné Data)가 개발한 스웨덴 국립백과사전인 내셔널엔시클로페딘의 CD-ROM 버전이었다.다른 하나는 인터랙티브 음악 제목인 Robert Winter's Crazy for Ragtime이었다.
칼리다이후
몇 달 안에 ScriptX의 개발은 애플 내부에서 시들해졌고, 나머지 직원들은 애플의 다른 직장으로 이주했거나 업계의 다른 회사로 떠났다.이사 애플리케이션은 한동안 멀티미디어 시장에서 주요 시장으로 남아있었지만 플래시로 대체되었다.초기 버전의 플래시는 이벤트 중심 언어와 유사한 리소스 요구 사항이 있는 소규모 플러그인 런타임을 사용하여 여러 가지 면에서 ScriptX의 클론이다.
설명
스크립트X
ScriptX의 주요 소프트웨어 설계자는 호주 태생의 컴퓨터 과학자 존 웨인라이트였다.ScriptX는 C에서 웨인라이트가 칼리다에 입사하기 전에 개발했던 Objects in C라는 방대한 도서관을 이용하여 구현되어, 설립시에 회사에 매각되었다.C에 있는 물체는 라이브러리 내의 물체 시스템을 시뮬레이션하기 위해 전처리기 지시문을 사용했다.이 도서관은 240개 이상의 강좌를 개설했는데, 그 중 많은 강좌들이 멀티미디어 지원뿐만 아니라 사용자 맞춤형 사용자 인터페이스를 만들도록 설계되었다.배열과 링크된 목록과 같은 공통 데이터 구조가 라이브러리에서 수집 클래스로 구현되었다.
ScriptX는 객체 지향 스크립팅 언어로, "Smalltalk, Dylan, Hypertalk, Lisp, Object Logo, C++, Pascal"[13]의 디자인 요소를 사용했다.스몰토크(Smalltalk)와 함께 클래스, 객체, 상속의 개념을 공유하면서도 클래스와 오브젝트 모두에 다중 상속, 런타임에 오브젝트의 동적 바인딩 등을 특징으로 했다.ScriptX는 원시 데이터 유형이 없었고 정수조차도 개체로 정의되었다.모든 객체는 클래스의 인스턴스였고, 클래스 자체는 MetaClass 객체의 인스턴스였다.LISP에서와 마찬가지로 문장이 없었고 ScriptX 프로그램의 모든 행은 값을 반환하는 표현이었다.[13]
ScriptX는 메모리를 처리하기 위해 별도의 스레드에서 실행되는 가비지 수집을 사용했으며 영구 수집을 위한 객체 저장소를 특징으로 했다.ScriptX는 멀티스레딩을 지원했지만 멀티프로세싱은 지원하지 않았으며 이벤트와 동시에 실행되는 스레드 같은 하위 수준의 운영 체제 기능에 대한 스크립팅 제어를 제공했다.초기 멀티미디어 개발 도구는 운영체제 자체 클럭을 폴링하는 것 외에는 프리젠테이션을 동기화하는 기술이 부족했다.Dobb's Journal에 기고한 Ray Valdés는 "주요 ScriptX 기능은 멀티미디어 앱에서 요구하는 동작의 타이밍 설정 순서를 동기화하는 기능을 제공하는 클록 클래스"라고 언급했다.[13]
웨인라이트는 칼리다랩스가 문을 닫은 뒤 맥시스 심스 프로그램과 같은 3D 응용 프로그램과 게임용 콘텐츠를 처리하는 데 사용되어온 3D Studio Max의 스크립팅 언어인 맥스스크립트의 수석 설계자 역할을 계속했다.[14]따라서 ScriptX는 ScriptX와 매우 유사한 MaxScript의 시조자로 간주될 수 있다.
예
다음 코드는 ScriptX 언어의 고유한 구문을 보여준다.이것은 돈 홉킨스가 쓴 더 큰 프로그램에서 마우스 추적을 다루는 수업의 일부분이다.[15]sendTrackDrop 메서드는 trackDrop 메시지를 다른 객체로 보낸다.
법sendTrackDrop 셀프 서비스 목표)y데이터 전혀 ->,{수업 Tracker}(지역 coords:= 새로운 점 반복하는 동안(사실) 다음(y데이터 doit x 반환(trackDrop 대상 서비스)) 다른(coords.x:=-1coords.y:지방에선 y=:findFirstAtPoint 목표 coords = 만약(t== 빈)fals 돌아오시나(만약(canObjectDo 목표 trackDrop) 한다.ex := x - t.x y := y - t.y 대상 := t ) )
이 코드는 객체 간 trackDrop 메시지 전달을 담당하며 ScriptX 언어의 많은 특이한 특징을 보여준다.사소한 관심사 중 하나는:=
파스칼과 같은 할당 운영자야
변수가 표시됨local
그들의 범위를 결정하기 위해서.[13]이는 "로컬"이 기본 범위인 대부분의 현대 언어와 정반대여서 그러한 선언은 중복될 것이다.재래식 언어에서 범위 지정 가시성은 소스 코드 파일의 위치에 의해 정의된다. - 방법 내부에 선언된 변수는 해당 방법에 로컬이며, 외부 방법 또는 기타 선언은 클래스(또는 프로그램)에 전역적이다.
이러한 파일 기반 범위 지정의 부족은 ScriptX 언어와 그것을 좋아하는 다른 사람들, 특히 Dylan의 기본 특징이다.자바와 같은 재래식 언어에서는 클래스와 유사한 구조가 단일 파일, 또는 적어도 "마스터 파일" 내에서 정의된다.범위는 파일 시스템과 그 안에 있는 코드의 위치에 의해 정의된다.반대로 ScriptX에서는 모든 파일의 모든 클래스에 대해 모든 메서드를 정의할 수 있다.이 예에서 방법은sendTrackDrop
에 적용되고 있다Tracker
class, 그리고 런타임 동안 액세스될 모든 파일에 배치될 수 있다.이것은 프로그래머들이 그들의 코드를 클래스별로 혹은 기능별로, 약간의 추가 구문을 희생시키면서 구성할 수 있게 한다.
ScriptX vs.자바
자바는 ScriptX와 많은 유사점을 가지고 있다.ScriptX와 마찬가지로 C, C++와 유사한 구문 요소를 가진 객체 기반 언어다.자바 클래스는 인터페이스를 통한 제한된 형태의 다중 상속을 지원하며, 자바 런타임 환경은 ScriptX와 유사한 "추적" 아키텍처로 가비지 수집기를 메모리 관리에 활용한다.Java와 ScriptX 모두 프로그램을 플랫폼 독립적인 바이트 코드로 변환한다.
ScriptX와는 달리 Java는 순수한 객체 시스템이 아니며 원시 데이터 유형을 가지고 있다.ScriptX 표현과 대조적으로, Java 프로그램은 항상 클래스 정의 안에 쓰여지고 값이나 공백을 반환한다.이것은 Java 코드를 훨씬 더 쉽게 보호하고, 변조 및 악의적인 간섭으로부터 보호할 수 있게 해준다.자바는 처음부터 멀티 프로세싱은 물론 멀티 스레드 애플리케이션까지 지원할 수 있어 자연스레 확장성이 뛰어났다.이러한 특징과 자바(Java)의 다른 속성은 ScriptX보다 분산 및 네트워킹 환경에 더 적합하게 만들었다.
ScriptX와 Java 모두 플랫폼 독립적인 가상 머신 환경으로 설계되었지만, 이들의 철학과 구현은 상당히 달랐다.칼리다 미디어 플레이어는 수 메가바이트의 실행이 필요한 복잡한 통역기였고, 칼리다는 16MB 이하의 랜덤 액세스 메모리를 가진 시스템에서 효과적인 성능을 결코 달성하지 못했다.이와는 대조적으로, 자바는 사실상 16비트 이상의 프로세서에서 구현될 수 있는 분리된 가상 시스템에서 컴파일된 바이트 코드를 실행하도록 설계되었다.이런 방식으로, 자바는 휴대용 기기나 가전제품에서 메인프레임 컴퓨터에 이르기까지 어디에서나 사용될 수 있다.
1995년에 자바는 웹 페이지에 내장되어 브라우저에서 실행되도록 다운로드 받을 수 있는 코드로서 작은 애플릿을 위한 런타임 환경으로서 대부분 증명되고 있었다.선 마이크로시스템스는 자바에 대한 상세한 사양을 제공하고, 오픈 소스로 많은 클래스를 출시하며, 공격적으로 제휴를 맺어 컴퓨터 하드웨어 및 소프트웨어 산업 전반에 걸쳐 다른 기업과 그 개발을 공유하고 있다.
참조
- ^ Lawrence Fisher (24 June 1992). "Apple-I.B.M. Venture Chief Is Named". New York Times.
- ^ a b Janice Maloney, "Universal Compatibility"를 도입하기 위한 멀티미디어 표준" 2016년 3월 4일, Wayback Machine, Digital Media, 1993년 7월
- ^ Jonathan Weber (27 September 1992). "Kaleida Labs, an Apple-IBM joint venture, is searching for ways to develop multimedia technologies". Los Angeles Times. Archived from the original on 6 March 2016.
- ^ Jonathan Weber (16 July 1993). "Kaleida's multimedia labs will be run by an IBM veteran amid reports of delays and high costs". Los Angeles Times. Archived from the original on 22 February 2017.
- ^ 랄프 킹, 1993년 7월 18일 월스트리트 저널 "연기 중에 최고 경영진을 옮긴 멀티미디어 칼리다"
- ^ a b Laurie Flynn (15 May 1994). "Sound Bytes; Maverick Remakes Kaleida". The New York Times.
- ^ 레이 발데스, 1994년 9월 1일 닥터 도브스 개발자 업데이트 "칼리다에서 무슨 일이니?"
- ^ "Kaleida Labs Ships ScriptS Multimedia Programs". New York Times. 20 December 1994.
- ^ a b c 스테판 소모기 "칼리다의 스크립트X: 늦었지만 시대를 앞서가고 있다." 디지털 미디어 관점, 1994년 12월 23일
- ^ "ScriptX 및 World Wide Web: 글로벌 링크, 로컬로 상호 작용"
- ^ a b Emerick, Donald; Round, Kimberlee. Exploring Web Marketing and Project Management. MIT Press. p. 558.
- ^ Julie Pitta (18 November 1995). "IBM, Apple Will Close Door on Kaleida Labs". Los Angeles Times. Archived from the original on 6 March 2016.
- ^ a b c d Ray Valdes, "스크립트X 소개", Dobb's Journal, 1994년 11월
- ^ 돈 홉킨스 "MaxScript로 심즈 캐릭터 애니메이션 파이프라인 자동화"
- ^ 돈 홉킨스 "트랙서비스: Kaleida Labs, ScriptX의 또 다른 이벤트 핸들러"
추가 읽기
- Kaleida Labs Inc. (1994년).Scriptx 아키텍처 가이드.애디슨 웨슬리ISBN 0-201-40729-9ScriptX 버전 1.0에 첨부된 문서.
- Kaleida Labs Inc. (1994년).ScriptX 코어 클래스 참조.애디슨 웨슬리ISBN 0-201-40730-2ScriptX 버전 1.0에 첨부된 문서.
- Kaleida Labs Inc. (1996년).ScriptX 아키텍처 및 구성요소 안내서.ScriptX 버전 1.5에 첨부된 문서.
- Kaleida Labs Inc. (1996년).ScriptX 코어 클래스 참조.ScriptX 버전 1.5에 첨부된 문서.
- Kaleida Labs Inc. (1996년).ScriptX 언어 참조.ScriptX 버전 1.5에 첨부된 문서.
- Kaleida Labs Inc. (1995년)ScriptX 기술 개요.
외부 링크
- ScriptX 개요 페이지
- 미국 특허 5,907,704 인터넷 액세스 가능 객체를 포함한 멀티미디어 저작 시스템에서 인스턴스화된 객체의 계층적 캡슐화(Patent는 현재 Quark, Inc.에 할당됨)
- 현재 칼리다에 할당된 특허 목록