KaiOS Needs Apps

KaiOS’s app store is really empty right now. I can play Internet radio stations in the background, read the Qur’an, scan QR codes, and play some terrible games. I can search the Internet and browse the Web using the D-pad to move a cursor around, and use the most limited mobile web versions of Google Maps, Facebook, etc.. Did I mention the unimpressive games?

If you don’t want to be distracted by a smartphone, but you still want to be able to play Internet radio or a YouTube video (in an emergency), and you want Wi-Fi and 4G LTE data, it’s quite promising. I have a very specific app in mind where this phone is perfect, and I can tell that I won’t have much competition. I just turned off Wi-Fi to test how many days of standby life I can get on Verizon LTE.

I don’t want to sound like an old man, but even though the Nokia 2760 Flip looks like the original Nokia 2760 from 2007, it is thankfully much, much easier to write compelling apps for. The original Nokia flip phones used Series 40, or at least the ones that supported Java ME apps (MIDlets). What I remember from working in the same office as a company that was developing MIDlet games in 2005, it was horrible having to deal with the fragmentation of the market. IIRC, different brands didn’t even generate the same keycodes for the buttons.

There was another API called BREW that was popular circa 2005, but I never developed any apps for that because the app store was fairly locked down. I did develop a C++ app for Symbian Series 60, which was no fun at all.

Series 60 phones also supported Java MIDlets, but the C++ API and SDK, along with the OS itself, evolved from EPOC32, for the Psion Series 5 organizers. The reason I say it was no fun is that the original designers invented their own bizarre class hierarchy for byte buffers and text strings, both Unicode and ASCII, and they didn’t support C++ exceptions, but did use a setjmp/longjmp type exception mechanism called “leave”, plus something called a “cleanup stack”. As you can see from the code in the links, EPOC32 even came up with a bizarre C++ block indentation style that nobody else uses.

KaiOS 3.0 upgraded the HTML5 engine to support WebAssembly, so the phones with the 3.x version of the OS have the best of all possible worlds: JavaScript, plus native code (C++, Rust, or anything else that can target Wasm). Admittedly, not every app makes sense to run on a flip phone with a QVGA (320×240) non-touch screen on a flip phone with a cheap membrane keypad. But it’s infinitely easier now to write apps for KaiOS than it was for even the T-Mobile Sidekick phones that I worked on at Danger, which had their own proprietary Java SE API.







Leave a Reply

Your email address will not be published. Required fields are marked *