1. KaiOS talks smart feature phones and app developers
6/13/2018 8:10:35 AM
KaiOS talks smart feature phones and app developers
KaiOS Phone,Feature Phone,KaiStore
https://news-cdn.moonbeam.co/KaiOS-Chat-With-App-Developer-Magazine_uj869qnh.jpg
App Developer Magazine
HTML5

KaiOS talks smart feature phones and app developers


Wednesday, June 13, 2018

Richard Harris Richard Harris

Tim Metz with KaiOS talks about the feature phone market and the impact it is having on mobile app developers and their app's user experience.

KaiOS is a Linux-based mobile operating system built on a fork of Firefox OS that first appeared in 2017 and was developed by KaiOS Technologies Inc. in San Diego. We recently chatted with Tim Metz, Marketing Director at KaiOS Technologies, about KaiOS' emerging operating system for smart feature phones. We discuss why these devices are becoming relevant again, what kind of technology they use, and what you need to keep in mind when you decide to bring your content to this form.

ADM: Why should app developers care about feature phones? It’s 2018!

Metz: Despite all the attention for smartphones, there are still an estimated 1.3 billion feature phone users globally, with annual sales in 2017 at between 500 and 600 million devices. Moreover, half the world’s population - over three billion people - still don’t have internet access. While some of them will purchase a smartphone in the near future, many still can’t afford one anytime soon. For them, a smart feature phone that has a store for apps, Wi-Fi, GPS, and such features are the most affordable way to get connected and have a good digital experience.

ADM: What are the different use cases (and target audiences) you see for feature phones around the world?

Metz: The largest group are those in emerging markets, the people we referred to in the first answer. For them, a smart feature phone will be their first internet experience, and often even their first computer. They use the device for social media and games, but also to watch videos, listen to music, do business, and educate themselves.

The other group is users in established markets. The use cases here are quite varied and can be further subdivided:

Older generations: they don’t like or don’t know how to use a touch-based phone and prefer a keypad. Our partner Doro develops products specifically for this user segment.

Companion phone: we see an emerging trend of people using a smart feature phone, like the Nokia 8110, as an extra phone. Either as a backup, for when the battery on their smartphone runs out, or as a full replacement when going to a party, to the beach, or for outdoor activities.

Enterprise: certain professions require more durable phones. Our partner Bullitt focusses on this with their rugged CAT phones.

In the case of KaiOS, the split between these audiences is about 80% emerging markets and 20% established.

ADM: What are the main differences between an “old” feature phone and these new (smart) feature phones? (especially in terms of features and technical specs)?

Metz: The big difference is that smart feature phones take the essentials from the smartphone and put them in the body of a feature phone. So you have support for 4G/LTE, GPS, Wi-Fi, and in some cases, NFC. With KaiOS, the entire platform is web-based, so everything works based on HTML5, CSS, and Javascript.

For the user, this means they have access to a store for apps (called the KaiStore on KaiOS) and many of the other features they’ve come to expect on smartphones, but in a more affordable device with longer battery life.

For carriers and manufacturers, it means they can create a new business model based on data for a customer segment they could previously only target with voice and text. They also get the same backend capabilities they have with smartphones (e.g., over-the-air updates, networking analytics).

ADM: What is the difference between developing apps for an HTML5-based mobile platform and other mobile operating systems?

Metz: Most other platforms are based on a proprietary language or technology developed by another company or organization. This requires the developer to go through a learning curve for that platform and his creation will not be easily transferable to another platform.

HTML5-based applications are based on web technologies, like HTML, Javascript, and CSS. These are already standardized, cross-platform, and suitable for responsive design. This makes development much easier, as applications can be developed with existing frameworks and services. They’re also supported by the existing web ecosystem and whatever gets created can easily be used for other purposes as well.

ADM: How does a limited amount of memory affect the features and performance of modern apps? Any ingenious tricks and workarounds you have seen/can share?

Metz: Limited memory (and a low-end CPU) is a big challenge for any kind of app, so we’ve come up with some tricks and improvements through our experience helping partners getting their apps to KaiOS. Here are two examples:

Launch time: how quickly an app launches is crucial for the overall user experience. With limited memory available, this can be a challenge. We’ve created a little visual trick for this: the user judges the launch time by the first scene they see, so what we’ve done is to cache the final HTML screen from the previous session, and we display this upon launch while doing background loading of the rest of the content simultaneously. This way the user feels the app is responsive with a reasonable loading time.  

Look and feel: we have avoided any heavy transitions and fancy animations. These are nice-to-have when you have plenty of system resources, but they kill performance and battery quickly so we’ve left them out.

Overall we find that many developers and designers we work with actually enjoy the challenge of optimizing their app with these constraints. It’s a challenge they relish and sometimes even leads to insights they apply in their “normal” versions of the app as well!

ADM: How does a keypad (or lack of a touchscreen) affect the UX of modern apps?

Metz: Navigation is the key “battleground” when adopting a modern, touchscreen app to a non-touch one.  

When designing an app for non-touch interfaces, the focus state is a unique element for navigation, which is not the case with touchscreen devices. The reason is simple: on a touchscreen, the user can directly tap an item (i.e. a button or a list item) to perform the action (or simply finger swipe to scroll a page). On a non-touchscreen device, the user can only interact with a focused/highlighted item via a keypad. To scroll a page, the user has to move the highlight up or down by pressing the up or down key on the keypad. Therefore, these are the first items we have to look at when doing UX design for smart feature phones, as these are essential elements of navigation.

Developers also need to think about how to do navigation for their app using the D-pad, as well as how to interact with the app via Left Softkey (LSK), Center Softkey (CSK), and Right Softkey (RSK). KaiOS provides guidelines as a reference for all kinds of system behaviors to help speed up app development. In addition to the D-pad and softkeys, there are many other keys available to optimize UX for an app. It’s a lot of fun to explore creative UX solutions while porting smartphone apps to (smart) feature phones.

ADM: How does KaiOS differ from the discontinued Firefox OS? And what are the similarities?

Metz: Technically speaking KaiOS is forked from B2G (Boot to Gecko), so it’s a successor of Firefox OS, which was discontinued in 2016. Other than that, KaiOS has no (formal) relationship with Mozilla.

From a positioning perspective, KaiOS has a very specific focus on smart feature phones, whereas Firefox OS was originally intended for a much wider range of devices, including smartphones.

ADM: How will developers be able to monetize their apps when they port them to a feature phone?

Metz: On KaiOS it’s not very different from how this works on smartphones. In our KaiStore, developers are able to provide apps for free or as a paid download. They can also offer in-app purchases. In addition, we’re developing an advertising solution called KaiAds. This product is specifically developed for facilitating advertising on feature phones, serving users in emerging markets. This will further help developers to monetize their apps.

ADM: Can you elaborate a bit on how an OS is built? (from a technical and product management perspective)

Metz: KaiOS apps are based on web technologies - HTML, CSS, and JavaScript and are run by Gecko runtime; if you have ever written a web page you know the basics.

Rendering is done by parsing HTML/CSS and painted using graphic APIs. JavaScripts are executed by the JS engine SpiderMonkey and connected to C++ components by XPConnect and WebIDL bindings. Applications and the core process communicate only through IPC protocols defined by IPDL.

Additionally, a set of core components including file and memory management, threads, and data structures are provided through the XPCOM component object model.

Applications have a different level of access to resources depending on their granted permissions, which may be restricted by the type of application.

There are two types of web applications: packaged and hosted. Packaged apps are essentially zip files containing all application assets: HTML, CSS, JavaScript, images, manifest, and so on. Hosted apps run from a server at a given domain, just like a standard website. Both app types require a valid manifest.

As mentioned, KaiOS apps are based on the web app. So, if you have already some web app ready or under development, you can bring to the platform easily.



Read more: https://www.kaiostech.com

Subscribe to App Developer Magazine

Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.

MEMBERS GET ACCESS TO

  • - Exclusive content from leaders in the industry
  • - Q&A articles from industry leaders
  • - Tips and tricks from the most successful developers weekly
  • - Monthly issues, including all 90+ back-issues since 2012
  • - Event discounts and early-bird signups
  • - Gain insight from top achievers in the app store
  • - Learn what tools to use, what SDK's to use, and more

    Subscribe here