← العودة إلى المدونة

من قطعة خشب إلى App Store

منذ نحو عشرين عامًا، أخرجت أنا وزميلي في السكن قطعةً من الخشب من حاوية نفايات، رسمنا عليها شبكةً بالمسطرة، واشترينا حجارةً زجاجيةً من متجر الحِرف اليدوية بثلاثة جنيهات إسترلينية، وبدأنا نلعب الغو. لم أكن أعرف ما أفعله. ولا أزال، في الحقيقة. لكن شيئًا في هذه اللعبة أسرني فورًا — تلك الطريقة التي يبدو بها شيءٌ بسيط إلى حد ما، غامضًا إلى حد لا يمكن تصوّره. شبكة 19×19. حجارة سوداء وبيضاء. قواعد تتعلمها في خمس دقائق. ومع ذلك، في تلك الحقبة، لم يكن بمقدور أقوى حاسوب في العالم هزيمة لاعب بشري محترف. هذا ما أبهرني.

هواجس مبكّرة

كان هذا الإبهار عميقًا بما يكفي لأن يكون مشروع سنتي الأخيرة في جامعة كينغستون في مجال الرؤية الحاسوبية — إذ برمجتُ بنفسي خوارزميةً لقراءة حالة رقعة الغو من صورة فوتوغرافية، محققًا دقةً تزيد على 87٪. لأوائل الألفينيات، قبل الانفجار الهائل للتعلم العميق، كنت أشعر بفخر هادئ حيال ذلك.

في الوقت ذاته، زرت اليابان لأسبوعين تحديدًا لتجربة ثقافة الغو عن كثب واللعب ضد لاعبين محليين. خسرت كل مباراة خضتها. لا تزال إحدى تلك المباريات راسخةً في ذاكرتي: شابٌّ يبدو في مستوى الدان، خجولٌ جدًا، بأظافر طويلة لافتة للنظر، يرافقه والده. أُبيدت تمامًا قبل أن أدرك ما حدث — استغرق مني وقتًا طويلًا لألاحظ أنني بحاجة إلى الاستسلام.

كانت كل صالة للغو التي زرتها تعجّ بدخان السجائر لدرجة جعلت اللعب دون هواء نقي شبه مستحيل — وأنا نفسي مدخّن. كان اللاععبون في معظمهم من كبار السن. بدا الغو هوايةً لمن بلغوا سنوات العمر الذهبية، وهو ما حيّرني مع ما تشتهر به اليابان من تقنية وابتكار. لم يبدُ أن أحدًا يربط الغو بالحوسبة. ليس بعد على أي حال.

الفجوة الطويلة

مضت الحياة. عملت مطوّر Java، وأمضيت عامًا في Accenture إبّان دراستي الجامعية — تساقط فيه شعري بالكامل من فرط الضغط — ثم وجدت نفسي عاطلًا لفترة مطوّلة في أعقاب صعوبات صحية. باتت مهاراتي في Java أقل أهميةً كلما تقدّمت الصناعة بمعزل عني. حاولت اللحاق بها، غير أن الهوّة اتسعت أكثر مما ينبغي — واكتشفت أن الأجور في ذلك القطاع قد انخفضت فعلًا. لم يكن الأمر يستحق العناء.

طوال تلك المدة، واظبت على لعب الغو. ليس بجدية — كنت أتردد على نادي Exeter للغو بصفة متقطعة منذ نحو خمسة عشر عامًا، وأنا لاعب متوسط في أحسن الأحوال. لكن اللعبة لم تفارقني قط.

انتظام الأمور دفعةً واحدة

ثم، في فترة قصيرة بشكل لافت، حدثت عدة أشياء في آنٍ واحد.

ضرب الإغلاق الوبائي لكوفيد. كنت أشعر بالضيق الشديد دون شيء أفعله، لكنني كنت محظوظًا بامتلاكي ثلاثة أجهزة Apple — هدايا من عائلتي وشريكتي. شاهدت الوثائقي عن AlphaGo فأصابني إثارةٌ عميقة. ما أبهرني في الجامعة — استحالة أن تتقن آلةٌ لعبة الغو — قد حُلّ. وكانت ثورة الذكاء الاصطناعي التي أشعلها قد بدأت للتو. جاء ChatGPT. ثم Claude. ثم أعلنت Apple عن Vision Pro.

بدأت أتعامل مع KataGo ولاحظت أنه يفتقر إلى واجهة متكاملة في App Store®. نظرت إلى تطبيقات الغو المتاحة لـ iPhone® وiPad فوجدتها... مقبولة. وظيفية. لكن لم يكن في أي منها أي ميزات للوصول الشامل. لم يُعلن تطبيق غو واحد في App Store بأسره عن دعمه لـ VoiceOver أو Voice Control أو Dynamic Type أو أيٍّ من معايير Apple للوصول الشامل. ولا تطبيق واحد.

للعبة يمارسها ضعاف البصر والمكفوفون منذ عقود — باستخدام رقعات لمسية ذات خطوط بارزة في اليابان ولدى الاتحاد الفرنسي للغو وفي كوريا — كان الغياب التام لأي نسخة رقمية شاملة فجوةً لا ينبغي أن توجد. كان لاعبو الغو المكفوفون محرومين كليًا من منظومة التطبيقات.

تضافر كل شيء وانتظم دفعةً واحدة. سأتعلم تطوير iOS من الصفر، مستعينًا بأدوات الذكاء الاصطناعي لتسريع التعلم، وسأبني تطبيق غو يمكن للجميع لعبه — مبصرين وغير مبصرين على حد سواء.

الانطلاق من الصفر

في الأول من يوليو 2024، أنشأت مشروع Xcode فارغًا أسميته «RenderedGoApp» — وليس اسمًا ملهِمًا بأي حال. لم أكن أعرف شيئًا عن Swift أو SwiftUI أو RealityKit أو أي من تقنيات تطوير Apple. تعلّمت كل شيء من خلال الوثائق الرسمية لـ Apple وجلسات WWDC المجانية، دون تدريب رسمي أو معسكرات تطوير أو فعاليات للمطورين.

بعد أسبوعين، في السابع عشر من يوليو، أعدت تسمية المشروع «Goban3D». الـ Goban هو الاسم الياباني التقليدي للرقعة الخشبية السميكة ذات الأرجل التي تُلعب عليها الغو. شعرت أن الاسم مناسب — فهو يتوافق مع معايير Apple للتسمية ويقول بالضبط ما التطبيق.

تلقيت دعمًا لعسر القراءة منذ المدرسة الابتدائية وحتى الكلية. أعرف كيف يبدو الحال حين لا تُبنى الأدوات مراعيةً لك. لذا منذ السطر الأول من الكود، لم يكن الوصول الشامل فكرةً لاحقة — بل كان السبب الذي وُجد من أجله المشروع.

كارثة SceneKit

جاءت إحدى أصعب اللحظات حين أوقفت Apple دعم SceneKit — إطار العمل ثلاثي الأبعاد الذي بنيت فيه مشهد الرقعة بالكامل. كنت قد أتقنته. كان المشهد يضم فراشةً ترفرف، وعشبًا يتمايل، وإضاءةً مبنيةً على المحاكاة الفيزيائية. كان يعمل بصورة رائعة مع أدنى استهلاك للمعالج. ثم أعلنت Apple أنه سيُستبدل بـ RealityKit.

اشتعل غضبي. لكن مع الالتزام بشحن شيء في طليعة التقنية، وعدم التسامح مطلقًا مع الديون التقنية، علمت أن كل سطر من SceneKit يجب اقتلاعه واستبداله. لم تنجُ الفراشة. RealityKit هو النجم الجديد لـ Apple، لكنه وحشٌ أشره بكثير من سلفه — وهو ما أودّ مناقشته مع مهندس Apple يومًا ما.

أين نحن الآن

اليوم، يخضع Goban3D للاختبار التجريبي الخارجي في App Store لنظامَي iOS وmacOS. يحقق التطبيق تغطيةً كاملة بنسبة 100٪ في جميع الفئات السبع لمعايير Apple للوصول الشامل — VoiceOver وDynamic Type وVoice Control وReduce Motion وReduce Transparency وSufficient Contrast وDifferentiate Without Color. يعمل على كل iPhone من الـ SE بشاشة 3.5 بوصة حتى Pro Max بشاشة 6.9 بوصة، وكل iPad® من 9.7 بوصة إلى 13 بوصة، وبصورة نيتيف على Mac® عبر Catalyst. تُعرض الرقعة ثلاثية الأبعاد بـ RealityKit بمواد مبنية على المحاكاة الفيزيائية تعكس الضوء كالخشب والحجر الحقيقيين. وثمة كذلك وضع 2D نظيف لمن يريد البساطة أو توفير البطارية.

لا يعلم أحد خارج دائرة التطوير بوجوده بعد. لا تغطية صحفية، ولا وعي مجتمعي، ولا مختبرون خارجيون. هذه التدوينة هي، بطريقة ما، المرة الأولى التي أخبر فيها أحدًا عنه علنًا.

ما التالي؟

الأولوية القصوى الوحيدة هي إيجاد مختبرين تجريبيين لديهم احتياجات وصول حقيقية — لاعبون مكفوفون، وأشخاص ذوو إعاقات بصرية أو حركية. بُني التطبيق وفق معايير Apple، لكن المعايير ليست سوى البداية. أحتاج أشخاصًا حقيقيين يخبرونني ما الذي يعمل، وما الذي لا يعمل، وما لم أفكر فيه. إيجادهم سيكون كإيجاد كائن أسطوري، لكنني لن أستسلم. الجميع يستحق المشاركة.

إن كنت تودّ تجربة Goban3D، أو تعرف شخصًا قد يستفيد من تطبيق غو شامل للوصول، يسعدني أن أسمع منك. أرسل بريدًا إلكترونيًا إلى support@goban3d.com بعنوان الموضوع «Beta Tester» وعنوان Apple ID الخاص بـ iPhone أو iPad أو Mac. ستتلقى دعوة TestFlight® بعد وقت قصير.

كان هذا أصعب شيء وأكثره مكافأةً فعلته في حياتي. من قطعة خشب في شقة جامعية إلى App Store — استغرق الأمر عشرين عامًا، لكننا وصلنا.