مختبرات كاليدا

كانت شركة Kaleida Labs, Inc. شركة برمجيات أمريكية تأسست عام 1991 لإنتاج مشغل الوسائط المتعددة Kaleida Media Player متعدد المنصات ولغة البرمجة النصية ScriptX الموجهة للكائنات التي استُخدمت لبرمجة سلوكه. استهدف النظام إنتاج أقراص CD-ROM التفاعلية ، وهو مجال حظي باهتمام كبير في أوائل التسعينيات. عند طرح النظام عام 1994، كانت متطلبات النظام وحجم الذاكرة مرتفعين نسبيًا ، كما افتقر إلى إصدار أصلي يعمل على معالجات PowerPC في نظام Mac . في نفس الفترة تقريبًا، دفعت التغيرات السريعة في السوق، ولا سيما انتشار شبكة الإنترنت العالمية ولغة برمجة Java ، سوق الأقراص المدمجة التفاعلية إلى دور متخصص. فشلت منصة Kaleida في تحقيق انتشار واسع، وأُغلقت الشركة عام 1996.

كانت شركة Kaleida إحدى ثلاث مشاريع مشتركة بين شركتي Apple وIBM في تسعينيات القرن الماضي، وشملت نظام التشغيل Taligent وتحالف AIM مع Motorola لمنصة PowerPC. وكانت ScriptX إحدى منصات البرمجيات المماثلة التي انطلقت في Apple خلال تلك الفترة. كما استهدف نظام SK8 سوق الوسائط المتعددة، على الرغم من أنه تطور من ترقية رئيسية لبرنامج HyperCard . أما لغة البرمجة Dylan فكانت منصة أكثر شمولية، موجهة للبرمجة العامة وليس فقط للوسائط المتعددة. وانتهى تطوير جميع هذه المشاريع البرمجية في نفس الفترة تقريبًا.

تاريخ

تشكيل

أُعلن عن تأسيس الشركة عام ١٩٩١، وبدأت عملياتها صيف عام ١٩٩٢، وكان نات غولدهاير أول رئيس تنفيذي لها. [ ١ ] تم اختيار فريق العمل بعناية من أعضاء فريق كويك تايم في شركة آبل ، بالإضافة إلى أعضاء من قسم توصيل المحتوى في شركة آي بي إم. كانت مكاتب شركة كايليدا الرئيسية تقع في ماونتن فيو، كاليفورنيا، بالقرب من مدرج شورلاين على الجانب الشرقي من الطريق السريع ١٠١. وكانت كايليدا من أوائل الشركات التي أنشأت موقعًا إلكترونيًا خاصًا بها.

كان النموذج الأولي للنظام هو مشغل الوسائط Kaleida Media Player، أو KMP. وكان هذا في الأساس نسخة تفاعلية متعددة المنصات من مشغل QuickTime ، تعمل على أجهزة Apple Macintosh ، وأجهزة IBM PC المتوافقة، بالإضافة إلى أجهزة الاستقبال الرقمية وغيرها من المنصات. وكان الهدف منه أن يكون نظام وسائط متعددة عالميًا واحدًا. وفوق هذا النموذج، تم استخدام لغة البرمجة ScriptX ومكتبة الكائنات ، مما سمح للمطورين بجعل ملفات الوسائط تفاعلية بالكامل.

بحسب تصريحات أدلى بها غولدهاير في مؤتمر العالم الرقمي، فقد ذكر أن ScriptX سيتيح للمطورين توزيع أعمالهم على أي جهاز تقريبًا بمجرد "الضغط على زر على الشاشة واختيار 'حفظ باسم ScriptX'". [ 2 ] كانت التصريحات المبالغ فيها سمة مميزة، حيث صرّح غولدهاير لاحقًا بأن "لها بالفعل أهمية اجتماعية حقيقية". [ 3 ]

أدى أسلوب غولدهاير الباذخ، ورواتب الشركة الباهظة، وعدم إحراز تقدم ملموس، إلى ظهور تقارير سلبية في الصحافة. ​​وذكر أحد المديرين التنفيذيين أن "الشركة أنفقت حوالي 20 مليون دولار في عامها الأول، وأن شركتي آبل وآي بي إم مترددتان في مواصلة الإنفاق بهذا المعدل. وأضاف أن رواتب كاليدا مرتفعة، وأن عدد موظفي الشركة يفوق بكثير ما هو عليه في مرحلة تطورها الحالية". [ 4 ]

في أوائل عام 1993، نشب خلاف بين غولدهاير ومجلس الإدارة حول خيارات الأسهم وما إذا كان ينبغي طرح الشركة للاكتتاب العام. وفي 18 يوليو/تموز 1993، أعلنت الشركة استبدال غولدهاير في منصب الرئيس التنفيذي بمايك براون، الرئيس التنفيذي السابق لشركة آي بي إم. وذكرت الشركة أن غولدهاير سيبقى عضوًا في مجلس الإدارة في إطار جهود بناء شراكات في القطاع، لكنها عزت السبب الرئيسي لهذا التغيير إلى عدم إحراز تقدم في هذا الصدد، وإلى أسلوب غولدهاير الإداري غير التدخلي. [ 5 ] وفي ختام حديثه، قال غولدهاير مازحًا إن اختلاف الثقافات والمناورات السياسية في شركتي آي بي إم وآبل قد حكم على الشركة بالفشل منذ البداية.

إعادة التركيز والتحرر

بعد إقالة غولدهاير، ركزت الشركة جهودها على مجال محدد. وفي أبريل 1994، تم التخلي رسميًا عن خطط بناء نظام لأجهزة الاستقبال الرقمية. [ 6 ] ومنذ ذلك الحين، انصبّ تركيز شركة كاليدا على إكمال ودعم لغة سكريبت إكس ومكتبة كائنات الوسائط المتعددة، والتي كانت متأخرة جدًا في ذلك الوقت. وسعت كاليدا إلى دمج برنامج KMP كبرنامج نظام مع أجهزة الكمبيوتر الشخصية الجديدة. وفي الوقت نفسه، تمكن مطورو أقراص CD-ROM من شحن برنامج KMP مع محتوى لدعم أنظمة ويندوز وماكنتوش الحالية. وكجزء من هذا التوجه الجديد، تم تقليص حجم الشركة، حيث بلغت نسبة التسريح من الموظفين حوالي 20 إلى 25% من إجمالي القوى العاملة. [ 6 ] [ 7 ]

في أواخر عام 1993 وأوائل عام 1994، كان هدف الشركة هو تشغيل مشغل الوسائط Kaleida Media Player على منصة مرجعية تتكون إما من معالج  Motorola 68030 بسرعة 25 ميجاهرتز أو  معالج Intel 80486 بسرعة 25 ميجاهرتز، مع ذاكرة وصول عشوائي (RAM) سعتها 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، وهو تاريخ متأخر نسبيًا. [ 8 ] ومع ذلك، كانت المراجعات إيجابية بشكل عام، حيث وُصفت بأنها "رائعة لسهولة استخدامها" وأشارت إلى أن الفئات الأساسية "توفر مجموعة ميزات مشتركة عالية لتطوير البرامج باستخدام ScriptX". [ 9 ] إلا أن الأداء كان مشكلة أخرى تمامًا. فقد تطلب الإصدار 1.0 من KMP ذاكرة وصول عشوائي (RAM) بسعة 3.3 ميجابايت على نظام Windows و2.9 ميجابايت على نظام Mac، وكان هذا لتشغيل البرنامج الأساسي فقط، وليس للمحتوى الفعلي الذي يتم تشغيله عليه. [ 9 ] ولتوضيح ذلك، كان جهاز Mac متوسط ​​المدى في ذلك الوقت هو LC 475 الذي كان يأتي مزودًا بذاكرة وصول عشوائي (RAM) بسعة 4 ميجابايت فقط، والتي كان نظام التشغيل يستخدم منها جزءًا كبيرًا. علاوة على ذلك، لم يتم إصدار النظام بتنسيق PowerPC ، على الرغم من أن معالجات PowerPC كانت قد شكلت بالفعل الفئة العليا من أجهزة Mac لمدة ثمانية أشهر. [ 9 ]

السوق المتغير

تأسست شركة كاليدا جزئيًا كبيئة تأليف للتطبيقات القائمة على أقراص CD-ROM. لكن دورة حياة أقراص CD-ROM، التي رُوّج لها لسنوات كنظام لتوزيع المحتوى، كانت قصيرة بشكلٍ مفاجئ. وبحلول عام 1995، بات من الواضح أن شبكة الإنترنت العالمية ستوفر العديد من الأنظمة التفاعلية الخفيفة التي كانت تُوزع سابقًا على أقراص CD-ROM، وبينما لم تكن أنظمة الفيديو والأنظمة المشابهة ذات النطاق الترددي العالي مناسبةً للويب آنذاك، إلا أنها لم تكن بحاجة إلى بيئة التطوير أو التفاعلية التي توفرها شركة مثل كاليدا.

تأسست شركة كاليدا، إلى حد ما، لتقديم بديل لمنصة وينتل في سوق الأقراص المدمجة الذي بدا آنذاك سوقًا ناشئًا. وقد أشار غولدهاير إلى ذلك في مناسبات عديدة، واصفًا "الحرب" القادمة على الوسائط المتعددة. [ 2 ] بعد طرح نتسكيب للاكتتاب العام في أوائل عام 1995، أدرك العديد من مطوري البرامج أن المتصفح نفسه سيشكل تحديًا لنظام ويندوز، وأنه سيصبح منصة وسائط متعددة بحد ذاته. وهكذا، أصبحت المنصة المستقلة لمنافسة وينتل موجودة. عندها بدأت كاليدا جهودها لتقديم المحتوى عبر الإنترنت. [ 10 ]

كان معظم مطوري Kaleida المحتملين يتبنون نهج الترقب والانتظار تجاه النظام، منتظرين أن تحل Kaleida مشاكل الأداء وتُصدر نسخة أكثر استقرارًا من ScriptX. مع ذلك، لم تتمكن الشركة من إثبات قدرة النظام على العمل بكفاءة بأقل من 16 ميجابايت من ذاكرة الوصول العشوائي، والتي كانت آنذاك تُعتبر "الحد الأعلى" في السوق. استغل برنامج Director من Macromedia وبرنامج Lingo المرتبط به هذا الفراغ لتأسيس سوق قوية. [ 11 ] في الوقت نفسه، كانت Sun Microsystems تُروج للغة برمجة Java الجديدة كنظام مخصص للويب، مصمم خصيصًا للعمل حتى على أصغر المنصات.

إنهاء

بحلول أواخر عام ١٩٩٥، كان من الواضح أن برنامج ScriptX قد فقد زخمه في السوق، على الرغم من أن الشركة كانت على وشك إطلاق الإصدار ١.٥ منه. في نوفمبر من العام نفسه، أعلنت شركتا آبل وIBM إغلاق مختبرات Kaleida، اعتبارًا من يناير ١٩٩٦. [ ١٢ ] وأعلنت الشركتان الأم أنهما ستطرحان الإصدار ١.٥ من ScriptX على أي حال. وسينتقل تطوير ScriptX مستقبلًا إلى فريق داخل شركة آبل، وعرضت آبل وظائف على معظم أعضاء فريق هندسة ScriptX.

تم إصدار برنامج ScriptX الإصدار 1.5 بالتزامن تقريبًا مع إغلاق شركة Kaleida Labs في يناير 1996. [ 11 ] وبإصدار ScriptX، أوفت شركتا Apple وIBM بالتزاماتهما التعاقدية تجاه المطورين وتجنبتا المشاكل القانونية. في نهاية المطاف، لم يُصدر سوى مشروعين فقط من مشاريع محتوى الوسائط المتعددة باستخدام ScriptX 1.5. الأول كان نسخة CD-ROM من الموسوعة الوطنية السويدية، Nationalencyklopedin ، التي طورتها شركة Linné Data في غوتنبرغ، السويد. أما الثاني فكان مقطوعة موسيقية تفاعلية بعنوان " Crazy for Ragtime" للمؤلف الموسيقي روبرت وينتر .

بعد كاليدا

في غضون أشهر قليلة، تراجع تطوير ScriptX داخل شركة آبل، وانتقل الموظفون المتبقون إما إلى وظائف أخرى داخل الشركة، أو إلى شركات أخرى في نفس المجال. وظل تطبيق Director قوةً مؤثرة في سوق الوسائط المتعددة لفترة من الزمن، قبل أن يحل محله Flash . وتُعدّ الإصدارات الأولى من Flash، من نواحٍ عديدة، نسخةً طبق الأصل من ScriptX، إذ تستخدم بيئة تشغيل صغيرة تعتمد على الإضافات، ولغة برمجة قائمة على الأحداث، ومتطلبات موارد مماثلة.

وصف

سكريبت إكس

كان جون وينرايت ، عالم الحاسوب الأسترالي، كبير مهندسي البرمجيات في ScriptX . طُوّر ScriptX بلغة C، باستخدام مكتبة واسعة النطاق تُسمى Objects in C، كان وينرايت قد طوّرها قبل انضمامه إلى شركة Kaleida، وباعها للشركة عند تأسيسها. تستخدم Objects in C توجيهات المعالج المسبق لمحاكاة نظام كائنات داخل المكتبات. تضم المكتبة أكثر من 240 فئة، صُمّم العديد منها لدعم الوسائط المتعددة وإنشاء واجهات مستخدم مُخصصة. كما طُبّقت هياكل البيانات الشائعة، مثل المصفوفات والقوائم المرتبطة، كفئات تجميع في المكتبة.

ScriptX هي لغة برمجة نصية كائنية التوجه، تستخدم عناصر تصميم من لغات "Smalltalk وDylan وHypertalk وLisp وObject Logo وC++ وPascal". [ 13 ] تشترك ScriptX مع Smalltalk في مفهوم الفئات والكائنات والوراثة، ولكنها تتميز أيضًا بالوراثة المتعددة في كل من الفئات والكائنات، والربط الديناميكي للكائنات أثناء التشغيل. لا تحتوي ScriptX على أنواع بيانات أولية؛ حتى الأعداد الصحيحة تُعرَّف ككائنات. جميع الكائنات هي نسخ من فئة، والفئات هي نسخ من كائن MetaClass. كما هو الحال في LISP، لا توجد عبارات، وكل سطر في برنامج ScriptX هو تعبير يُرجع قيمة. [ 13 ]

يستخدم ScriptX آلية جمع البيانات المهملة التي تعمل في خيط معالجة منفصل لإدارة الذاكرة، ويحتوي على مخزن كائنات للمجموعات الدائمة. يدعم ScriptX تعدد خيوط المعالجة، ولكنه لا يدعم تعدد العمليات، ويوفر إمكانية التحكم البرمجي في ميزات نظام التشغيل منخفضة المستوى، مثل الأحداث وخيوط المعالجة المتزامنة. تفتقر أدوات تطوير الوسائط المتعددة المبكرة إلى تقنيات لمزامنة العروض التقديمية، باستثناء استطلاع ساعة نظام التشغيل نفسه. وقد أشار راي فالديس، في مقال له في مجلة دكتور دوبز ، إلى أن "إحدى الميزات الرئيسية في ScriptX هي فئة الساعة (Clock )، التي توفر إمكانيات لمزامنة التسلسلات الزمنية للإجراءات التي تتطلبها تطبيقات الوسائط المتعددة". [ 13 ]

بعد إغلاق شركة Kaleida Labs، أصبح واينرايت كبير مهندسي MaxScript، وهي لغة برمجة نصية لبرنامج 3D Studio Max ، والتي استُخدمت لمعالجة المحتوى الخاص بالألعاب والتطبيقات ثلاثية الأبعاد مثل برامج Maxis Sims. [ 14 ] وهي تشبه إلى حد كبير لغة ScriptX.

مثال

يوضح الكود التالي البنية الفريدة للغة ScriptX. وهو جزء من فئة تتولى تتبع حركة مؤشر الفأرة في برنامج أكبر كتبه دون هوبكنز . [ 15 ] ترسل الدالة sendTrackDrop رسالة trackDrop إلى كائن آخر.

دالة إرسال مسار الإسقاط الذاتي {فئة Tracker} خدمة الهدف xy بيانات doit -> ( الإحداثيات المحلية := نقطة جديدة كرر طالما (صحيح) افعل ( إذا كان (canObjectDo target trackDrop) ثم ( return (trackDrop target service xy data doit) ) آخر ( coords.x := x coords.y := y local t := findFirstAtPoint target coords إذا كانت قيمة t فارغة، فقم بإرجاع خطأ. x := x - tx y := y - ty الهدف := t ) ) )

هذا الكود مسؤول عن إعادة توجيه رسائل trackDrop بين الكائنات، ويُظهر عددًا من الميزات غير الشائعة في لغة ScriptX. ومن الجدير بالذكر :=عامل التعيين، على غرار عامل التعيين في لغة باسكال.

تُحدد المتغيرات localلتحديد نطاقها . [ 13 ] وهذا عكس معظم اللغات الحديثة، حيث يكون النطاق الافتراضي هو "المحلي"، وبالتالي فإن مثل هذا التصريح سيكون زائداً. في اللغات التقليدية، يُحدد نطاق الرؤية بموقع المتغير في ملف الشيفرة المصدرية - فالمتغيرات المُعلنة داخل دالة ما تكون محلية لتلك الدالة، أما تلك المُعرّفة خارج الدوال أو التصريحات الأخرى فتكون عامة للفئة (أو البرنامج).

يُعدّ غياب تحديد النطاق القائم على الملفات سمةً أساسيةً في لغة ScriptX وغيرها من اللغات المشابهة، ولا سيما Dylan . في اللغات التقليدية مثل Java ، تُعرَّف الأصناف والبنى المشابهة ضمن ملف واحد، أو على الأقل "ملف رئيسي". ويُحدَّد النطاق من خلال نظام الملفات وموقع الكود داخله. في المقابل، في ScriptX، يُمكن تعريف أي دالة على أي صنف في أي ملف. في هذا المثال، sendTrackDropتُطبَّق الدالة على Trackerالصنف، ويمكن وضعها ضمن أي ملف سيتم الوصول إليه أثناء التشغيل. يُتيح هذا للمبرمجين تنظيم كودهم حسب الصنف أو الوظيفة، على حساب بعض التعقيدات في بناء الجملة.

مراجع

  1. لورانس فيشر (24 يونيو 1992). "تعيين رئيس مشروع أبل-آي بي إم" . نيويورك تايمز .
  2. 1 2 جانيس مالوني، "معيار الوسائط المتعددة لتحقيق "التوافق العالمي" مؤرشف في 4 مارس 2016، في آلة Wayback ، الوسائط الرقمية ، يوليو 1993
  3. جوناثان ويبر (27 سبتمبر 1992). "شركة كاليدا لابز، وهي مشروع مشترك بين آبل وآي بي إم، تبحث عن طرق لتطوير تقنيات الوسائط المتعددة" . صحيفة لوس أنجلوس تايمز . مؤرشف من الأصل في 6 مارس 2016.
  4. جوناثان ويبر (16 يوليو 1993). "ستُدار مختبرات الوسائط المتعددة لشركة كاليدا من قِبل أحد المخضرمين في شركة آي بي إم وسط تقارير عن تأخيرات وتكاليف باهظة" . صحيفة لوس أنجلوس تايمز . مؤرشف من الأصل في 22 فبراير 2017.
  5. رالف كينغ، "شركة كاليدا للوسائط المتعددة تُجري تغييرات في كبار مسؤوليها التنفيذيين وسط تأخيرات" ، صحيفة وول ستريت جورنال ، 18 يوليو 1993
  6. 1 2 لوري فلين (15 مايو 1994). "مقاطع صوتية؛ مافريك يعيد إنتاج كاليدا" . صحيفة نيويورك تايمز .
  7. راي فالديس، "ما الجديد في كايليدا؟" ، تحديث مطوري دكتور دوبس ، 1 سبتمبر 1994
  8. "شركة Kaleida Labs تشحن برامج الوسائط المتعددة ScriptS" . صحيفة نيويورك تايمز . 20 ديسمبر 1994.
  9. 1 2 3 ستيفان سوموجي، "برنامج سكريبت إكس من كاليدا: إنه متأخر ولكنه سابق لعصره" ، منظور الإعلام الرقمي ، 23 ديسمبر 1994
  10. "ScriptX والشبكة العنكبوتية العالمية: تواصل عالميًا، وتفاعل محليًا"
  11. 1 2 إيمريك، دونالد؛ راوند، كيمبرلي (2000). استكشاف التسويق الإلكتروني وإدارة المشاريع . مطبعة معهد ماساتشوستس للتكنولوجيا. ص 558. ISBN  9780130163967.
  12. جولي بيتا (18 نوفمبر 1995). "آي بي إم وآبل ستغلقان الباب أمام مختبرات كايليدا" . صحيفة لوس أنجلوس تايمز . مؤرشف من الأصل في 6 مارس 2016.
  13. 1 2 3 4 راي فالديس، "تقديم ScriptX" ، مجلة دكتور دوب ، نوفمبر 1994
  14. دون هوبكنز، "أتمتة مسار تحريك شخصيات لعبة The Sims باستخدام MaxScript"
  15. دون هوبكنز، "TrackService: معالج أحداث آخر لـ ScriptX" ، مختبرات كاليدا

للمزيد من القراءة

  • شركة Kaleida Labs Inc. (1994). دليل هندسة Scriptx . دار نشر Addison Wesley . رقم ISBN 0-201-40729-9. الوثائق المصاحبة لبرنامج ScriptX الإصدار 1.0.
  • شركة Kaleida Labs Inc. (1994). مرجع فئات ScriptX الأساسية . Addison Wesley . ISBN 0-201-40730-2. الوثائق المصاحبة لبرنامج ScriptX الإصدار 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 .