24 September 2019

A Smart OS for Dumb PhonesLast week, I published a video entitled 4G Dumbphones: Get one with KaiOS!

In that vid, I talked about why KaiOS is a great OS to have on a 4G dumbphone.

Quite a few people asked various questions, like:

But hang on, isn’t that just a smartphone disguised as a dumbphone? But if it has Google, how is that different from an Android smartphone?

And so on.

So this week, I want to dig into some of the details of KaiOS and why it is NOT your daddy’s smartphone.

A Nice Story

Back in the day when the first iPhone was being developed, we learned that Apple wanted iOS apps to be literally just web apps: HTML, CSS, and JavaScript.

At the time, that wasn’t practical – mostly due to the limitations of JavaScript. Therefore, the “native mobile app” was born.

Native mobile apps are relatively difficult to develop, and are custom to each smartphone platform (iOS, Android, Windows Phone).

The so-called web-based apps dreamed of way back when are basically what Progressive Web Apps (PWAs) are today. For more info on PWAs, see my video: A new type of App you’re gonna LOVE!

Behold, KaiOS!

So here we are today, and KaiOS is rapidly becoming a very popular phone OS. As of today, KaiOS seems to have even dethroned iOS in countries like India.

No wonder Google is interested!

KaiOS runs apps that are literally web apps like a PWA. They’re HTML5 + CSS + JavaScript, which is exactly what we use to create web pages on the good ole internets.

This type of app has several key advantages over native Android apps, including increased privacy and data security.

But first, let’s look at the difference between an Android smartphone and a KaiOS not-so-smartphone.

The Proof is in the Pudding

Now, take your average smartphone that runs Android. Android itself as in open source project. Anyone can use it.

But Google’s Play Store, Assistant, Maps, and other apps are proprietary software that is (naturally) tightly tied into the underlying Google Android (open source) OS.

Thus, for Android smartphones, we have something like this:

Android Stack

Note the number of “Google layers”. For KaiOS, the picture looks a bit different. It’s more like so:

KaiOS Stack

Aha!  Now we begin to see the difference. In both images, the blue boxes at the top are the “apps” that we all know and love.

Granted, these diagrams are oversimplified, but you get the idea…

If you want to go totally nuts, take a peak at this flowchart from KaiOS’ developer web site:

KaiOS Architecture Block Diagram
Click to enlarge

Oh boy, that one’s pretty hairy…

Basically, the deal with KaiOS is that it runs a flavor of linux called Gonk. Gonk is just a linux kernel with chunks of Android drivers and other things included for talking to hardware, debugging, and so on.

In other words, the linux that KaiOS uses incorporates some of the open source bits of Android – but no proprietary Google stuff. That’s pretty much similar to all flavors of linux out there. It’s all open source stuff.

And the entire KaiOS project was based on B2G / FirefoxOS, so it’s pretty much Mozilla’s original creation with some changes and updates.

So far, so good…

On top of Gonk, you have the Gecko browser engine that is “enhanced” with extra JavaScript interfaces like Geolocation. So in your web-based KaiOS app JavaScript, you can call:

navigator.geolocation.getCurrentPosition(success, error, options);

And your JS will get a latitude, longitude, and accuracy.

The way that works is that the added JS methods “talk” to Gonk (aka linux) which itself talks to the GPS hardware.

There are other JavaScript interfaces for accessing things like battery life, WiFi status, BlueTooth, alarms, cell network status, speed dial, speaker volume, etc.

What you see is basically a web site

So, when you use a dumbphone with KaiOS, you are using the Gaia front end.

Gaia is the HTML5 + CSS + JS that runs on Gecko (browser) which runs on top of Gonk (linux).

That means that the whole user interface of a KaiOS phone is literally a web site running on your phone. All the KaiOS apps – including Google’s – are also just web pages running on the device.

They aren’t native apps with deep access to the core of the OS, because there is a browser layer in between.

Now, certainly, some apps like Google Assistant are able to pop up whenever you’re using your KaiOS phone and a text box is selected.

But what seems to be happening there is that Google Assistant – despite it’s apparent tight integration – is just another web app.

Better privacy for you and me

SecurityAnd all that means that if you’d use a Google web site (including YouTube), then you can use a KaiOS phone with Google apps.

Is KaiOS perfect in terms of Google-free privacy? No! That doesn’t exist, I’m afraid.

But it’s a heckuva lot better than Android as far as I can tell.

Finally, note that dumbphones like the Nokia 8110 4G that run KaiOS don’t have all the crazy sensors that smartphones have…

Sensors? What sensors?!

My old Nexus 5X that I use for shooting videos has a front camera, rear camera, proximity sensor, accelerometer, gyroscope, magnetometer, fingerprint sensor, barometer, and a Hall effect sensor.

Contrast that to my Nokia 8110, which is only 1 camera (2MP), A-GPS, WiFi, and Bluetooth. None of the other sensors are present.

The absence of all the ridiculous sensors means that there are far fewer sources of “metadata” that can be used to track you.

For example, the accelerometer and gyroscope can be used to determine the position and motion of the phone to help track your movements more accurately – even if GPS and WiFi are turned off!

Not so with these inexpensive dumbphones.

Et voila

So you see, not only are apps on KaiOS a very different animal than native Android or iOS apps, but the entire underlying operating system that makes it all go is a horse of a different color.

Google’s KaiOS apps (as well as others, like WhatsApp) are inherently more limited in what they can do when compared to their smartphone equivalents.

And finally, keep in mind that these dumbphones use very low-end hardware to keep them cheap.

There won’t be any “AI” or complex calculations happening anytime soon on one of these little guys..

In fact, the KaiOS app developer agreement even tells you to limit the amount of network data you send. They also forbid VOIP apps to save bandwidth since KaiOS is popular in developing countries where network infrastructure may not be the greatest.

So, is a phone with KaiOS really “dumb”?

Not totally… But they sure as heck are NOT smartphones!

Get Scottie Stuff!
Dumbphone with KaiOS: Hang on, isn’t that a smartphone?
Tagged on:                 

2 thoughts on “Dumbphone with KaiOS: Hang on, isn’t that a smartphone?

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.