एक लकड़ी के टुकड़े से App Store तक
करीब बीस साल पहले, मेरे यूनिवर्सिटी के रूममेट और मैंने एक कूड़ेदान से लकड़ी का एक टुकड़ा निकाला, उस पर पेंसिल और रूलर से ग्रिड खींची, किसी आर्ट शॉप से तीन पाउंड में कुछ काँच के पत्थर खरीदे, और गो खेलना शुरू कर दिया। मुझे पता ही नहीं था कि मैं क्या कर रहा हूँ। आज भी पूरी तरह नहीं पता। लेकिन इस खेल ने मुझे तुरंत पकड़ लिया — जिस तरह कुछ इतना सरल लगने वाला खेल इतना असंभव रूप से गहरा हो सकता है। 19×19 की एक ग्रिड। काले और सफेद पत्थर। पाँच मिनट में सीखे जा सकने वाले नियम। और फिर भी, उस समय, दुनिया के सबसे शक्तिशाली कंप्यूटर भी एक मजबूत इंसानी खिलाड़ी को नहीं हरा सकते थे। यही बात मुझे रोमांचित करती थी।
एक शुरुआती जुनून
यह जुनून इतना गहरा था कि Kingston University में मेरे अंतिम वर्ष के प्रोजेक्ट का विषय कंप्यूटर विज़न था — मैंने खुद एक ऐल्गोरिद्म लिखा जो किसी तस्वीर से गो बोर्ड की स्थिति पढ़ सके, और 87% से अधिक सटीकता हासिल की। 2000 के दशक की शुरुआत में, डीप लर्निंग के विस्फोट से पहले, मुझे उस पर चुपचाप गर्व था।
उसी दौरान मैं दो हफ्तों के लिए जापान गया — विशेष रूप से गो की संस्कृति को करीब से देखने और स्थानीय खिलाड़ियों के साथ खेलने के लिए। मैं हर एक मैच हारा। एक खेल खास तौर पर याद है: एक युवा, शायद दान-स्तरीय खिलाड़ी, बेहद शर्मीला, बेहद लंबे नाखूनों वाला, अपने पिता के साथ आया था। मुझे पता चलने से पहले ही वह मुझे पूरी तरह तहस-नहस कर चुका था — मुझे थोड़ी देर लग गई यह समझने में कि मुझे हार मान लेनी चाहिए।
मैंने जो भी गो सैलून देखे वे सिगरेट के धुएँ से इतने भरे थे कि बिना ताज़ी हवा के पूरा खेल खेलना मुश्किल था — और मैं खुद भी धूम्रपान करता हूँ। खिलाड़ी लगभग सभी बुजुर्ग थे। गो बुजुर्गों का शगल लग रहा था, जो मुझे अजीब लगा क्योंकि जापान तकनीक और नवाचार के लिए जाना जाता है। कोई भी गो को कंप्यूटिंग से नहीं जोड़ रहा था। अभी नहीं, कम से कम।
लंबा अंतराल
ज़िंदगी आगे बढ़ती रही। मैंने Java डेवलपर के रूप में काम किया, यूनिवर्सिटी के दौरान एक साल Accenture में बिताया (जिस दौरान तनाव से मेरे सारे बाल झड़ गए), और अंततः स्वास्थ्य समस्याओं के बाद काफी समय तक बेरोजगार रहा। इंडस्ट्री आगे बढ़ती रही और मेरे Java के कौशल तेजी से पुराने पड़ गए। मैंने कदम मिलाने की कोशिश की, लेकिन फासला बहुत बड़ा हो चुका था — और पता चला कि उस क्षेत्र में तनख्वाहें वास्तव में कम हो गई थीं। यह उचित नहीं था।
इन सबके बीच, मैं गो खेलता रहा। गंभीरता से नहीं — मैं पिछले करीब पंद्रह सालों से Exeter Go Club में आता-जाता रहा हूँ, और मैं एक औसत खिलाड़ी से ज़्यादा नहीं हूँ। लेकिन इस खेल ने मुझे कभी नहीं छोड़ा।
सब कुछ एक साथ जुड़ गया
फिर, एक उल्लेखनीय छोटे से समय में, कई चीजें एक साथ हुईं।
COVID लॉकडाउन आया। मैं कुछ न करने की वजह से दीवारें चढ़ रहा था, लेकिन सौभाग्य से मेरे पास तीन Apple डिवाइस थे — परिवार और मेरे साथी की ओर से उपहार। मैंने AlphaGo डॉक्यूमेंट्री देखी और रोमांचित हो गया। वह चीज जिसने मुझे यूनिवर्सिटी में आकर्षित किया था — एक मशीन का गो में महारत हासिल करना असंभव है — हल हो चुकी थी। और इससे जो AI क्रांति शुरू हुई, वह बस आरंभ हो रही थी। ChatGPT आया। फिर Claude। फिर Apple ने Vision Pro का ऐलान किया।
मैंने KataGo के साथ खेलना शुरू किया और देखा कि उसका कोई ठीक-ठाक App Store® इंटरफेस नहीं था। मैंने iPhone® और iPad® के लिए उपलब्ध गो ऐप्स देखे — वे ठीक-ठाक थे। काम चलाऊ। लेकिन उनमें से किसी में भी एक्सेसिबिलिटी फीचर नहीं था। पूरे App Store पर एक भी गो ऐप ऐसा नहीं था जो VoiceOver, Voice Control, Dynamic Type, या Apple के किसी एक्सेसिबिलिटी मानक का समर्थन करता हो। एक भी नहीं।
एक ऐसे खेल के लिए जो दशकों से नेत्रहीन लोगों द्वारा खेला जाता रहा है — जापान में उभरी हुई लाइनों वाली स्पर्शीय बोर्ड से, फ्रेंच गो फेडरेशन में, कोरिया में — किसी भी डिजिटल रूप से सुलभ संस्करण की पूर्ण अनुपस्थिति एक ऐसी कमी लगी जो नहीं होनी चाहिए थी। नेत्रहीन गो खिलाड़ी ऐप इकोसिस्टम से पूरी तरह बाहर थे।
सब कुछ एक साथ जुड़ गया और सही जगह पर आ गया। मैं AI टूल्स की मदद से खुद iOS डेवलपमेंट सीखूँगा और एक ऐसा गो ऐप बनाऊँगा जिसे कोई भी खेल सके — दृष्टिहीन हो या न हो।
शून्य से शुरुआत
1 जुलाई 2024 को, मैंने "RenderedGoApp" नाम से एक खाली Xcode प्रोजेक्ट बनाया — कोई बहुत प्रेरणादायक नाम नहीं था। मुझे Swift, SwiftUI, RealityKit, या Apple की किसी भी डेवलपमेंट तकनीक के बारे में कुछ नहीं पता था। मैंने Apple के आधिकारिक डॉक्यूमेंटेशन और मुफ्त WWDC सेशन से सब कुछ खुद सीखा — बिना किसी औपचारिक प्रशिक्षण, बूटकैंप, या डेवलपर इवेंट के।
दो हफ्ते बाद, 17 जुलाई को, मैंने इसका नाम "Goban3D" रख दिया। Goban गो खेले जाने वाली मोटी लकड़ी की बोर्ड का पारंपरिक जापानी नाम है जिसमें पैर होते हैं। नाम सही लगा — यह Apple के नामकरण मानकों के अनुरूप था और ठीक वही बताता था जो ऐप था।
मुझे प्राइमरी स्कूल से कॉलेज तक डिस्लेक्सिया के लिए सहायता मिली। मुझे पता है कि यह कैसा लगता है जब टूल्स आपको ध्यान में रखकर नहीं बने हों। इसलिए कोड की पहली लाइन से ही, एक्सेसिबिलिटी कोई बाद का विचार नहीं थी — यही तो प्रोजेक्ट के अस्तित्व का कारण थी।
SceneKit की आपदा
सबसे कठिन क्षणों में से एक तब आया जब Apple ने SceneKit को deprecated कर दिया — वह 3D फ्रेमवर्क जिसमें मैंने पूरा बोर्ड सीन बनाया था। मुझे उसमें महारत हो गई थी। सीन में एक तितली उड़ती थी, घास लहराती थी, फिजिकली-बेस्ड लाइटिंग थी। न्यूनतम CPU के साथ बेहतरीन चलता था। फिर Apple ने ऐलान किया कि इसे RealityKit से बदला जाएगा।
मैं बहुत नाराज था। लेकिन कुछ अत्याधुनिक शिप करने की प्रतिबद्धता और तकनीकी ऋण के प्रति शून्य सहनशीलता के साथ, मुझे पता था कि SceneKit की हर एक लाइन को उखाड़ कर बदलना होगा। तितली नहीं बची। RealityKit Apple का नया पोस्टर चाइल्ड है, लेकिन यह अपने पूर्ववर्ती से कहीं अधिक भूखा जानवर है — कुछ ऐसा जिस पर मैं एक दिन किसी Apple इंजीनियर से बात करना पसंद करूँगा।
अभी की स्थिति
आज, Goban3D iOS और macOS के लिए App Store पर एक्सटर्नल बीटा में है। Apple की सात एक्सेसिबिलिटी कैटेगरी — VoiceOver, Dynamic Type, Voice Control, Reduce Motion, Reduce Transparency, Sufficient Contrast, और Differentiate Without Color — सभी में इसकी 100% एक्सेसिबिलिटी कवरेज है। यह 3.5" SE से 6.9" Pro Max तक हर iPhone पर, 9.7" से 13" तक हर iPad पर, और Catalyst के जरिए Mac® पर नेटिव रूप से चलता है। 3D बोर्ड RealityKit में फिजिकली-बेस्ड मटेरियल के साथ रेंडर की गई है जो असली लकड़ी और पत्थर की तरह रोशनी को पकड़ती है। जब सादगी या बैटरी लाइफ चाहिए हो तो एक साफ-सुथरा 2D मोड भी है।
डेवलपमेंट प्रक्रिया के बाहर अभी कोई नहीं जानता कि यह अस्तित्व में है। कोई प्रेस कवरेज नहीं, कोई सामुदायिक जागरूकता नहीं, कोई बाहरी बीटा टेस्टर नहीं। यह ब्लॉग पोस्ट, एक तरह से, पहली बार है जब मैं किसी को सार्वजनिक रूप से इसके बारे में बता रहा हूँ।
आगे क्या
सबसे बड़ी प्राथमिकता वास्तविक एक्सेसिबिलिटी जरूरतों वाले बीटा टेस्टर खोजना है — नेत्रहीन खिलाड़ी, कम दृष्टि वाले लोग, मोटर इम्पेयरमेंट वाले लोग। ऐप Apple के मानकों के अनुसार बना है, लेकिन मानक तो बस शुरुआत हैं। मुझे असली लोग चाहिए जो बता सकें कि क्या काम करता है, क्या नहीं, और मैंने क्या नहीं सोचा। उन्हें ढूँढना यूनिकॉर्न खोजने जैसा होगा, लेकिन मैं हार नहीं मानूँगा। सभी को शामिल होना चाहिए।
अगर आप Goban3D आजमाना चाहते हैं, या किसी ऐसे व्यक्ति को जानते हैं जिसे एक सुलभ गो ऐप से फायदा हो सकता है, तो मुझे आपसे सुनना अच्छा लगेगा। support@goban3d.com पर "Beta Tester" विषय के साथ ईमेल भेजें और अपने iPhone, iPad, या Mac के लिए Apple ID ईमेल पता लिखें। आपको जल्द ही TestFlight® का निमंत्रण मिलेगा।
यह मैंने जो सबसे कठिन और सबसे पुरस्कृत काम किया है, वह यही है। एक यूनिवर्सिटी के फ्लैट में लकड़ी के एक टुकड़े से App Store तक — बीस साल लगे, लेकिन हम यहाँ पहुँच गए।