What is KaiOS?

By Amanz — [1]
      @ 0:08, CC BY 3.0,
      https://commons.wikimedia.org/w/index.php?curid=70342393KaiOS, founded in 2016, is an Android-based operating system developed by American-based company KaiOS Technologies (with offices in Hong Kong, Taiwan, China, India, Brazil and France) for smart feature phones (not dumb at all). KaiOS was forked from the defunct B2G project, which itself was forked from Firefox OS. The latter was planned to compete against Android (especially Android Go, not necessarily iOS) on smart phones and other smart devices including television sets and even IoT. Unfortunately Firefox OS was not well received by developers leading to its demise.

KaiOS took the Firefox OS (2013-16), which was forked as Boot to Gecko (B2G, defunct as of 2017) code and modified it for feature phones — usually with a 1.1 GHz Qualcomm Snapdragon or similar microprocessor, small internal storage (2.37 GB of 4 GB of internal storage used by the built-in apps), 512 MB of RAM, a slot for external storage (microSD) up to 32 GB, Bluetooth access, no keyboard, no touchscreen (usually the most expensive component in most smart phones), flip phone with a 320x240 (portrait only) LCD screen (QVGA, 262,144 colors), usually a low resolution (2 MP) front camera and no flash.

Note that Firefox OS, then forked as B2G and now forked as KaiOS, boot directly to the Gecko rendering engine (Firefox). Therefore apps for KaiOS are coded in HTML5, CCS3 and JS using WebIDE (Mozilla Foundation) or their SDK. The latter languages allow KaiOS to run on inexpensive yet robust hardware capable of running on 2G and 4G at a fraction of the cost thanks to lower bandwidth and battery consumption — about 390 minutes (5 hours) of talk time and 300 hours (12 days) of stand-by depending to the vendor. In reality, my $20 Alcatel A405DL can get about 6 days on stand-by on a full charge, which takes about 2.5 hours if the 1,350 mAh battery is fully drained.

Low battery consumption is partially due to fewer background online services that would make the system crawl or access hardware and/or other software (services, most likely) without your consent — hence more secure. This also means less chance of viruses including worms and Trojans. This actually makes KaiOS more appropriate for privacy concerns than Android or iOS, for that matter.

Although third-party are apps (usually not part of the OS) are browser-based, some of apps can run offline from cache (no feeds or hosted apps). The only difference is that KaiOS single image advertisement (KaiAds) that runs at the start of these apps fails to run (not cached). By the way, the web browser app is simply labeled as Browser (extremely original name), which can hold an offline version of some websites. Strangely enough, as of 10/22/2019, UC Browser (UCWeb, part of the Alibaba Group, China) is available for KaiOS (a web browser running another web browser).

There are several companies that are working with and/or have invested over $50 million in KaiOS (as of May 2019) including Google with an investment of $22 million, which has also supplied compatible versions of Google Search, Google Assistant (speech recognition rather than using a keypad) and Google Maps. It is interesting that Google is helping the competition or trying to secure a position in the feature phone market — a different subset of the mobile market.

KaiOS seems to be more of an ideology than technology. KaiOS is pushed as a means to bring poor people to the internet and related technologies as well as to give them resources they might need as a means of education. This mentality has helped KaiOS become a hit in developing countries especially in Asia and Africa bringing internet access to over 100 million current (as of May 2019) and potential customers who cannot afford or do not want a smart phone. Having an app store or repository (KaiStore) offering WhatsApp (communication service of choice in many countries in Asia and Africa, owned by Facebook) has helped too.

In India, Jio has invested $7 million and uses KaiOS for their mobile phones — branded as JioPhone (about $25 with a keypad only or $45 with a QWERTY keyboard) with its own version of the app store (Jio Store). Needless to say, hackers have found a way to install and run the KaiStore on any JioPhone.

In North America, the selection of KaiOS mobile phones is extremely limited. Some feature phones running KaiOS, although not advertised as such, are targeted to the elderly and start at about $20. One of best feature phones (if not the best model) running KaiOS in the North American market is the $70 Nokia 8110 4G (nicknamed the banana phone) with a keypad only — no keyboard, but with voice recognition using Google Assistant.

KaiOS currently holds a large (if not the largest) share of the feature phone market and can possibly become the leader in this technology in developing countries.

I could not convince KaiOS Technologies to have a vendor send me a unit for free. Therefore I bought an Alcatel A405DL running KaiOS 2.5 (build WUG4) to test the OS, but no mobile service. By the way, to no one's surprise the customer support staff had no idea what KaiOS is. Maybe privately-owned KaiOS Technologies should advertise their OS in the US as other vendors currently do. Maybe this way users can ask for KaiOS and the user base when buying feature phones instead of simply buying cheap mobile phones with some proprietary OS that no one has ever heard of before. Hence they could provide KaiOS on more units in the US as an alternative to iOS and Android in order to secure more American investors.

The storage structure (directory tree) is fairly similar to that of Android — when a KaiOS mobile device is mounted as an external HDD.

          + 0                 (hidden in File Manager)
          + audio
            + .RCD audio files
          + DCIM
            + 100KAIOS
              + .JPG images & .3GP videos
            + screenshots
          + downloads
              + Bluetooth     (if used)
          + music
          + obb               (hidden in File Manager)
          + others
          + photos
          + videos
          + [third-party app subdirectories if any]
          + [user-defined subdirectories]
          + .gallery          (hidden in File Manager)
            + previews
              + downloads
                + Bluetooth   (if used)
            + tmp
              + [including wallpapers]
        SD Card
          + LOST.DIR
          + [user-defined subdirectories only]

Note that KaiOS does not save files to microSD and the OS does not seem to give any means to change where the path. It seems that access to microSD is for users to save and/or move pictures, videos, music and other personal files between the internal and external storage rather than writing to it.

The unit comes with built-in apps.

I have tested and played with KaiOS since August 2019. My Alcatel A405DL runs KaiOS 2.5 (no OS update available), which was released in February 2018. Therefore my opinion is based on and limited to this version of the OS.

Note that KaiOS 2.6 was released in May 2019, but most vendors have not marketed devices with the new version of the OS as of late 2019 (over a year later). Of course, if Alcatel or any other vendor wants me to test a model with KaiOS 2.5.1 or higher, I would gladly accept.

So far, I have noticed is that the version of KaiStore in my Alcatel A405DL does not offer the same apps advertised in other countries like Google Assistant or other Google apps and/or services for the feature phone that I bought. According to KaiOS Technologies, the selection of apps and updates depend on the sole discretion of the vendor and/or carrier.

        KaiOS Support @KaiHelps · Sep 2 [2019]
        Replying to @VintageOS
        Hello.  Please note that your phone needs to have the
        latest version 2.5.1 for those apps.  Form our side
        this version is pushed, now it is up to Alcatel to
        decide when to push the update for its phones.
            FRN2000@VintageOS @VintageOS · Aug 31 [2019]
            > @KaiHelps Why does #KaiStore in the #USA doesn't
            have the same apps in other countries.  There is no
            #GoogleAssistant.  I have a #KaisOS 2.5 #Alcatel
            #FeaturePhone.  Why is that?

For my Alcatel A405DL, the selection of apps is fairly poor compared to the selection from vendors abroad — for example, JioPhone (India). At the same time, I have checked for updates and there is no update for KaiOS 2.5.1 at least for my phone.

Audio is recorded in either a sample rate of 8 KHz (good enough for voice) or 44 KHz (100 Hz short of audio CD quality) .RCD. The naming convention is prefix record_ followed by the timestamp with format yyyy-mm-dd_HHmmss (for example, record_20190904_172958.rcd).

The naming convention of the 320x240 (portrait only) pictures is fairly annoying where prefix IMG_ comes before an incremental integer from 0001 (IMG_0001.jpg) to 9999 (IMG_9999.jpg) — in other words, no timestamp. At least, screenshots (camera key and volume down) have a different naming convention that includes the timestamp with format yyyy-MM-dd-HH-mm-ss with file type .PNG (for example, 2019-09-04-17-29-58.png).

Videos are recorded in 320x240 (portrait only) .3GP and saved with the same naming convention as pictures starting with prefix VID_ instead of IMG_ — in other words, just as annoying.

Other than my complaint about pictures (not screenshots), I can even read my email on Browser, but I could not get the E-Mail app to work with Gmail maybe because of my account security.

        From: Google < no-reply@accounts.google.com >
        Date: Sat, Aug 31, 2019 at 2:48 PM
        Subject: Security alert for your linked Google Account
        To: *******@gmail.com
        Your account *******@foobar.com is listed as the
        recovery email for *******@gmail.com.  Don't recognize
        this account?  Click here
        New sign-in to your linked account
        Your Google Account was just signed in to from a new
        KaiOS device.  You're getting this email to make sure
        it was you.
        Check activity
        You can also go directly to myaccount.google.com/alert
        You received this email to let you know about important
        changes to your Google Account and services.
        ® 2019 Google LLC, 1600 Amphitheatre Parkway,
        Mountain View, CA 94043, USA

Websites from some email providers like Protonmail are not rendered properly in Browser and are almost impossible to use — even with the newly released UC Browser. The Protonmail page slowly refreshes every time I scroll up or down. For the record, I like the services provided by Protonmail and use several of them including its email service for VintageOS.

Websites from other providers like Yahoo, which have legacy interfaces for older and/or slower devices, are rendered properly in Browser although the Yahoo sees device as Firefox OS and not KaiOS.

        From: Yahoo 
        Date: Sat, Aug 31, 2019 at at 9:19 PM
        Subject: Unexpected sign-in attempt
        To: <********@********.***>
        Hi ********,
        Someone on an unrecognized device attempted to sign in
        to your Yahoo account.
        This sign in attempt was made on:
        Device    firefox mobile, firefox os
        When      August 31, 2019 at 9:19 PM
        Where*    New York, United States
        If this was you, you're all set!
        Didn't sign in recently?
        Review your account activity and remove the devices and
        apps that you don't recognize.
        We will never ask you for your password in an email.
        If you don't trust a link in an email, go directly to
        the normal sign in page via yahoo.com.
        *Location is approximate based on the IP address it
        originated from.

One little issue that drives me crazy accessing my email in Browser is having to authenticate much too often. I understand having to log in to 802.11 every time I move from one network to another (home to work and vice versa), but it seems that cookies in the built-in web browser (Browser) have a much more limited life than most browsers.

From what I can see so far, the mobile phone that I bought with KaiOS 2.5 (Alcatel A405DL) has the proper coder-decoders (codecs) for audio (.MP3 & .OOG), video (.MP4, .3GP, .OGV & .3GP), images including wallpapers (.JPG, .JPEG & .BMP) and texts (.TXT).

Since apps for KaiOS do not require lots of resources, I was surprised when the Magnify app (a virtual magnifying glass) developed by Kai performs better and does not shake as much as similar apps in Android.

Maybe I am too much of a nerd, but I really like my $20 feature phone regardless of its limitations like having to type using a keypad (13 keystrokes just to say "hello"). By the way, if you are wondering why I get so excited about this archaic phone, I like most old technologies (hence the name of VintageOS). KaiOS has a retro look and feel that I like. Besides, there are many dumb phones in the market that offer less than KaiOS and some are much more expensive than a $20 Alcatel A405DL (no advertisement, no endorsement).

Rumors & Future of KaiOS:

There are rumors going around concerning the future of KaiOS with the Google $22 million investment. Since I am not getting paid by any of these websites and/or publications, I have decided not to include the names and/or links of these sources.

  1. There was an article indicating that Google had bought KaiOS to take over part or the whole feature phone market. I am glad that I have not seen any other article related to this rumor.
  2. Another article indicated that Google might persuade the developers of KaiOS to drop the Firefox browser and B2G in favor of Chrome and some variation of Android or Chrome OS as the new base of the OS.
  3. Good news came from a business website that mentioned that Google might have invested $22 million in order to secure the Indian market with the JioPhone. Then again, Google might be interested in having a foot in the feature phone market and/or as a means to keep Amazon's Alexa out of the picture (no competition from Microsoft's Cortana). By the way, the scaled-down version of Android (Android Go) is not making an impact in the American market. The price of Android Go phones is almost the same as a full Android phone (over $100) compared to the $20 that I paid for my Alcatel A405DL. This article makes more sense and I like that I had assumed the same when I first heard of the investment. In other words, KaiOS has surprisingly better sales than the scaled-down version of the almighty Android (Android Go).
  4. Another rumor was promising although goes against the product that KaiOS wants to provide. Some think that Jio (India) wants to add touchscreens to their JioPhone 3 running KaiOS.

I hope the first two rumors are fake. If KaiOS wants to continue making an impact, it should remain independent and not allow takeovers by any company — especially Google and/or Microsoft.

Installing KaiOS:

As with most mobile devices (especially phones), there is no installation. There is no way for users to flash the ROM unless rooting it. As with other mobile devices, updates are pushed via firmware flashing by the manufacturer itself.

Nonetheless, hackers have made ways to exploit the hardware in a different way and even replacement operating systems for the hardware — for example, GerdaOS to "a custom ROM to liberate the heart of Kai" as per the project's website (11/2019).

Development for KaiOS:

As per the documentation in the KaiOS Developer portal, any well-made website could easily be made into an app. As such, I am currently making changes to VintageOS. I need to learn how to use WebIDE. Unfortunately I also have to get a new KaiOS phone (most likely, a $70 Nokia 8110 4G) since my Alcatel A405DL turns out to be restricted (no development access when mounted) by the original equipment manufacturer (OEM). Then I would be able to connect to the phone using ADB (Android Debug Bridge) — the same utility used when programming for Android).

          adb devices

According to their developer support, I can develop using their emulator, submit it and then test it using my Alcatel A405DL. I would feel more comfortable getting an unrestricted unit like the Nokia 8110 4G (a new, better toy) to start programming natively.

Another option that KaiOS has recommended is using the web IDE from Koji, which I have just started testing.

In any case, I need to force myself to work on the VintageOS app and finally finish the game that I started over a year ago and port it for KaiOS and Android.