← Kembali ke Blog

Dari Sepotong Kayu ke App Store

Sekitar dua puluh tahun yang lalu, saya dan teman sekamar saya di universitas mengambil sepotong kayu dari tempat sampah, menggambar kotak-kotak di atasnya dengan penggaris, membeli beberapa batu kaca dari toko seni dan kerajinan seharga sekitar tiga pound, dan mulai bermain Go. Saya tidak tahu apa yang saya lakukan. Sampai sekarang pun, saya masih tidak tahu. Tetapi ada sesuatu tentang permainan itu yang langsung menarik perhatian saya — bagaimana sesuatu yang tampaknya sederhana bisa begitu dalam. Kotak 19×19. Batu hitam dan putih. Aturan yang bisa dipelajari dalam lima menit. Namun, pada saat itu, komputer paling canggih di dunia pun tidak bisa mengalahkan pemain manusia yang kuat. Itu membuat saya terpesona.

Obsesi Awal

Ketertarikan itu begitu dalam sehingga proyek tahun terakhir saya di Universitas Kingston adalah tentang visi komputer — saya membuat kode algoritma untuk membaca keadaan papan Go dari sebuah foto, mencapai akurasi lebih dari 87%. Untuk awal tahun 2000-an, sebelum ledakan pembelajaran mendalam, saya diam-diam bangga akan hal itu.

Sekitar waktu yang sama, saya mengunjungi Jepang selama dua minggu khusus untuk merasakan budaya Go secara langsung dan bermain melawan pemain lokal. Saya kalah di setiap pertandingan. Satu pertandingan yang paling berkesan: seorang pemuda, mungkin level dan, sangat pemalu, dengan kuku jari yang sangat panjang, ditemani oleh ayahnya. Saya benar-benar dihancurkan bahkan sebelum saya menyadari apa yang telah terjadi — butuh beberapa saat bagi saya untuk menyadari bahwa saya perlu mengundurkan diri.

Setiap salon Go yang saya kunjungi begitu dipenuhi asap rokok sehingga hampir tidak mungkin untuk menyelesaikan permainan tanpa udara segar — dan saya sendiri adalah seorang perokok. Para pemainnya hampir semuanya lansia. Go tampaknya merupakan hobi bagi mereka yang berada di usia senja, yang membingungkan saya mengingat reputasi Jepang dalam bidang teknologi dan inovasi. Tampaknya tidak ada yang menghubungkan Go dengan komputasi. Setidaknya belum.

Celah Panjang

Hidup terus berjalan. Saya bekerja sebagai pengembang Java, menghabiskan satu tahun di Accenture selama kuliah (di mana semua rambut saya rontok karena stres), dan akhirnya mendapati diri saya menganggur dalam waktu yang lama setelah mengalami masalah kesehatan. Keterampilan Java saya menjadi semakin tidak relevan karena industri terus berkembang tanpa saya. Saya mencoba mengejar ketinggalan, tetapi kesenjangan telah terlalu lebar — dan menemukan bahwa upah di bagian industri tersebut sebenarnya telah menurun. Itu tidak sepadan.

Di tengah semua itu, saya terus bermain Go. Tidak serius — saya sudah mengikuti Klub Go Exeter secara berkala selama sekitar lima belas tahun, dan kemampuan saya rata-rata saja. Tapi permainan itu tidak pernah meninggalkan saya.

Semuanya Langsung Terhubung

Kemudian, dalam waktu yang sangat singkat, beberapa hal terjadi sekaligus.

Karantina COVID melanda. Saya merasa sangat bosan karena tidak ada yang bisa dilakukan, tetapi untungnya saya memiliki tiga perangkat Apple — hadiah dari keluarga dan pasangan saya. Saya menonton film dokumenter AlphaGo dan merasa sangat bersemangat. Hal yang selama ini membuat saya tertarik di universitas — ketidakmungkinan sebuah mesin menguasai Go — telah terpecahkan. Dan revolusi AI yang dipicunya baru saja dimulai. ChatGPT hadir. Kemudian Claude. Lalu Apple mengumumkan Vision Pro.

Saya mulai mencoba KataGo dan menyadari bahwa aplikasi ini tidak memiliki antarmuka App Store® yang layak. Saya melihat aplikasi Go yang tersedia untuk iPhone® dan iPad® dan aplikasi-aplikasi tersebut... baik-baik saja. Berfungsi. Tetapi tidak satu pun dari aplikasi tersebut memiliki fitur aksesibilitas. Tidak satu pun aplikasi Go di seluruh App Store yang menyatakan dukungan untuk VoiceOver, Voice Control, Dynamic Type, atau standar aksesibilitas Apple lainnya. Tidak satu pun.

Untuk permainan yang telah dimainkan oleh penyandang tunanetra selama beberapa dekade — menggunakan papan taktil dengan garis timbul di Jepang, di Federasi Go Prancis, dan di Korea — ketiadaan versi digital yang dapat diakses terasa seperti sebuah celah yang seharusnya tidak ada. Para pemain Go tunanetra benar-benar terpinggirkan dari ekosistem aplikasi.

Semuanya terjadi begitu saja dan berjalan sesuai rencana. Saya akan belajar pengembangan iOS dari nol, menggunakan alat AI untuk mempercepat pembelajaran, dan saya akan membangun aplikasi Go yang dapat dimainkan siapa pun — baik yang memiliki penglihatan normal maupun tidak.

Mulai dari Nol

Pada tanggal 1 Juli 2024, saya membuat proyek Xcode kosong bernama "RenderedGoApp" — nama yang kurang menarik. Saya tidak tahu apa pun tentang Swift, SwiftUI, RealityKit, atau teknologi pengembangan Apple lainnya. Saya belajar sendiri semuanya melalui dokumentasi resmi Apple dan sesi WWDC gratis, tanpa pelatihan formal, bootcamp, atau acara pengembang.

Dua minggu kemudian, pada tanggal 17 Juli, saya mengganti namanya menjadi "Goban3D". Goban adalah nama tradisional Jepang untuk papan kayu tebal dengan kaki yang digunakan untuk bermain Go. Nama itu terasa tepat — sesuai dengan standar penamaan Apple dan menjelaskan dengan tepat apa isi aplikasi tersebut.

Saya menerima dukungan disleksia sejak sekolah dasar hingga kuliah. Saya tahu bagaimana rasanya ketika alat tidak dibuat dengan mempertimbangkan kebutuhan Anda. Jadi, sejak baris kode pertama, aksesibilitas bukanlah hal yang dipikirkan kemudian — melainkan alasan proyek ini ada.

Bencana SceneKit

Salah satu momen tersulit terjadi ketika Apple menghentikan dukungan untuk SceneKit — kerangka kerja 3D yang saya gunakan untuk membangun seluruh adegan papan permainan. Saya sudah mahir menggunakannya. Adegan itu menampilkan kupu-kupu yang beterbangan, rumput yang bergoyang, dan pencahayaan berbasis fisika. Semuanya berjalan dengan lancar dengan penggunaan CPU minimal. Kemudian Apple mengumumkan bahwa SceneKit akan digantikan oleh RealityKit.

Saya sangat marah. Tetapi dengan komitmen untuk menghadirkan sesuatu yang mutakhir, dan tanpa toleransi terhadap hutang teknis, saya tahu setiap baris kode SceneKit harus dirombak dan diganti. Kupu-kupu itu tidak bertahan. RealityKit adalah andalan baru Apple, tetapi ia jauh lebih rakus daripada pendahulunya — sesuatu yang ingin saya diskusikan dengan seorang insinyur Apple suatu hari nanti.

Situasi Terkini

Saat ini, Goban3D tersedia dalam versi beta eksternal di App Store untuk iOS dan macOS. Aplikasi ini memiliki cakupan aksesibilitas 100% di ketujuh kategori aksesibilitas Apple — VoiceOver, Dynamic Type, Voice Control, Reduce Motion, Reduce Transparency, Sufficient Contrast, dan Differentiate Without Color. Aplikasi ini berjalan di semua iPhone mulai dari SE 3,5 inci hingga Pro Max 6,9 inci, semua iPad mulai dari 9,7 inci hingga 13 inci, dan secara native di Mac® melalui Catalyst. Papan 3D dirender di RealityKit dengan material berbasis fisika yang menangkap cahaya seperti kayu dan batu asli. Tersedia juga mode 2D yang bersih untuk kesederhanaan atau penghematan baterai.

Belum ada seorang pun di luar proses pengembangan yang tahu keberadaannya. Tidak ada liputan pers, tidak ada kesadaran komunitas, tidak ada penguji beta eksternal. Posting blog ini, dalam arti tertentu, adalah pertama kalinya saya memberi tahu siapa pun tentang hal ini secara publik.

Apa Selanjutnya?

Prioritas utama adalah menemukan penguji beta dengan kebutuhan aksesibilitas nyata — pemain tunanetra, penyandang gangguan penglihatan, dan penyandang gangguan motorik. Aplikasi ini telah dibangun sesuai standar Apple, tetapi standar hanyalah permulaan. Saya membutuhkan orang-orang nyata untuk memberi tahu saya apa yang berhasil, apa yang tidak, dan apa yang belum saya pikirkan. Menemukan mereka akan seperti menemukan unicorn, tetapi saya tidak akan menyerah. Semua orang harus dilibatkan.

Jika Anda ingin mencoba Goban3D, atau mengenal seseorang yang akan mendapat manfaat dari aplikasi Go yang mudah diakses, saya ingin sekali mendengar dari Anda. Kirim email ke support@goban3d.com dengan subjek "Beta Tester" dan alamat email Apple ID untuk iPhone, iPad, atau Mac Anda. Anda akan segera menerima undangan TestFlight® setelahnya.

Ini adalah hal tersulit dan paling memuaskan yang pernah saya lakukan. Dari sepotong kayu di apartemen universitas hingga App Store — butuh waktu dua puluh tahun, tetapi kita sampai di sini.