Lars Knudsen adalah seorang Google Developer Expert, kami berbicara dengannya tentang bagaimana perangkat seharga $10 dapat membuat komputer lebih mudah diakses oleh penyandang disabilitas.
Monika: Apa yang menginspirasi Anda untuk menjadi developer? Apa fokus profesional Anda saat ini?
Lars: Saya mendapatkan MSc di bidang teknik, tetapi sebenarnya minat saya pada teknologi dimulai jauh lebih awal. Ketika saya masih kecil di tahun 80-an, ayah saya memiliki perusahaan komputasi yang menangani desain grafis. Terkadang, khususnya selama liburan musim panas, dia mengajak saya untuk bekerja bersamanya. Terkadang, beberapa karyawannya akan mengawasi saya. Ada pria yang sangat pintar yang pernah berkata kepada saya, “Lars, saya perlu menyelesaikan beberapa pekerjaan, tapi ini buku panduan C, dan ada komputer di sana. Berikut adalah cara memulai compiler C. Jika ada pertanyaan, silakan hubungi saya.” Saya mulai menulis teks singkat yang diterjemahkan menjadi sesuatu yang dapat dipahami komputer. Itu tampak luar biasa bagi saya. Saya berusia 11 tahun ketika mulai dan sekitar kelas tujuh, saya dapat membuat aplikasi kecil untuk teman sekelas saya atau untuk digunakan di sekolah. Begitulah awal mulanya.
Selama bertahun-tahun, saya telah bekerja di banyak perusahaan, termasuk Nokia, Maersk, dan Openwave. Pada awalnya, seperti di banyak profesi lainnya, karena Anda tahu sedikit, Anda merasa dapat melakukan segalanya, tetapi dengan waktu Anda belajar bahwa setiap perusahaan memiliki cara tertentu dalam melakukan sesuatu.
Setelah beberapa tahun bekerja di sebuah perusahaan medis, saya memulai bisnis saya sendiri pada tahun 1999. Saya bekerja sebagai kontraktor {i>freelance<i} dan, berkat itu, memiliki kesempatan untuk mengenal banyak perusahaan dengan cepat. Setelah menyelesaikan lima kontrak pertama, saya mendapati bahwa setiap perusahaan merasa telah menemukan pengaturan yang sempurna, tetapi semuanya sangat berbeda. Pada saat itu, saya juga diperkenalkan dengan berbagai macam teknologi, sistem operasi, dll. Sekitar awal usia dua puluhan, pola pikir saya berubah. Pada awalnya, saya hanya fokus pada satu teknologi dan ingin mempelajari semua tentangnya. Seiring waktu, saya mulai berpikir untuk menggabungkan teknologi sebagai cara meningkatkan kualitas hidup kami. Saya punya minat khusus untuk mengurangi kesenjangan antara tim A dan B di dunia. Saya mencoba mentransfer pengetahuan sebanyak mungkin ke wilayah tempat orang-orang tidak memiliki kemudahan memiliki komputer atau belajar di universitas tanpa biaya.
Saya terus bekerja sebagai kontraktor untuk partner eksternal, tetapi jika memungkinkan, saya mencoba memilih project yang memiliki dampak positif bagi lingkungan atau masyarakat. Saat ini saya mengerjakan software tersemat untuk perusahaan alat bantu dengar bernama Oticon. Dari segi software, saya telah mengerjakan semuanya, mulai dari mikrokontroler terkecil hingga cloud; banyak hal yang saya lakukan berkaitan dengan web. Saya mencoba menggabungkan teknologi kapan pun diperlukan.
Monika: Apakah Anda pernah terlibat dalam komunitas developer sebelum bergabung dengan program Pakar Developer Google?
Lars: Ya, saya terlibat dalam pertemuan dan konferensi. Saya pertama kali terhubung dengan komunitas saat bekerja untuk Nokia. Sekitar tahun 2010, saya bertemu Kenneth Rohde Christiansen, yang menjadi GDE sebelum saya. Beliau mengilhami saya untuk melihat bagaimana teknologi web bisa bermanfaat bagi calon profesional teknologi di negara-negara berkembang. Mengembangkan dan menerapkan solusi dengan menggunakan C++, C#, atau Java memerlukan pengalaman bertahun-tahun, tetapi siapa saja yang memiliki akses ke komputer, browser, dan notepad dapat mulai mengembangkan aplikasi berbasis web dan belajar dengan sangat cepat. Anda bisa membangun aplikasi yang berfungsi penuh dengan resource terbatas, dan melakukan peningkatan dari nol. Itulah sebabnya saya menyebut web sebagai technology stack yang sangat mudah diakses.
Kembali ke komunitas—setelah beberapa saat, saya tertarik dengan standardisasi web dan masalah apa saja yang dapat diselesaikan oleh teknologi web canggih. Saya bereksperimen dengan kemampuan baru di browser sebelum rilis. Saya bekerja untuk Nokia pada saat itu, mengembangkan perangkat unggulan berbasis Linux, N9. Browser yang kami buat berbasis WebKit dan saya mendapat pengalaman hebat dalam mengembangkan fitur untuk proyek open source yang besar. Bertahun-tahun setelah meninggalkan Nokia, saya terlibat dalam konferensi dan pertemuan web, jadi masuk akal untuk bergabung dengan komunitas GDE pada tahun 2017.
Saya sangat menikmati kerja sama komunitas dan semua yang kami lakukan bersama, terutama Chrome Developer Summit sebelum pandemi, di mana saya bisa membantu melakukan booth duty bersama sekelompok Google Engineer dan GDE lainnya yang luar biasa.
Monika: Saran apa yang akan Anda berikan kepada developer muda yang baru memulai karier profesional dan tidak yakin jalur mana yang harus diambil?
Lars: Saya katakan berdasarkan pengalaman saya sendiri—jika Anda mampu—mempertimbangkan untuk bekerja lepas di beberapa perusahaan yang berbeda. Dengan cara ini, Anda akan menghadapi kode dalam berbagai bentuk dan tahap pengembangan. Anda akan mengenal berbagai sistem operasi dan bahasa, dan belajar bagaimana menyelesaikan masalah dengan banyak cara. Hal ini membantu saya mendapatkan banyak pengalaman sebagai developer senior saat berusia dua puluhan. Pendekatan ini akan membantu Anda mencapai tujuan profesional lebih cepat.
Selain itu, bersenang-senang, menjelajah, bermain dengan perangkat keras dan perangkat lunak. Pertimbangkan untuk membuat sesuatu yang dapat memecahkan masalah nyata—mungkin untuk teman, keluarga, atau bisnis lokal. Jangan takut untuk melompat ke sesuatu yang belum pernah Anda lakukan sebelumnya.
Monika: Bagaimana masa depan teknologi web?
Lars: Menurut saya, selama beberapa tahun belakangan ini web sepenuhnya mampu menyediakan platform untuk aplikasi bidang besar, baik bagi konsumen maupun bisnis. Di sisi server, teknologi web menawarkan pengalaman yang lancar, terutama bagi developer frontend yang ingin membangun komponen backend. Lebih mudah bagi mereka untuk memulai sekarang. Saya mengenal orang-orang yang menggunakan Firebase dan Heroku untuk menyelesaikan pekerjaan. Dan tren ini akan berkembang—teknologi web akan cukup untuk membuat segala jenis solusi kompleks. Menurut saya, Kemampuan Web - Project Fugu 🐡 benar-benar membuka potensi itu.
Dengan melihat dari sudut pandang yang sedikit berbeda, saya juga berpikir bahwa jika kami memberikan dokumentasi lengkap dan artikel mendalam tidak hanya dalam bahasa Inggris tetapi juga dalam bahasa lain (misalnya, Spanyol dan Portugis), kita akan membuka banyak potensi di Amerika Latin—dan wilayah lainnya, tentu saja. Developer di sana sering kali tidak cukup memahami bahasa Inggris untuk memahami semua artikel yang relevan. Kita juga harus memberi mereka kesempatan untuk belajar sedini mungkin, bahkan sebelum melanjutkan ke universitas, saat masih di kampung halaman. Mereka dapat menggunakan keterampilan tersebut untuk membantu bisnis dan komunitas lokal sebelum meninggalkan rumah dan mungkin tidak pernah kembali ke rumah.
Thomas: Anda telah jauh melangkah dari melakukan pengembangan C di komputer acak hingga meretas hardware. Bagaimana Anda melakukannya?
Lars: Saya mulai membongkar banyak hardware yang saya miliki di rumah. Ayah saya tidak selalu senang ketika saya tidak bisa menyatukannya kembali. Seiring berjalannya waktu, saya belajar membuat beberapa perangkat kecil, tetapi berkembang pesat kemudian, ketika saya bergabung dengan Nokia, saya mendapatkan pengalaman tersemat. Saya berkesempatan membuat screensaver kecil, komponen untuk ponsel Seri 30. Saya sangat bersemangat dengan hal itu dan bisa berpikir secara kreatif. Mereka memberiku tugas untuk membuat game Snake untuk perangkat itu. Ini adalah pengalaman yang sangat menarik. Perbedaan utama antara membangun sistem tersemat dan sebagian besar hal lainnya (termasuk web) adalah Anda hanya menyisakan sedikit ruang—Anda tidak memiliki banyak ruang atau memori untuk digunakan. Saat membangun Snake, RAM yang saya miliki kurang dari sepertiga dari {i>frame buffer<i} (sekitar 120 x 120 piksel). Saya harus menemukan cara untuk menggabungkan kembali komponen di layar secara algoritmis sehingga akan terlihat statis, seolah-olah mereka adalah ubin. Saya belajar banyak—yaitu peralihan dari sistem yang lebih besar ke solusi tersemat yang kecil.
Thomas: Keahlian developer frontend pada umumnya sangat berbeda dengan keahlian orang yang membuat hardware tersemat. Bagaimana Anda mendorong developer frontend untuk mempelajari hardware dan mulai berpikir menggunakan sistem biner?
Lars: Menurut saya, langkah pertama adalah melihat beberapa Fugu API yang berfungsi di Chrome dan Edge, dan sudah disertakan di semua sistem utama saat ini. Itu semua yang Anda butuhkan di awal.
Selain itu, toolchain untuk membangun solusi tersemat memiliki kurva pembelajaran yang curam. Jika Anda ingin membuat hardware kustom sendiri, mulailah dengan Arduino atau ESP32—sesuatu yang mudah dibeli dan cukup murah. Dengan lingkungan pengembangan yang tepat, Anda dapat memulai dan menjalankan project dalam waktu singkat.
Anda juga dapat membeli monitor detak jantung atau unit multisensor, yang sudah menggunakan layanan Bluetooth GATT, sehingga Anda tidak perlu membuat perangkat keras atau firmware sendiri—Anda dapat menggunakan yang sudah ada dan mulai bereksperimen dengan Web Bluetooth API untuk mulai berkomunikasi dengannya.
Ada juga perangkat yang menggunakan protokol serial. Untuk itu, Anda dapat menggunakan Web Serial API (juga Fugu). Baru-baru ini, saya mempelajari WebHID API agar Anda dapat berkomunikasi dengan semua perangkat antarmuka manusia yang dapat diakses semua orang. Saya menemukan beberapa file lama di ruang bawah tanah saya yang tidak didukung oleh sistem operasi apa pun selama bertahun-tahun, tetapi berkat rekayasa balik, saya butuh waktu beberapa jam untuk mengaktifkannya kembali.
Ada berbagai pendekatan tergantung pada apa yang ingin Anda bangun, tetapi untuk pengembang web, saya akan mengatakan, dapatkan unit sensor yang solid, mungkin Thingy 52 dari Nordic Semiconductor; memiliki banyak sensor, dan Anda dapat terhubung ke aplikasi web dengan sedikit usaha.
Thomas: Menghubungkan ke perangkat adalah langkah pertama, tetapi kemudian berbicara dengan perangkat secara efektif—itu juga hal yang lain. Bagaimana bisa Anda tidak menyerah setelah menghadapi rintangan? Apa yang membuat Anda tetap termotivasi untuk terus bekerja?
Lars: Bagi saya pribadi, aspek sosial dalam menyelesaikan masalah adalah yang paling penting. Saat mulai mengerjakan project tersemat saya sendiri, saya memiliki visi dan keinginan untuk membangun lab sains dalam kotak yang ditujukan untuk wilayah berkembang. Istri saya berasal dari Meksiko dan saya melihat beberapa sekolah di sana; beberapa yang terletak di luar kota-kota besar cukup buruk, tanpa akses ke bahan dan peralatan yang kita miliki di belahan dunia kita.
Semangat untuk membuat sesuatu yang berpotensi digunakan untuk membantu orang lain—itulah yang membuat saya terus maju. Saya juga sangat menikmati dukungan dari komunitas ini. Saya sudah menghubungi beberapa orang di Google dan mereka sangat membantu dan menjawab semua pertanyaan saya dengan sabar.
Thomas: Banyak orang memiliki semacam hardware di rumah, tetapi tidak tahu apa yang harus dilakukan dengan perangkat tersebut. Bagaimana Anda menemukan inspirasi untuk semua proyek luar biasa Anda, khususnya proyek dengan nama kerja SimpleMouse?
Lars: Akhir-akhir ini saya sebenarnya menghidupkan kembali banyak hardware lama, tetapi untuk project khusus ini—namanya belum ditetapkan, tetapi sebut saja SimpleMouse—saya menggunakan pengalaman saya. Saya bekerja dengan beberapa solusi aksesibilitas sebelumnya dan saya melihat bagaimana beberapa di antaranya tidak berfungsi lagi; Anda harus memiliki Windows XP lama dengan perangkat lunak tertentu yang diinstal untuk menjalankannya. Anda tidak dapat benar-benar memperbaruinya. Anda hanya dapat menggunakannya di rumah karena Anda tidak dapat memindahkan penyiapan.
Karena itu, saya bertanya-tanya bagaimana cara menggabungkan keahlian saya dari dunia tersemat dengan project Fugu dan apa yang sekarang mungkin dilakukan di web untuk membuat perangkat keras murah dan terjangkau yang dikombinasikan dengan perangkat lunak yang mudah dipahami di kedua sisi, sehingga orang-orang dapat memanfaatkannya.
Untuk proyek ini, saya mengambil dongle USB kecil dengan {i>chip<i} refleksif, nRF52840. Konektor ini berkomunikasi dengan Bluetooth di satu sisi dan USB di sisi lainnya. Pada dasarnya, Anda dapat memprogramnya menjadi apa saja di kedua sisi. Kemudian saya berpikir tentang perangkat yang mengontrol komputer — {i>mouse<i} dan {i>keyboard<i}. Beberapa penyandang disabilitas mungkin kesulitan mengoperasikan perangkat tersebut, dan saya ingin membantu mereka.
Hal pertama yang saya lakukan adalah memastikan bahwa semua sistem operasi akan melihat dongle USB sebagai mouse. Anda dapat mengontrolnya dari aplikasi native atau aplikasi web—langsung ke Bluetooth. Setelah itu, saya membangun aplikasi web—template sederhana yang dapat diperluas sesuai keinginan orang dengan komponen web. Berkat itu, semua orang dapat mengontrol komputernya dengan aplikasi web yang saya buat hanya dalam beberapa jam di ponsel Android.
Dengan melakukan penyiapan tersebut, siapa pun di dunia yang memiliki pengalaman web dapat membangun solusi yang sangat disesuaikan dalam hitungan hari untuk siapa saja yang ingin mengontrol komputernya. Kerennya adalah Anda dapat membawanya ke mana pun Anda pergi dan menggunakannya dengan perangkat lain juga. Ini akan menjadi pengalaman yang sama persis. Bagi saya, portabilitas dan keterjangkauan perangkat sangat penting karena orang tidak lagi dibatasi menggunakan perangkat mereka sendiri, dan tidak lagi terbatas pada satu lokasi.
Thomas: Apakah Anda sempat menguji perangkat tersebut di kehidupan nyata?
Lars: Sebenarnya selama perjalanan terakhir saya ke Meksiko, saya mendiskusikannya dengan seorang profesional web yang tinggal di sana; dia sekarang mencari kemungkinan untuk menggunakan perangkat tersebut secara lokal. Peralatan di sana sangat mahal, tetapi dongle USB biasanya berharga sekitar sepuluh dolar AS. Dia sekarang memastikan apakah kita bisa membuat penyiapan lokal di sana untuk mencobanya. Namun, saya belum melakukan uji coba resmi di Denmark.
Thomas: Banyak perangkat yang dirancang untuk membantu penyandang disabilitas sangat mahal. Apakah Anda berencana untuk bekerja sama dengan perusahaan tertentu dan memproduksinya dengan harga yang jauh lebih murah dari peralatan yang mahal?
Lars: Ya, tentu saja! Saya telah berbicara dengan produsen perangkat keras lokal tentang hal itu. Tentu saja, perangkat tidak akan menggantikan semua solusi yang sangat khusus tersebut, tetapi dapat menjadi langkah pertama untuk membuat sesuatu yang lebih besar—misalnya, menggunakan pengenalan suara, yang sudah tersedia untuk teknologi web. Ini akan menjadi cara mudah untuk mengontrol perangkat menggunakan ponsel Android; aplikasi itu dapat bekerja dengan perangkat apa pun.
Dengan hanya mampu membuat apa pun yang Anda inginkan di web dan menggunakannya untuk mengontrol komputer {i>host<i}, membuka banyak kemungkinan.
Thomas: Apakah Anda merilis project Zephyr sebagai open source? Jenis lisensi apa yang Anda gunakan? Apakah ada rencana untuk memonetisasi project tersebut?
Lars: Ya, solusinya adalah open source. Saya tidak memberikan lisensi khusus, tetapi saya pikir Apache 2.0 akan menjadi cara yang cocok. Banyak perusahaan besar menggunakan lisensi ini, termasuk Google. Ketika saya mengerjakan SimpleMouse, saya tidak berpikir untuk memonetisasi proyek—itu bukan tujuan saya. Namun, menurut saya, tetap masuk akal untuk memproduksinya dengan cara tertentu, dan ini akan menimbulkan biaya. Tujuan utamanya adalah untuk menyediakannya. Saya ingin layanan ini diimplementasikan dengan biaya rendah dan dalam skala besar.