Van een Stuk Hout naar de App Store
Ongeveer twintig jaar geleden haalden mijn kamergenoot en ik een stuk hout uit een container, tekenden er een raster op met een liniaal, kochten wat glazen stenen uit een hobbywinkel voor ongeveer drie pond, en begonnen Go te spelen. Ik had geen idee wat ik deed. Eigenlijk nog steeds niet, echt. Maar iets aan het spel trok me onmiddellijk — de manier waarop iets ogenschijnlijk zo eenvoudig zo onmogelijk diep kon zijn. Een 19×19-raster. Zwarte en witte stenen. Regels die je in vijf minuten kunt leren. En toch konden de krachtigste computers ter wereld destijds geen sterke menselijke speler verslaan. Dat fascinereerde me.
Een Vroege Obsessie
Die fascinatie liep zo diep dat mijn eindejaarproject aan de Kingston University over computer vision ging — ik codeerde met de hand een algoritme om de toestand van een Go-bord uit een foto te lezen, met meer dan 87% nauwkeurigheid. Voor de vroege jaren 2000, voor de deep learning explosie, was ik er stilletjes trots op.
Rond dezelfde tijd bezocht ik Japan voor twee weken, specifiek om de Go-cultuur uit de eerste hand te ervaren en te spelen tegen lokale spelers. Ik verloor elke partij. Eén spel springt eruit: een jongeman, waarschijnlijk dan-niveau, erg verlegen, met opvallend lange nagels, begeleid door zijn vader. Ik werd volledig vernietigd voordat ik had begrepen wat er was gebeurd — het duurde een tijdje voordat ik besefte dat ik moest opgeven.
Elk Go-salon dat ik bezocht was zo vol sigarettenrook dat het bijna onmogelijk was een spel te spelen zonder frisse lucht — en ik rook zelf ook. De spelers waren bijna uitsluitend ouderen. Go leek een tijdverdrijf voor mensen in hun gouden jaren, wat me puzzelde gezien Japan's reputatie voor technologie en innovatie. Niemand leek Go te verbinden aan computers. Nog niet, in ieder geval.
De Lange Onderbreking
Het leven ging verder. Ik werkte als Java-ontwikkelaar, bracht een jaar door bij Accenture tijdens de universiteit (waarbij al mijn haar uitviel van stress), en bevond me uiteindelijk voor een lange periode werkloos als gevolg van gezondheidsproblemen. Mijn Java-vaardigheden werden steeds minder relevant naarmate de industrie verder ging zonder mij. Ik probeerde bij te houden, maar de kloof was te groot geworden — en ik ontdekte dat de lonen in dat deel van de industrie zelfs waren gedaald. Het was het niet waard.
Door dat alles heen bleef ik Go spelen. Niet serieus — ik bezoek de Exeter Go Club zo'n vijftien jaar met tussenpozen, en ik ben op zijn best een gemiddelde speler. Maar het spel liet me nooit los.
Alles Klikte Tegelijk
Toen, in een opmerkelijk korte periode, gebeurden verschillende dingen tegelijk.
De COVID-lockdown trof ons. Ik zat thuis te stijgeren zonder iets te doen, maar ik had het geluk drie Apple-apparaten te hebben — cadeaus van familie en mijn partner. Ik keek de AlphaGo documentaire en was onder de indruk. Het ding waar ik op de universiteit door gefascineerd was — de onmogelijkheid van een machine die Go beheerste — was opgelost. En de AI-revolutie die het had aangewakkerd stond nog maar aan het begin. ChatGPT kwam. Daarna Claude. Daarna kondigde Apple de Vision Pro aan.
Ik begon te spelen met KataGo en merkte dat het geen goede App Store-interface had. Ik keek naar de Go-apps die beschikbaar waren voor iPhone en iPad en ze waren... prima. Functioneel. Maar geen van hen had enige toegankelijkheidsfuncties. Geen enkele Go-app in de volledige App Store verklaarde ondersteuning voor VoiceOver, Stembediening, Dynamic Type of enige van Apple's toegankelijkheidsnormen. Niet één.
Voor een spel dat al decennia lang door blinde mensen wordt gespeeld — met verhoogde tactiele borden in Japan, bij de Franse Go Federation, in Korea — voelde de volledige afwezigheid van een digitaal toegankelijke versie als een kloof die er niet zou moeten zijn. Blinde Go-spelers waren volledig buitengesloten van het app-ecosysteem.
Alles samenzweerde tegelijk en klikte op zijn plaats. Ik zou iOS-ontwikkeling van nul leren, met AI-tools om het leerproces te versnellen, en ik zou een Go-app bouwen die iedereen kon spelen — ziend of niet.
Beginnen Vanuit Nul
Op 1 juli 2024 maakte ik een leeg Xcode-project aan genaamd "RenderedGoApp" — geen erg inspirerende naam. Ik wist niets over Swift, SwiftUI, RealityKit of Apple's ontwikkeltechnologieën. Ik leerde alles via Apple's officiële documentatie en gratis WWDC-sessies, zonder formele opleiding, bootcamps of ontwikkelaarervenementen.
Twee weken later, op 17 juli, hernoem de ik het naar "Goban3D". Een goban is de traditionele Japanse naam voor het dikke houten bord met poten waarop Go gespeeld wordt. De naam voelde goed — het voldeed aan Apple's naamgevingsnormen en zei precies wat de app was.
Ik heb dyslexieondersteuning ontvangen van de basisschool tot en met de middelbare school. Ik weet hoe het is wanneer hulpmiddelen niet voor jou zijn gebouwd. Dus vanaf de allereerste coderegel was toegankelijkheid geen bijzaak — het was de reden waarom het project bestond.
De SceneKit-Ramp
Een van de moeilijkste momenten kwam toen Apple SceneKit depreceerde — het 3D-framework waarin ik de volledige bordscène had gebouwd. Ik was er goed in geworden. De scène had een vlinder die rondvloog, gras dat zwaaide, fysisch gebaseerde belichting. Het draaide prachtig met minimale CPU. Toen kondigde Apple aan dat het vervangen zou worden door RealityKit.
Ik was woedend. Maar met een toewijding om iets geavanceerds te verzenden, en nul tolerantie voor technische schuld, wist ik dat elke regel SceneKit uitgerukt en vervangen moest worden. De vlinder overleefde het niet. RealityKit is Apple's nieuwe vlaggenschip, maar het is een veel hongeriger beest dan zijn voorganger — iets dat ik ooit graag zou bespreken met een Apple-engineer.
Waar We Nu Staan
Vandaag is Goban3D in externe bèta in de App Store voor iOS en macOS. Het heeft 100% toegankelijkheidsdekking over alle zeven van Apple's toegankelijkheidscategorieën — VoiceOver, Dynamic Type, Stembediening, Beweging verminderen, Transparantie verminderen, Voldoende contrast en Onderscheid zonder kleur. Het draait op elke iPhone van de 3,5" SE tot de 6,9" Pro Max, elke iPad van 9,7" tot 13", en native op Mac via Catalyst. Het 3D-bord wordt gerenderd in RealityKit met fysisch gebaseerde materialen die licht vangen als echt hout en steen. Er is ook een overzichtelijke 2D-modus voor wanneer je eenvoud of batterijduur wilt.
Niemand buiten het ontwikkelingsproces weet dat het bestaat. Geen persdekking, geen gemeenschapsbekendheid, geen externe bètatesters. Dit blogbericht is, op een bepaalde manier, de eerste keer dat ik er publiekelijk iets over vertel.
Wat er Hierna Komt
De grootste prioriteit is het vinden van bètatesters met echte toegankelijkheidsbehoeften — blinde spelers, mensen met slechtziendheid, motorische beperkingen. De app is gebouwd volgens Apple's normen, maar normen zijn slechts het begin. Ik heb echte mensen nodig die me vertellen wat werkt, wat niet werkt en waar ik niet aan heb gedacht. Ze vinden zal zijn als een eenhoorn vinden, maar ik geef het niet op. Iedereen zou inbegrepen moeten zijn.
Als je Goban3D wilt proberen, of iemand kent die baat zou hebben bij een toegankelijke Go-app, hoor ik graag van je. Stuur een e-mail naar support@goban3d.com met als onderwerp "Beta Tester" en het Apple ID-e-mailadres voor je iPhone, iPad of Mac. Je ontvangt kort daarna een TestFlight-uitnodiging.
Dit is het moeilijkste en meest lonende wat ik ooit heb gedaan. Van een stuk hout in een universiteitskamer tot de App Store — het duurde twintig jaar, maar we zijn er gekomen.