"لارس كنيديسن" هو خبير مطوّر في Google، وقد تحدّثنا معه عن كيفية تسهيل استخدام أجهزة الكمبيوتر للأشخاص الذين يعانون من عجز من خلال جهاز بقيمة 10 دولار أمريكي.

مونيكا: ما الذي ألهمك ليصبحي مطوّرًا؟ ما هو مجال عملك الحالي؟
لارس: حصلت على درجة الماجستير في الهندسة، ولكن في الواقع بدأ اهتمامي بالتكنولوجيا في وقت أبكر بكثير. عندما كنت طفلاً في الثمانينيات، كان والدي يملك شركة تكنولوجيا تعمل في مجال التصميم الجرافيكي. في بعض الأحيان، خاصةً خلال عطلات الصيف، كان يأخذني معه إلى العمل. وكان بعض موظفيه يراقبونني أحيانًا. كان هناك رجل ذكي جدًا قال لي ذات مرة: "لارس، أحتاج إلى إنجاز بعض الأعمال، ولكن إليك دليل C، وهناك جهاز كمبيوتر هناك. في ما يلي كيفية بدء استخدام مترجم C. إذا كان لديك أي أسئلة، يُرجى طرحها عليّ". بدأت بكتابة نصوص قصيرة تم ترجمتها إلى لغة يمكن للكمبيوتر فهمها. لقد كان الأمر سحريًا بالنسبة إليّ. كان عمري 11 عامًا عندما بدأت، وفي الصف السابع تقريبًا، تمكّنت من إنشاء تطبيقات صغيرة لزملائي في الصف أو لاستخدامها في المدرسة. هكذا بدأت الأمور.
على مدار السنوات، عملت في العديد من الشركات، بما في ذلك Nokia وMaersk وOpenwave. في البداية، كما هو الحال في العديد من المهن الأخرى، تشعر أنّه بإمكانك فعل كلّ شيء لأنّك تعرف القليل من المعلومات، ولكن مع الوقت، ستتعرّف على أنّ لكلّ شركة طريقة معيّنة لتنفيذ المهام.
بعد بضع سنوات من العمل في شركة طبية، بدأت نشاطي التجاري الخاص في عام 1999. عملتُ كمتعاقد مستقل، وبفضل ذلك، أتيحت لي الفرصة للتعرّف على مؤسسات متعدّدة بسرعة. بعد إكمال العقود الخمسة الأولى، تبيّن لي أنّ كل شركة تعتقد أنّها عثرت على الإعداد المثالي، ولكنّ كلّها مختلفة تمامًا. وفي ذلك الوقت، تعرّفتُ أيضًا على الكثير من التكنولوجيات وأنظمة التشغيل المختلفة وما إلى ذلك. وفي أوائل العشرينات من عمري، تغيّر تفكيري. في البداية، كنت أركز بشكلٍ صارم على تكنولوجيا واحدة وأريد معرفة كل شيء عنها. ومع مرور الوقت، بدأت أفكر في دمج التكنولوجيات كطريقة لتحسين حياتنا. يهمّني بشكل خاص تضييق الفجوة بين ما نسميه الفريق "أ" والفريق "ب" في العالم. أحاول نقل أكبر قدر ممكن من المعرفة إلى المناطق التي لا يملك فيها الناس رفاهية امتلاك جهاز كمبيوتر أو الدراسة في الجامعة مجانًا.
أواصل العمل كمتعاقد مع شركاء خارجيين، ولكن أحاول اختيار المشاريع التي لها تأثير إيجابي على البيئة أو المجتمع كلما أمكن ذلك. أعمل حاليًا على تطوير برامج مضمّنة لشركة Oticon لأجهزة السمع. من ناحية البرامج، عملتُ على كل شيء بدءًا من أصغر وحدات التحكّم الدقيقة وصولاً إلى السحابة الإلكترونية، ويدور الكثير من عملي حول الويب. أحاول الجمع بين التقنيات كلما كان ذلك منطقيًا.
Monika: هل كنت مشاركًا في منتديات المطوّرين قبل الانضمام إلى برنامج "خبراء Google Developers"؟
لارس: نعم، كنت أشارك في اللقاءات والمؤتمرات. لقد تواصلت مع المنتدى لأول مرة أثناء عملي في شركة Nokia. في عام 2010 تقريبًا، التقيت بكينيث رودي كريستيانسن، الذي أصبح من كبار خبراء التطوير في Google قبلي. وقد ألهمني هذا الحدث لفهم مدى أهمية تكنولوجيات الويب لخبراء التكنولوجيا الطموحين في البلدان النامية. يتطلّب تطوير الحلول ونشرها باستخدام C++ أو C# أو Java بعض سنوات الخبرة، ولكن يمكن لأي شخص لديه إمكانية الوصول إلى جهاز كمبيوتر ومتصفّح ومذكرة ملاحظات بدء تطوير تطبيقات مستندة إلى الويب والتعلّم بسرعة كبيرة. من الممكن إنشاء تطبيق يعمل بكامل وظائفه باستخدام موارد محدودة، وتطويره من الصفر. لهذا السبب، أُطلق على الويب اسم مجموعة تكنولوجيات توفّر فرصًا متكافئة للجميع.
لنعود إلى المنتدى. بعد فترة، أصبحت مهتمًا بمواصفات الويب والمشاكل التي يمكن أن تحلّها أحدث تقنيات الويب. لقد جرّبت إمكانات جديدة في متصفّح قبل الإصدار. كنت أعمل في شركة Nokia في ذلك الوقت، وأطوّر جهازًا رائدًا يعمل بنظام التشغيل Linux، وهو هاتف N9. كان المتصفّح الذي أنشأناه مستندًا إلى WebKit، وحصلنا على بعض الخبرة الرائعة في تطوير ميزات لمشروع كبير مفتوح المصدر. في السنوات التي تلت مغادرتي شركة Nokia، شاركت في مؤتمرات الويب والاجتماعات، لذا كان من المنطقي الانضمام إلى منتدى GDE في عام 2017.
أُسرّ حقًا بالعمل مع المنتدى وكل ما نقوم به معًا، خاصةً "قمة مطوّري Chrome" التي كانت تُعقد قبل جائحة كورونا، حيث ساعدت في العمل في جناح Google إلى جانب مجموعة من المهندسين الرائعين في Google ومطوّري Google Developers Experts الآخرين.
مونيكا: ما هي النصيحة التي يمكنك تقديمها لمطوّر شاب بدأ للتو مسيرته المهنية ولا يعرف المسار الذي يجب اتّباعه؟
Lars: بناءً على تجربتي الشخصية، أنصحك بالعمل الحر لبعض الشركات المختلفة إذا كان بإمكانك تحمل تكاليف ذلك. بهذه الطريقة، ستتعرّف على الرموز البرمجية بأشكال مختلفة وفي مراحل مختلفة من التطوير. ستتعرّف على العديد من أنظمة التشغيل واللغات، وستتعلم كيفية حلّ المشاكل بطرق متعدّدة. وقد ساعدني ذلك كثيرًا في اكتساب خبرة كمطوّر بارز في العشرينات من عمري. سيساعدك هذا النهج في تحقيق أهدافك المهنية بشكل أسرع.
بالإضافة إلى ذلك، يمكنك الاستمتاع واللعب بالأجهزة والبرامج. ننصحك بإنشاء تطبيق يحلّ مشكلة حقيقية، ربما لأصدقائك أو عائلتك أو نشاط تجاري محلي. لا تخف من تجربة أشياء جديدة.
مونيكا: ما الذي يحمله المستقبل لتكنولوجيات الويب؟
لارس: أعتقد أنّ الويب أصبح قادرًا تمامًا على توفير منصة لتطبيقات المجال الكبيرة، سواء للمستهلكين أو الأنشطة التجارية، منذ بضع سنوات. من جهة الخادم، توفّر تكنولوجيات الويب تجربة سلسة، خاصةً لمطوّري الواجهات الأمامية الذين يريدون إنشاء مكوّن للخلفية. أصبح من الأسهل الآن بدء استخدامها. أعرف أشخاصًا كانوا يستخدمون كلّ من Firebase وHeroku لتنفيذ المهام. وسيزداد هذا الاتجاه، وستكون تكنولوجيات الويب كافية لإنشاء حلول معقّدة من أي نوع. أعتقد أنّ إمكانات الويب - Project Fugu 🐡 توفّر هذا الإمكان.
من وجهة نظر مختلفة قليلاً، أعتقد أيضًا أنّه إذا قدّمنا مستندات كاملة ومقالات مفصّلة ليس باللغة الإنجليزية فقط بل بلغات أخرى أيضًا (مثل الإسبانية والبرتغالية)، يمكننا الاستفادة من الكثير من الفرص في أمريكا اللاتينية ومناطق أخرى بالطبع. غالبًا ما لا يجيد المطوّرون هناك اللغة الإنجليزية بشكل كافٍ لفهم جميع المقالات ذات الصلة بشكل كامل. علينا أيضًا منحهم فرصة التعلّم في أقرب وقت ممكن، حتى قبل بدء الدراسة الجامعية، عندما لا يزالون في مسقط رأسهم. وقد يستخدمون هذه المهارات لمساعدة المجتمعات والأنشطة التجارية المحلية قبل مغادرة الوطن، وقد لا يعودون إليه أبدًا.
توماس: لقد قطعت شوطًا طويلاً من تطوير لغة C على كمبيوتر عشوائي إلى اختراق الأجهزة. كيف تمكّنت من تنفيذ ذلك؟
لارس: بدأت بتفكيك الكثير من الأجهزة التي كانت لديّ في المنزل. لم يكن والدي سعيدًا دائمًا عندما لم أتمكّن من إعادة تجميعها. وبمرور الوقت، تعلمت كيفية إنشاء بعض الأجهزة الصغيرة، ولكنّني حققت نجاحًا كبيرًا بعد ذلك بكثير، في الوقت الذي انضممت فيه إلى شركة Nokia، حيث حصلت على خبرتي في مجال البرامج المضمّنة. لقد أتيحت لي فرصة إنشاء شاشات توقف صغيرة ومكونات لهواتف Series 30. لقد كان هذا الموضوع شغفي، وكنت أفكر خارج الصندوق. تم تكليفي بإنشاء لعبة Snake لهذين الجهازَين. لقد كانت تجربة مثيرة للاهتمام. يكمن الاختلاف الرئيسي بين إنشاء الأنظمة المضمّنة ومعظم الأشياء الأخرى (بما في ذلك الويب) في أنّك تترك مساحة صغيرة، فليس لديك مساحة أو ذاكرة كبيرة لاستخدامها. أثناء إنشاء لعبة Snake، كانت ذاكرة الوصول العشوائي المتوفّرة لديّ أقل من ثلث مساحة التخزين المؤقت للإطارات (حوالي 120 × 120 بكسل). كان عليّ ابتكار طرق لإعادة دمج المكوّنات على الشاشة بطريقة آلية لكي تبدو ثابتة، كما لو كانت مربّعات. لقد تعلّمت الكثير، فقد كان ذلك هو الانتقال من الأنظمة الأكبر إلى الحلول الصغيرة المضمّنة.
توماس: تختلف مجموعة مهارات مطوّر الواجهة الأمامية المعتاد عن مجموعة مهارات الشخص الذي ينشئ الأجهزة المضمّنة. كيف يمكنك تشجيع مطوّر الواجهة الأمامية على النظر في الأجهزة والبدء في التفكير في النظام الثنائي؟
لارس: أعتقد أنّ الخطوة الأولى هي الاطّلاع على بعض واجهات برمجة تطبيقات Fugu التي تعمل في Chrome وEdge، والتي تم دمجها في جميع الأنظمة الرئيسية اليوم. هذا كل ما تحتاج إليه في البداية.
هناك عامل آخر وهو أنّ سلاسل أدوات إنشاء الحلول المضمّنة تتطلّب فترة تعلُّم طويلة. إذا أردت إنشاء جهاز مخصّص، ابدأ باستخدام Arduino أو ESP32، فهما جهازان سهلان الشراء ورخيصان نسبيًا. باستخدام بيئة التطوير المناسبة، يمكنك إعداد مشروعك وتشغيله في وقت قصير.
يمكنك أيضًا شراء جهاز لمراقبة معدل ضربات القلب أو وحدة متعددة الحساسات تستخدم حاليًا خدمات Bluetooth GATT، وبالتالي لن يكون عليك إنشاء الأجهزة أو البرامج الثابتة الخاصة بك، بل يمكنك استخدام ما هو متوفّر حاليًا والبدء في تجربة Web Bluetooth API لبدء التواصل معه.
هناك أيضًا أجهزة تستخدم بروتوكول تسلسليًا، ويمكنك استخدام Web Serial API (يُعرف أيضًا باسم Fugu) لهذه الأجهزة. لقد كنت أبحث مؤخرًا عن استخدام WebHID API، وهي واجهة برمجة تطبيقات تتيح لك التفاعل مع جميع أجهزة واجهة المستخدم التي يمكن للجميع الوصول إليها. لقد عثرت على بعض الأجهزة القديمة في قبوي والتي لم تكن متوافقة مع أي نظام تشغيل منذ سنوات، ولكن بفضل هندسة التكنولوجيا العكسية، استغرقت إعادة تفعيلها بضع ساعات.
هناك أساليب مختلفة حسب ما تريد إنشاؤه، ولكن بالنسبة إلى مطوّر الويب، أنصحه بشراء وحدة استشعار صلبة، مثل Thingy 52 من Nordic Semiconductor، فهي تحتوي على الكثير من أجهزة الاستشعار، ويمكنك ربطها بتطبيق الويب الخاص بك بقليل من الجهد.
توماس: الاتصال بالجهاز هو الخطوة الأولى، ولكن التحدّث إليه بفعالية هو أمر آخر. كيف لم تستسلم بعد مواجهة العقبات؟ ما الذي ساعدك في مواصلة العمل؟
لارس: بالنسبة إليّ شخصيًا، كان الجانب الاجتماعي لحلّ المشكلة هو الأهم. عندما بدأت العمل على مشاريعي المضمّنة، كانت لديّ رؤية ورغبة في إنشاء مختبر علمي في علبة للمناطق النامية. زوجتي من المكسيك ورأيت بعض المدارس هناك، وبعضها خارج المدن الكبرى متهالكة جدًا، ولا تتوفّر فيها المواد والمعدّات التي نحصل عليها في منطقتنا من العالم.
شغفي بإنشاء شيء يمكن استخدامه لمساعدة الآخرين هو ما دفعني إلى مواصلة العمل. لقد استمتعت أيضًا بدعم المنتدى. لقد تواصلت مع بعض موظفي Google وكانوا جميعًا متعاونين للغاية وأجابوا عن جميع أسئلتي بصبر.
توماس: يمتلك الكثير من الأشخاص أجهزة في المنزل، ولكن لا يعرفون كيفية استخدامها. كيف تحصل على أفكار لمشاريعك الرائعة، خاصةً المشروع الذي يحمل الاسم العملي SimpleMouse؟
لارس: لقد كنت أستعيد مؤخرًا الكثير من الأجهزة القديمة، ولكن بالنسبة إلى هذا المشروع تحديدًا، لم يتم تحديد الاسم بعد، ولكن لنسمّيه SimpleMouse، لقد استفدت من خبرتي. لقد عملتُ سابقًا مع بعض حلول تسهيل الاستخدام، وتبيّن لي أنّ بعض هذه الحلول لم تعُد تعمل، ويجب أن يكون لديك نظام التشغيل Windows XP القديم مع تثبيت برامج معيّنة لتشغيلها. لا يمكنك تعديل هذه الإعدادات، ويمكنك استخدامها فقط في المنزل لأنّه لا يمكنك نقل الإعداد.
لهذا السبب، تساءلت عن كيفية الجمع بين مهاراتي في مجال الأجهزة المضمّنة ومشروع Fugu وما يمكن فعله الآن على الويب لإنشاء أجهزة رخيصة وسهلة الاستخدام مع برامج سهلة الفهم من كلا الجانبين، حتى يتمكّن المستخدمون من الاستفادة من ذلك.
بالنسبة إلى هذا المشروع تحديدًا، استخدمتُ وحدة USB صغيرة تتضمّن شريحة تفاعلية، وهي nRF52840. يتصل الجهاز بالبلوتوث من جهة وبالمنفذ USB من جهة أخرى. يمكنك برمجته بشكل أساسي ليكون أي شيء على كلا الجانبين. ثم فكرت في الأجهزة التي تتحكّم في الكمبيوتر، وهي الماوس ولوحة المفاتيح. قد يجد بعض الأشخاص الذين يعانون من عجز صعوبة في تشغيل هذه الأجهزة، وأردت مساعدتهم.
أوّل ما فعلته هو التأكّد من أنّ أي نظام تشغيل سيعرِض وحدة التحكم USB على أنّها فأرة. ويمكنك التحكّم فيها من تطبيق أصلي أو تطبيق ويب، مباشرةً في البلوتوث. بعد ذلك، أنشأتُ تطبيق ويب، وهو نموذج بسيط يمكن للمستخدمين توسيعه بالطريقة التي يريدونها باستخدام مكوّنات الويب. وبفضل ذلك، يمكن للجميع التحكّم في أجهزة الكمبيوتر باستخدام تطبيق ويب أنشأته في بضع ساعات فقط على هاتف Android.
سيتيح هذا الإعداد لأي شخص في العالم لديه بعض الخبرة في الويب إنشاء حل مخصّص للغاية في غضون أيام لأي شخص لديه عجز ويريد التحكّم في جهاز الكمبيوتر. والميزة الرائعة هي أنّه يمكنك أخذه معك أينما ذهبت واستخدامه مع أجهزة أخرى أيضًا. ستكون التجربة نفسها تمامًا. بالنسبة إليّ، فإنّ سهولة حمل الجهاز وانخفاض سعره مهمّان جدًا لأنّ المستخدمين لم يعودوا يقتصرون على استخدام أجهزتهم الخاصة، ولم يعودوا محصورين بموقع جغرافي واحد.
توماس: هل أتيحت لك فرصة اختبار الجهاز في الواقع؟
لارس: لقد ناقشت هذه المشكلة مع أحد خبراء الويب المقيمين في المكسيك خلال رحلتي الأخيرة إلى هناك، وهو ينظر الآن في إمكانيات استخدام الجهاز محليًا. تكون المعدات باهظة الثمن هناك، ولكن تبلغ تكلفة جهاز USB عادةً حوالي عشرة دولار أمريكي. يتحقّق الفريق الآن مما إذا كان بإمكاننا إنشاء إعدادات محلية هناك لتجربتها. لم أجرِ تجارب رسمية بعد هنا في الدنمارك.
توماس: إنّ العديد من الأجهزة المصمّمة لمساعدة الأشخاص من ذوي الاحتياجات الخاصة باهظة الثمن. هل تخطّط للتعاون مع أي شركة معيّنة وطرحها في السوق بجزء بسيط من سعر هذه المعدات الباهظة؟
لارس: نعم، بالتأكيد. لقد تواصلتُ مع شركة محلية لتصنيع الأجهزة بشأن ذلك. بالطبع، لن يحلّ الجهاز محلّ كل هذه الحلول المتخصّصة للغاية، ولكن يمكن أن يكون الخطوة الأولى لإنشاء ميزة أكبر، مثل استخدام ميزة التعرّف على الصوت، وهي ميزة متاحة حاليًا لتكنولوجيات الويب. ستكون هذه الطريقة سهلة للتحكّم في الأجهزة باستخدام هاتف Android، ويمكن أن تعمل مع أي نوع من الأجهزة.
إنّ إمكانية إنشاء ما تريد على الويب واستخدامه للتحكّم في أي كمبيوتر مضيف يفتح الكثير من الاحتمالات.
توماس: هل سيتم إصدار مشروع Zephyr كمشروع مفتوح المصدر؟ ما هو نوع الترخيص الذي تستخدمه؟ هل هناك خطط لتحقيق الربح من المشروع؟
لارس: نعم، الحلّ مفتوح المصدر. لم أضع ترخيصًا محدّدًا عليه، ولكن أعتقد أنّ ترخيص Apache 2.0 هو الخيار الأمثل. تستخدم العديد من الشركات الكبرى هذا الترخيص، بما في ذلك Google. عندما عملت على تطبيق SimpleMouse، لم أفكر في تحقيق الربح من المشروع، لأنّ هذا لم يكن هدفي. ولكن أعتقد أيضًا أنّه من المنطقي محاولة طرحه بطريقة ما، وهذا يتطلّب تكاليف. والهدف النهائي هو إتاحة هذه الميزة. أودّ أن أرى تنفيذه بتكلفة منخفضة وعلى نطاق واسع.