<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>KaiOS.dev</title><link>https://kaios.dev/</link><description>Recent content on KaiOS.dev</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2023-2025. Last Byte LLC</copyright><atom:link href="https://kaios.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>A closer look at the TCL Go Flip 4 5G and KaiOS 4.0</title><link>https://kaios.dev/2026/03/a-closer-look-at-the-tcl-go-flip-4-5g-and-kaios-4.0/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0800</pubDate><guid>https://kaios.dev/2026/03/a-closer-look-at-the-tcl-go-flip-4-5g-and-kaios-4.0/</guid><description>&lt;p&gt;The TCL Go Flip 4 5G (commercial reference &lt;code&gt;T440W-EATBUS1-V&lt;/code&gt; for T-Mobile) is the first device to ship with KaiOS 4.0. Given that 
&lt;a href="https://kaios.dev/2023/05/cve-2023-33294-kaios-3.0-root-command-line-in-browser-via-tct-web-server/"&gt;CVE-2023-33294&lt;/a&gt; and 
&lt;a href="https://kaios.dev/2023/05/cve-2023-27108-call-logs-in-the-browser/"&gt;CVE-2023-27108&lt;/a&gt; were discovered on the original Alcatel Go Flip 4 running KaiOS 3.0, it was worth checking whether these issues carried forward to new hardware.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The short answer&lt;/strong&gt;: KaiOS 4.0 is architecturally &lt;strong&gt;indistinguishable from KaiOS 3.0&lt;/strong&gt;. Many of the known vulnerabilities have been partially addressed, but the surface area remains broad.&lt;/p&gt;</description></item><item><title>Announcing kaios-types: KaiOS TypeScript Declarations</title><link>https://kaios.dev/2025/11/announcing-kaios-types-kaios-typescript-declarations/</link><pubDate>Mon, 24 Nov 2025 00:00:00 +0800</pubDate><guid>https://kaios.dev/2025/11/announcing-kaios-types-kaios-typescript-declarations/</guid><description>&lt;p&gt;Building for KaiOS using modern tools can be challenging. Most KaiOS devices run KaiOS 2.5 which is based on Firefox 48, initially released nearly a decade ago in 2016. However, KaiOS includes several modern features like &lt;code&gt;Promises&lt;/code&gt;and CSS &lt;code&gt;grid&lt;/code&gt; that don&amp;rsquo;t perfectly align with it&amp;rsquo;s base Gecko engine.&lt;/p&gt;
&lt;p&gt;Building KaiOS apps often requires a transpiler like 
&lt;a href="https://babeljs.io/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Babel&lt;/a&gt;, but to make things even more complicated, KaiOS uses a number of non-standard APIs or APIs based on outdated specifications. That&amp;rsquo;s where 
&lt;a href="https://github.com/Tombarr/kaios-types" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;&lt;code&gt;kaios-types&lt;/code&gt;&lt;/a&gt; can help!&lt;/p&gt;</description></item><item><title>Deep Dive on Cloud Phone User Agents</title><link>https://kaios.dev/2025/06/deep-dive-on-cloud-phone-user-agents/</link><pubDate>Tue, 03 Jun 2025 00:00:00 +0800</pubDate><guid>https://kaios.dev/2025/06/deep-dive-on-cloud-phone-user-agents/</guid><description>&lt;h2 id="deep-dive-on-cloud-phone-user-agents"&gt;Deep Dive on Cloud Phone User Agents&lt;a class="anchorjs-link" href="#deep-dive-on-cloud-phone-user-agents"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; User agents are the most common way to identify devices on the web.&lt;/p&gt;
&lt;p&gt;A similar deep dive was completed for &lt;strong&gt;
&lt;a href="https://kaios.dev/2024/02/deep-dive-on-kaios-user-agents/"&gt;KaiOS user agents&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="key-takeaways"&gt;Key Takeaways&lt;a class="anchorjs-link" href="#key-takeaways"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cloud Phone user agents follow a 
&lt;a href="https://developer.cloudfone.com/docs/guides/get-started/#user-agent" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;consistent pattern&lt;/a&gt; including several components:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;User Agent Components&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Cloud Phone&lt;/code&gt; identifies all Cloud Phone devices&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Puffin&lt;/code&gt; identifies the remote-browser architecture shared with the 
&lt;a href="https://puffin.com" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Puffin browser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Nokia 225 4G&lt;/code&gt; is the device model name. &lt;code&gt;Generic&lt;/code&gt; is used by the Cloud Phone Simulator or pre-production devices&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Chrome/128.0.6613.170&lt;/code&gt; identifies the Chromium version used by Cloud Phone servers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For compatibility, Chromium adds strings like &lt;code&gt;KHTML, like Gecko&lt;/code&gt; and &lt;code&gt;Safari&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>An In-Depth Look At KaiOS Smart Touch</title><link>https://kaios.dev/2025/01/an-in-depth-look-at-kaios-smart-touch/</link><pubDate>Sun, 26 Jan 2025 00:00:00 +0800</pubDate><guid>https://kaios.dev/2025/01/an-in-depth-look-at-kaios-smart-touch/</guid><description>&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/kaios-smart-touch-prototype.jpg" data-action="zoom" alt="KaiOS Smart Touch Prototype" title="KaiOS Smart Touch TCL Prototype" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;KaiOS Smart Touch TCL Prototype&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;KaiOS Smart Touch almost had a chance to compete with budget Android Go smartphones. That is, if it had not been killed before hitting the market.&lt;/p&gt;
&lt;h1 id="kaios-smart-touch"&gt;KaiOS Smart Touch&lt;a class="anchorjs-link" href="#kaios-smart-touch"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;
&lt;a href="https://kaios.dev/2023/01/history-of-kaios/#kaios-smart-touch-the-os-that-never-was"&gt;KaiOS Smart Touch&lt;/a&gt; (ST) was a mobile operating system based on 
&lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/Firefox_OS" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Firefox OS&lt;/a&gt; designed for budget touchscreen smartphones. ST dates back to 2020 as a fork of KaiOS with a somewhat unconventional 
&lt;a href="https://www.miketsai.com/smart-touch" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;user interface&lt;/a&gt;, a catalog of web apps from the KaiStore and JioStore, and a focus on affordability. It was initially developed for Reliance Jio following the massive success of the original JioPhone. However, Google&amp;rsquo;s multi-billion dollar investment in Jio ensured the telco would pivot to Android, killing KaiOS Smart Touch before it got off the ground.&lt;/p&gt;</description></item><item><title>What's coming in KaiOS 4.0?</title><link>https://kaios.dev/2024/12/whats-coming-in-kaios-4.0/</link><pubDate>Sun, 08 Dec 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/12/whats-coming-in-kaios-4.0/</guid><description>&lt;p&gt;&lt;strong&gt;May 2025 Update&lt;/strong&gt;: the 
&lt;a href="https://kaios.dev/2024/03/the-complete-list-of-kaios-phones-2024/#the-first-with-kaios-40-tcl-flip-4"&gt;TCL Flip 4 launched with KaiOS 4.0&lt;/a&gt; matching many of the predictions below. It&amp;rsquo;s available in the United States and is the first KaiOS phone to support 5G.&lt;/p&gt;
&lt;p&gt;At CES 2024, KaiOS discussed 
&lt;a href="https://www.kaiostech.com/kaios-was-at-ces-tech-event-2024/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;5G smart feature phones&lt;/a&gt; &amp;ldquo;slated for an early 2025 rollout&amp;rdquo; in partnership with Qualcomm.&lt;/p&gt;
&lt;h1 id="kaios-40"&gt;KaiOS 4.0&lt;a class="anchorjs-link" href="#kaios-40"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;KaiOS 4.0 is the next major version of KaiOS, expected to be released in 2025. Hints have been discovered in 
&lt;a href="https://kaios.dev/2024/02/deep-dive-on-kaios-user-agents/" title="user agent"&gt;user agent&lt;/a&gt; logs and online forums. KaiOS 4.0 made it&amp;rsquo;s first appearance on the KaiOS Developer Portal in 
&lt;a href="https://www.reddit.com/r/KaiOS/comments/1ccr504/is_kaios_40_coming_soon/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;April 2024&lt;/a&gt;. Here what we know so far:&lt;/p&gt;</description></item><item><title>The Definitive Guide to Publishing KaiOS Apps on the JioStore</title><link>https://kaios.dev/2024/11/the-definitive-guide-to-publishing-kaios-apps-on-the-jiostore/</link><pubDate>Sun, 10 Nov 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/11/the-definitive-guide-to-publishing-kaios-apps-on-the-jiostore/</guid><description>&lt;h1 id="publishing-apps-on-the-jiostore"&gt;Publishing Apps on the JioStore&lt;a class="anchorjs-link" href="#publishing-apps-on-the-jiostore"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;With the majority of KaiOS users located in India, publishing on the JioStore is a must to maximizing your app&amp;rsquo;s reach.&lt;/p&gt;
&lt;h3 id="at-a-glance"&gt;At a Glance&lt;a class="anchorjs-link" href="#at-a-glance"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;KaiOS has 
&lt;a href="https://kaios.dev/2023/02/the-kaios-ecosystem-apps-app-stores/#a-tale-of-two-stores"&gt;two app stores&lt;/a&gt;: the KaiStore (Global) and JioStore (India)&lt;/li&gt;
&lt;li&gt;The JioStore is only available on the Reliance 
&lt;a href="https://kaios.dev/2023/08/whats-next-for-the-jiophone/"&gt;JioPhone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;~90% of all KaiOS users are located in India&lt;/li&gt;
&lt;li&gt;Less than 10% of KaiOS apps are publishing on the JioStore&lt;/li&gt;
&lt;li&gt;Publishing on the JioStore is &lt;em&gt;much&lt;/em&gt; more difficult than the KaiStore&lt;/li&gt;
&lt;li&gt;Jio refers to its version of KaiOS as &amp;ldquo;JioOSLite&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Games are not published on the JioStore but on a separate platform, JioGames&lt;/li&gt;
&lt;li&gt;Jio prefers apps integrated with the 
&lt;a href="https://dashboard-jioadvt.jio.com" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;JioAds&lt;/a&gt; SDK (although payment is not supported for developers outside of India)&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="the-jiostore-basics"&gt;The JioStore Basics&lt;a class="anchorjs-link" href="#the-jiostore-basics"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The JioStore has a 
&lt;a href="https://developer.jio.com/publisher/apps/listing" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;web portal&lt;/a&gt; to publish apps. Like the KaiStore, the JioStore accepts two types of apps: packaged and hosted. This is a significant improvement over the previous process of submitting builds as ZIP files via WhatsApp.&lt;/p&gt;</description></item><item><title>What APIs are supported on CloudMosa's Cloud Phone?</title><link>https://kaios.dev/2024/08/what-apis-are-supported-on-cloudmosas-cloud-phone/</link><pubDate>Fri, 09 Aug 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/08/what-apis-are-supported-on-cloudmosas-cloud-phone/</guid><description>&lt;h1 id="how-cloud-phone-works"&gt;How Cloud Phone Works&lt;a class="anchorjs-link" href="#how-cloud-phone-works"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/puffin-architecture.png" data-action="zoom" alt="Cloud Phone Architecture" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Cloud Phone is a remote browser with two key components: a thin client application that renders a proprietary vector graphics language on device, and a sandboxed server running Chrome to translate websites comprised of HTML, CSS, and JavaScript into a vector graphics language. Cloud Phone is based on the Puffin web browser and uses the proprietary 
&lt;a href="https://medium.com/cloudmosa-en/cloudmosas-cloud-avatar-the-world-s-most-advanced-remote-browsing-platform-9ae9d23dec0e" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Puffin Vector Graphics Language&lt;/a&gt;. This greatly reduces the hardware requirements and bandwidth for running the thin client, allowing it to work effectively on devices like budget feature phones.&lt;/p&gt;</description></item><item><title>A Developer's Introduction to CloudMosa's Cloud Phone</title><link>https://kaios.dev/2024/06/a-developers-introduction-to-cloudmosas-cloud-phone/</link><pubDate>Sun, 16 Jun 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/06/a-developers-introduction-to-cloudmosas-cloud-phone/</guid><description>&lt;h1 id="a-developers-introduction-to-cloudmosas-cloud-phone"&gt;A Developer&amp;rsquo;s Introduction to CloudMosa&amp;rsquo;s Cloud Phone&lt;a class="anchorjs-link" href="#a-developers-introduction-to-cloudmosas-cloud-phone"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/cloudphone_logo.png" data-action="zoom" alt="Cloud Phone Logo" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;h2 id="at-a-glance"&gt;At a Glance&lt;a class="anchorjs-link" href="#at-a-glance"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;
&lt;a href="https://www.cloudfone.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Cloud Phone&lt;/a&gt; is a Chrome-based remote browser from CloudMosa, Inc for budget feature phones to seamlessly interact with media-rich web apps (called &amp;ldquo;widgets&amp;rdquo;) like YouTube Shorts and TikTok. Cloud Phone is based on 
&lt;a href="https://www.puffin.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Puffin&lt;/a&gt;, a remote browser similar to 
&lt;a href="https://www.opera.com/browsers/opera-mini" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Opera Mini&lt;/a&gt; that renders websites on cloud servers, sending markup language representations to draw on device.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quick take&lt;/strong&gt;. Cloud Phone performs well on budget hardware, incentivizes 4G bandwidth utilization, and requires minimal web app refactoring. It&amp;rsquo;s well-positioned to expand rapidly among the 
&lt;a href="https://www.statista.com/outlook/cmo/consumer-electronics/telephony/feature-phones/worldwide" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;200M+ feature phones&lt;/a&gt; sold annually.&lt;/p&gt;</description></item><item><title>KaiOS System Properties</title><link>https://kaios.dev/2024/03/kaios-system-properties/</link><pubDate>Thu, 28 Mar 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/03/kaios-system-properties/</guid><description>&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/kaios-flows.jpg" data-action="zoom" alt="KaiOS Architecture" title="KaiOS Architecture (Source: &amp;lt;a href=&amp;#39;https://scottiestech.info/2019/09/24/dumbphone-with-kaios-hang-on-isnt-that-a-smartphone/flows/&amp;#39; rel=&amp;#39;external noopener&amp;#39;&amp;gt;scottiestech.info&amp;lt;/a&amp;gt;)" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;KaiOS Architecture (Source: &lt;a href='https://scottiestech.info/2019/09/24/dumbphone-with-kaios-hang-on-isnt-that-a-smartphone/flows/' rel='external noopener'&gt;scottiestech.info&lt;/a&gt;)&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;h1 id="reading-and-writing-system-properties-on-kaios"&gt;Reading and writing system properties on KaiOS&lt;a class="anchorjs-link" href="#reading-and-writing-system-properties-on-kaios"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;KaiOS is a partially open source mobile Linux distribution that, under the hood, makes significant use of Android components like the Hardware Abstraction Layer (HAL). Gonk is KaiOS&amp;rsquo; platform denomination for a combination of the Linux kernel and Android HAL, borrowed from it&amp;rsquo;s predecessor Firefox OS.&lt;/p&gt;
&lt;p&gt;Like Android, KaiOS has system properties that provide a convenient way to share information like configurations, system-wide. These are stored in read-only property files (&lt;code&gt;.prop&lt;/code&gt; extension) like &lt;code&gt;bootimg/ramdisk/default.prop&lt;/code&gt; and &lt;code&gt;system/build.prop&lt;/code&gt;. System properties are then managed by &lt;code&gt;property_service&lt;/code&gt; to populate its internal in-memory database at start-up.&lt;/p&gt;</description></item><item><title>Swiss Bike Courier Turned KaiOS Developer</title><link>https://kaios.dev/2024/03/swiss-bike-courier-turned-kaios-developer/</link><pubDate>Wed, 20 Mar 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/03/swiss-bike-courier-turned-kaios-developer/</guid><description>&lt;h2 id="about-john-david-deubl"&gt;About John-David Deubl&lt;a class="anchorjs-link" href="#about-john-david-deubl"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;
&lt;a href="https://strukturart.com" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;John-David Deubl&lt;/a&gt;, who goes by the aliases 
&lt;a href="https://www.reddit.com/user/perry_______/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;perry&lt;/a&gt; and 
&lt;a href="https://github.com/strukturart" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;strukturart&lt;/a&gt; on GitHub, is a graphic designer, bike messenger, and an early KaiOS developer. John-David began programming for smart feature phones in 2020 out of a personal interest to combat his smartphone addiction. All of John-David&amp;rsquo;s apps are open source available under the 
&lt;a href="https://github.com/strukturart/feedolin/blob/master/LICENSE.md" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;MIT License&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="how-did-you-get-started-with-kaios"&gt;How did you get started with KaiOS?&lt;a class="anchorjs-link" href="#how-did-you-get-started-with-kaios"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;I am a bicycle messenger, programmer, and designer. I came to KaiOS in 2020 because, after years of using my smartphone, I noticed an addiction that was limiting me. With the limited possibilities of a feature phone, I am more independent again. Since some system apps in KaiOS are not fully optimized for use with a feature phone, I started writing and publishing some apps myself.&lt;/p&gt;</description></item><item><title>WebAssembly (WASM) on KaiOS</title><link>https://kaios.dev/2024/03/webassembly-wasm-on-kaios/</link><pubDate>Tue, 05 Mar 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/03/webassembly-wasm-on-kaios/</guid><description>&lt;h1 id="webassembly-and-asmjs-on-kaios"&gt;WebAssembly and asm.js on KaiOS&lt;a class="anchorjs-link" href="#webassembly-and-asmjs-on-kaios"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;What is 
&lt;a href="https://developer.mozilla.org/en-US/docs/WebAssembly" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;WebAssembly (WASM)&lt;/a&gt;?&lt;/strong&gt; WASM allows developers to execute assembly-like low-level code written in languages like C/C++ or Rust via speecifically-compiled binaries within a web browser (in a sandboxed environment).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;KaiOS 2.5 doesn&amp;rsquo;t support WASM&lt;/strong&gt;. However, &lt;strong&gt;KaiOS supports 
&lt;a href="https://developer.mozilla.org/en-US/docs/Games/Tools/asm.js" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;asm.js&lt;/a&gt;&lt;/strong&gt;, a highly optimized subset of JavaScript used as a low-level language compilation target.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;KaiOS 3.0 supports WASM&lt;/strong&gt;. Fortunately, KaiOS 3.0, which is based on Gecko 84, &lt;em&gt;does&lt;/em&gt; 
&lt;a href="https://developer.kaiostech.com/docs/sfp-3.0/introduction/overview" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;support WebAssembly&lt;/a&gt; natively.&lt;/p&gt;</description></item><item><title>The Complete List of KaiOS Phones (2024)</title><link>https://kaios.dev/2024/03/the-complete-list-of-kaios-phones-2024/</link><pubDate>Sat, 02 Mar 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/03/the-complete-list-of-kaios-phones-2024/</guid><description>&lt;p&gt;There are &lt;strong&gt;over 100 KaiOS phones&lt;/strong&gt; sold worldwide, and many more when you consider SKUs and network variants of the same model name (i.e. there are 20+ models of the JioPhone). More models may be observed from &lt;u&gt;
&lt;a href="https://kaios.dev/2024/02/deep-dive-on-kaios-user-agents/" title="user agents"&gt;user agents&lt;/a&gt;&lt;/u&gt;.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Disclosure&lt;/u&gt;: Some links below are affiliate links. This means that, at no cost to you, I may earn affiliate commission if you click the link and finalize a purchase, which supports this blog financially.&lt;/p&gt;</description></item><item><title>Nutritional Scientist in Bangladesh builds KaiOS apps</title><link>https://kaios.dev/2024/02/nutritional-scientist-in-bangladesh-builds-kaios-apps/</link><pubDate>Wed, 28 Feb 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/02/nutritional-scientist-in-bangladesh-builds-kaios-apps/</guid><description>&lt;h2 id="about-hazrat-ali"&gt;About Hazrat Ali&lt;a class="anchorjs-link" href="#about-hazrat-ali"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Hazrat Ali completed his master&amp;rsquo;s degree in Nutritional Science in 2021 at the Islamic University in Kushtia, Bangladesh. Durng his studies, he started coding KaiOS apps as a hobby after stumbling on a Facebook Ad for a KaiOS device recently launched in Bangladesh. Fast forward to 2024, Hazrat has published almost 
&lt;a href="https://kaios.app/developers/wwwsoftloftbdga" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;two dozen KaiOS applications&lt;/a&gt; on the KaiStore including popular apps like 
&lt;a href="https://kaios.app/apps/t1t0_OrEVHfMC-3G-aRm" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;kiNET TV&lt;/a&gt; and 
&lt;a href="https://kaios.app/apps/apUYSrHiRTC1xwJjw8t1" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Radio Waves&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="how-did-you-get-started-with-kaios"&gt;How did you get started with KaiOS?&lt;a class="anchorjs-link" href="#how-did-you-get-started-with-kaios"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;In 2013, while still in college, I began my journey with web development. At that time, I experimented with creating websites for mobile devices using tools like 
&lt;a href="https://www.wapka.co/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Wapka&lt;/a&gt; and 
&lt;a href="https://xtgem.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;XtGem&lt;/a&gt;, which sparked my interest in the field. Fast forward to 2020, when I came across a Facebook promotion about the KaiOS device launch in Bangladesh. I was intrigued by the fact that KaiOS apps were built with HTML5, a technology I was already familiar with.&lt;/p&gt;</description></item><item><title>Developing with Flutter on KaiOS</title><link>https://kaios.dev/2024/02/developing-with-flutter-on-kaios/</link><pubDate>Mon, 26 Feb 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/02/developing-with-flutter-on-kaios/</guid><description>&lt;h2 id="developing-with-flutter-on-kaios"&gt;Developing with Flutter on KaiOS&lt;a class="anchorjs-link" href="#developing-with-flutter-on-kaios"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; 
&lt;a href="https://flutter.dev/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Flutter&lt;/a&gt; is a leading, open source, multi-platform development framework by Google to build apps for iOS and Android, as well as web browsers and embedded devices.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In a nutshell&lt;/strong&gt;. 
&lt;a href="https://kaios.dev/2023/04/kaios-app-optimization-tips/#framework-selection" title="Framework selection"&gt;Framework selection&lt;/a&gt; is critical for KaiOS development, since devices have limited storage and resources. &lt;strong&gt;Runtimes like Flutter notorious for large bundle sizes are not recommended for KaiOS&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="practical-optimizations"&gt;Practical Optimizations&lt;a class="anchorjs-link" href="#practical-optimizations"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Developers have been experimenting with 
&lt;a href="https://jod.li/2021/05/01/flutter-on-kaios/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Flutter on KaiOS&lt;/a&gt; since at least 2021. If you&amp;rsquo;re determined to build a KaiOS application using Flutter, or you&amp;rsquo;d like to optimize an existing Flutter project for KaiOS, use the following tips.&lt;/p&gt;</description></item><item><title>Deep Dive on KaiOS User Agents</title><link>https://kaios.dev/2024/02/deep-dive-on-kaios-user-agents/</link><pubDate>Fri, 23 Feb 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/02/deep-dive-on-kaios-user-agents/</guid><description>&lt;h2 id="deep-dive-on-kaios-user-agents"&gt;Deep Dive on KaiOS User Agents&lt;a class="anchorjs-link" href="#deep-dive-on-kaios-user-agents"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Why it matters&lt;/strong&gt;. User agents are one of the most common ways to identify devices on the web.&lt;/p&gt;
&lt;h3 id="key-takeaways"&gt;Key Takeaways&lt;a class="anchorjs-link" href="#key-takeaways"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;User agents are a mess. Some are missing spaces, others missing model numbers, and others still include two OS identifiers (&lt;code&gt;Android&lt;/code&gt; and &lt;code&gt;KAIOS&lt;/code&gt;). They can also be easily spoofed, but they&amp;rsquo;re still a useful mechanism to adapt your application at runtime or server-side.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KaiOS&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Every KaiOS device includes the &lt;code&gt;Mobile&lt;/code&gt; identifier&lt;/li&gt;
&lt;li&gt;All KaiOS devices include the identifier &lt;code&gt;KAIOS/&lt;/code&gt; followed by the OS version (i.e. 2.5.3.2 or 3.2)&lt;/li&gt;
&lt;li&gt;KaiOS 2.5 devices are based on the &lt;code&gt;Gecko&lt;/code&gt; engine and &lt;code&gt;Firefox/48.0&lt;/code&gt;; KaiOS 3.0 is based on &lt;code&gt;Firefox/84.0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Some (but not all) KaiOS 2.5 devices with 256mb RAM have the &lt;code&gt;K-Lite&lt;/code&gt; identifier&lt;/li&gt;
&lt;li&gt;Many devices include the yet-unknown &lt;code&gt;CAEN&lt;/code&gt; identifier&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JioPhone&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Only JioPhone models have the &lt;code&gt;Android&lt;/code&gt; identifier&lt;/li&gt;
&lt;li&gt;All JioPhone models &lt;em&gt;except&lt;/em&gt; the latest 
&lt;a href="https://kaios.dev/2023/08/whats-next-for-the-jiophone/#jiophone-prima-4g" title="JioPhone Prima 4G (F491H)"&gt;JioPhone Prima 4G (F491H)&lt;/a&gt; include the &lt;code&gt;LYF&lt;/code&gt; identifier&lt;/li&gt;
&lt;li&gt;JioPhone user agents include the full 
&lt;a href="https://source.android.com/docs/setup/reference/build-numbers" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Build Identifier&lt;/a&gt;, i.e. &lt;code&gt;LYF-LF2403N-001-02-23-170319&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="user-agents"&gt;User Agents&lt;a class="anchorjs-link" href="#user-agents"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Here&amp;rsquo;s a list of &lt;code&gt;User-Agent&lt;/code&gt; header values from recent requests to 
&lt;a href="https://podlp.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;PodLP&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>From J2ME to KaiOS with Valeriy Skachko</title><link>https://kaios.dev/2024/02/from-j2me-to-kaios-with-valeriy-skachko/</link><pubDate>Thu, 22 Feb 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/02/from-j2me-to-kaios-with-valeriy-skachko/</guid><description>&lt;h2 id="about-valeriy-skachko"&gt;About Valeriy Skachko&lt;a class="anchorjs-link" href="#about-valeriy-skachko"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;
&lt;a href="https://valesk.com" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Valeriy Skachko&lt;/a&gt; is one of KaiOS&amp;rsquo; top 
&lt;a href="https://www.kaiostech.com/partners/valeriy-skachko/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;certified developers&lt;/a&gt;. Since 2018, he has published over 
&lt;a href="https://kaios.app/developers/valeriyskachko" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;100 KaiOS apps&lt;/a&gt;, available on both the KaiStore and JioStore. Learn about his journey and lessons you can apply to your own software development.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="how-did-you-get-started-with-kaios"&gt;How did you get started with KaiOS?&lt;a class="anchorjs-link" href="#how-did-you-get-started-with-kaios"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;I started developing the first applications for mobile phones, at that time in Java ME (J2ME), in 2012, in addition to my teaching activities. I needed to give the students a new topic - and I decided to offer them the development of an application for mobile devices based on Java ME. After that, I became interested in developing applications; there were many projects on Android and iOS, but my favorites were still feature phones. It was very interesting to create applications that could work with minimal system requirements and a small screen. It was a challenge for me. Later, in 2018, I learned about 
&lt;a href="https://www.kaiostech.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS&lt;/a&gt; and immediately fell in love with this system. Since then, I have been mainly programming for KaiOS.&lt;/p&gt;</description></item><item><title>KaiOS App Publishing Guide</title><link>https://kaios.dev/2024/02/kaios-app-publishing-guide/</link><pubDate>Mon, 19 Feb 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/02/kaios-app-publishing-guide/</guid><description>&lt;p&gt;Everything you need to publish an app on KaiOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters&lt;/strong&gt;. Names, icons, and banners are how you stand out on a platform with limited discovery capabilities. Learn how to market and promote your application to grow your user base globally.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dive deeper&lt;/strong&gt;. Publishing requirements are different between the KaiStore and JioStore. This article focused on the KaiStore, but makes a few notes where design requirements differ on the JioStore.&lt;/p&gt;</description></item><item><title>Special Keys on KaiOS</title><link>https://kaios.dev/2024/02/special-keys-on-kaios/</link><pubDate>Tue, 13 Feb 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/02/special-keys-on-kaios/</guid><description>&lt;p&gt;Handle special keys (soft keys, volume, camera) on KaiOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters&lt;/strong&gt;. A great user experience on KaiOS starts with directional navigation and proper keyboard handling.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dive deeper&lt;/strong&gt;. Not all devices support the same hard keys, and while most have a T9 layout, some like the 
&lt;a href="https://kaios.dev/2023/08/whats-next-for-the-jiophone/#jiophone-2" title="JioPhone 2"&gt;JioPhone 2&lt;/a&gt; have full QWERTY keyboards.&lt;/p&gt;
&lt;h2 id="special-keys"&gt;Special Keys&lt;a class="anchorjs-link" href="#special-keys"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Key Code&lt;/th&gt;
 &lt;th&gt;Code&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;SoftLeft&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;F13&lt;/td&gt;
 &lt;td&gt;Left Soft Key (LSK), typically performs action&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SoftRight&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;F15&lt;/td&gt;
 &lt;td&gt;Right Soft Key (RSK), typically opens options menu&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MicrophoneToggle&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Launch the Voice Assistant (VA) via &lt;code&gt;voice-assistant&lt;/code&gt; 
&lt;a href="https://kaios.dev/2023/02/web-activities-on-kaios/"&gt;Web Activity&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Enter&lt;/td&gt;
 &lt;td&gt;13&lt;/td&gt;
 &lt;td&gt;Home&lt;/td&gt;
 &lt;td&gt;Select the currently-focused element&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Backspace&lt;/td&gt;
 &lt;td&gt;8&lt;/td&gt;
 &lt;td&gt;KeyB&lt;/td&gt;
 &lt;td&gt;Go to previous page&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;GoBack&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Go to previous back (KaiOS Smart Touch only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;BrowserBack&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Go to previous page (web browser only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;VolumeUp&lt;/td&gt;
 &lt;td&gt;182&lt;/td&gt;
 &lt;td&gt;AudioVolumeUp&lt;/td&gt;
 &lt;td&gt;Raise volume&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;VolumeDown&lt;/td&gt;
 &lt;td&gt;183&lt;/td&gt;
 &lt;td&gt;AudioVolumeDown&lt;/td&gt;
 &lt;td&gt;Lower volume&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Call&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Launch the call screen or accept current action&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;EndCall&lt;/td&gt;
 &lt;td&gt;95&lt;/td&gt;
 &lt;td&gt;Power&lt;/td&gt;
 &lt;td&gt;Cancel the current action or close app&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Power&lt;/td&gt;
 &lt;td&gt;95&lt;/td&gt;
 &lt;td&gt;Power&lt;/td&gt;
 &lt;td&gt;Toggle screen on/ off; long-press to power down&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Camera&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Open Camera app&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;HeadsetHook&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Open Music app&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LaunchWebBrowser&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;F14&lt;/td&gt;
 &lt;td&gt;Launch Browser app&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LaunchMail&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Launch Email app&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Message&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;KeyA&lt;/td&gt;
 &lt;td&gt;Launch SMS app&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Notification&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Open Notification panel&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Symbol&lt;/td&gt;
 &lt;td&gt;224&lt;/td&gt;
 &lt;td&gt;F17&lt;/td&gt;
 &lt;td&gt;Toggle symbol input (i.e. #, *, -, +, @, etc)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Always use the 
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;&lt;code&gt;KeyboardEvent#key&lt;/code&gt;&lt;/a&gt; property, as many keys lack a &lt;code&gt;keyCode&lt;/code&gt;, and the &lt;code&gt;code&lt;/code&gt; property changes based on keyboard layout and device configuration. Keep in mind that many keys are limited to certain devices, although &lt;em&gt;every&lt;/em&gt; KaiOS device has d-pad navigation as well as LSK and RSK.&lt;/p&gt;</description></item><item><title>Complete Feature Detection on KaiOS</title><link>https://kaios.dev/2024/01/complete-feature-detection-on-kaios/</link><pubDate>Wed, 31 Jan 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/01/complete-feature-detection-on-kaios/</guid><description>&lt;h1 id="feature-detection"&gt;Feature Detection&lt;a class="anchorjs-link" href="#feature-detection"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;What features can you detect on KaiOS?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;. KaiOS has two APIs, &lt;code&gt;navigator.getFeature()&lt;/code&gt; and &lt;code&gt;navigator.hasFeature&lt;/code&gt;, for detecting device and platform features. These APIs require the &lt;u&gt;
&lt;a href="https://kaios.dev/2023/03/complete-kaios-permission-guide/#feature-detection"&gt;&lt;code&gt;feature-detection&lt;/code&gt; permission&lt;/a&gt;&lt;/u&gt;.&lt;/p&gt;
&lt;p&gt;Here is a simple TypeScript definition for the Feature Detection API on KaiOS 2.5:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-ts" data-lang="ts"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;interface&lt;/span&gt; Navigator {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2&lt;/span&gt;&lt;span&gt; getFeature(name: &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt;)&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; Promise&amp;lt;&lt;span style="color:#ff79c6"&gt;any&lt;/span&gt;&amp;gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3&lt;/span&gt;&lt;span&gt; hasFeature(name: &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt;)&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; Promise&amp;lt;&lt;span style="color:#ff79c6"&gt;boolean&lt;/span&gt;&amp;gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4&lt;/span&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On KaiOS 3.0, the 
&lt;a href="https://github.com/kaiostech/api-daemon/blob/main/services/devicecapability/src/devicecapability.sidl" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;DeviceCapabilityManager API&lt;/a&gt; is loaded from &lt;code&gt;http://shared.localhost/js/session/device_capability/device_capability.js&lt;/code&gt; and shortens &lt;code&gt;getFeature&lt;/code&gt; to just &lt;code&gt;get&lt;/code&gt;. The &lt;code&gt;hasFeature&lt;/code&gt; API was removed in KaiOS 3.0. Here is an example for each KaiOS version:&lt;/p&gt;</description></item><item><title>KaiOS Open Source Resources</title><link>https://kaios.dev/2024/01/kaios-open-source-resources/</link><pubDate>Sun, 28 Jan 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/01/kaios-open-source-resources/</guid><description>&lt;h1 id="kaios-open-source-resources"&gt;KaiOS Open Source Resources&lt;a class="anchorjs-link" href="#kaios-open-source-resources"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Here is a compilation of 
&lt;a href="https://www.kaiostech.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS&lt;/a&gt; apps, tools, and resources to find inspiration and help you get started on your next endeavor. This list is by no means exhaustive, but attempts to cover a wide range of available open source projects related to KaiOS.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaiostech/gecko-b2g" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;gecko-b2g&lt;/a&gt; - KaiOS&amp;rsquo; MPL-licensed fork of Boot 2 Gecko (B2G), previously known as Firefox OS&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaiostech/api-daemon" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;api-daemon&lt;/a&gt; - Rust-based external API for KaiOS, esp. 3.0+&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="user-interface"&gt;User Interface&lt;a class="anchorjs-link" href="#user-interface"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/AdrianMachado/KaiUI" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiUI&lt;/a&gt; - React-based UI library (last 
&lt;a href="https://github.com/AdrianMachado/KaiUI/commit/bf764f2d7446a3d45b731075d57d0d30cbb0e255" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;code commit&lt;/a&gt; in April 2021)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/sebastianbaar/vue-kaiui" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Vue KaiUI&lt;/a&gt; - KaiUI written for Vue.js&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/nolanlawson/arrow-key-navigation" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Arrow key navigation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/farooqkz/KaiUIng" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiUIng&lt;/a&gt; - CSS library&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/onyx-ui" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Onyx UI&lt;/a&gt; - Svelte component library&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/mai-ui" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Mai UI&lt;/a&gt; - Preact component library&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="apps"&gt;Apps&lt;a class="anchorjs-link" href="#apps"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/wikimedia/wikipedia-kaios" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Wikipedia&lt;/a&gt; - Wikipedia KaiOS app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/strukturart/o.map" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;o.map&lt;/a&gt; - OpenStreetMap client available on the KaiStore&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/strukturart/greg" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;greg&lt;/a&gt; - Calendar app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/strukturart/feedolin" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;feedolin&lt;/a&gt; - RSS feed reader and podcast app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/svelte-telekram" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Telekram&lt;/a&gt; - Svelte-based Telegram client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Kisa04/PinK-" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;PinK&lt;/a&gt; - Pinterest app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/likidu/kaigram" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiGram&lt;/a&gt; - KaiOS Telegram client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/farooqkz/chooj" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;chooj&lt;/a&gt; - Matrix client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/zjyl1994/KaiAuth" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiAuth&lt;/a&gt; - Google Authenticator alternative&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/kaimusic" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;K-Music&lt;/a&gt; - Music player&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/password-manager" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Password Manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/kai-yt-music" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;YT Music&lt;/a&gt; - YouTube Music streaming&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/cyan-2048/Discord4KaiOS" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Discord4KaiOS&lt;/a&gt; - Discord client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/diamondburned/kaicord" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Kaicord&lt;/a&gt; - Minimal discord client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaios-design/kaid" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;kaid&lt;/a&gt; - React component library (inc. dialog, header, list, menu, and soft keys)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Kaiak/kaiak-wallet" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;kaiak-wallet&lt;/a&gt; - Nano cryptocurrency wallet app, built using Svelte&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/sunsetsonwheels/kaidi" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;kaidi&lt;/a&gt; - Kodi remote client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/foxcasts-lite" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Foxcasts lite&lt;/a&gt;, 
&lt;a href="https://github.com/garredow/mica" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;mica&lt;/a&gt; - Podcast app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/zwts/react-notes" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;React notes&lt;/a&gt; app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/raincloud" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Raincloud&lt;/a&gt; - SoundCloud streaming client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaios-design/books" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Books&lt;/a&gt; - eBooks (TXT) reader&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/kaite" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Kaite&lt;/a&gt; - Twitter client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/K-Pocket-Browser" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;K-Pocket-Browser&lt;/a&gt; - Pocket bookmark client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Tombarr/bing-wallpaper-kaios" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Bing Wallpapers&lt;/a&gt; - Bing wallpaper of the day app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/b2gfm" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;b2gfm&lt;/a&gt; - File manager&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/adamrobcarter/KaiStra" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiStra&lt;/a&gt; - Strava client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Tombarr/fliptv" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;FlipTV&lt;/a&gt; - IPTV streaming client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/strukturart/passport" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Passport&lt;/a&gt; - Digital passport wallet, with QR code scanner&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/likidu/CosmosFM" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;CosmosFM&lt;/a&gt; - Cosmos.FM app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/woodie/next-caltrain-pwa" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Caltrain schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/the-curve/pdf-reader-for-kaios" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;PDF Reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/k-iptv-tube" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;K-IPTV Tube&lt;/a&gt; - IPTV app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Tombarr/tapestry" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Tapestry&lt;/a&gt; - Wallpapers from Unsplash&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/theanasuddin/Calculator" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Calculator&lt;/a&gt; app rewritten in Processing&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/likidu/Kaistodon" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Kaistodon&lt;/a&gt; - Mastodon app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Tombarr/quotez" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Quotez&lt;/a&gt; - Daily quotes&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/cyan-2048/Nihonoari-KaiOS" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Nihonoari&lt;/a&gt; - Inspired by the 
&lt;a href="https://github.com/aeri/Nihonoari-App" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Android app&lt;/a&gt; with the same name&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/miri999/kaix-mpp" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Kaix-mpp&lt;/a&gt; - XMPP client&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/W4IT-Dev/Battery-manager" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Battery manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaifoundry/bitcoin-kaios-wallet" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Bitcoin Wallet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/ale4710/bakabakaplayer" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;baka⑨player&lt;/a&gt; - gensokyo radio player&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/ale4710/bankitube" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;BankiTube&lt;/a&gt; - YouTube via Invidious&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/cyan-2048/KaiOS-WifiManager" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;WifiManager&lt;/a&gt; - Connect to WiFi using QR codes&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Delta-Applications/KaiMap" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;delta.map&lt;/a&gt; - OpenStreetMap client with weather, layers, and more&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="games"&gt;Games&lt;a class="anchorjs-link" href="#games"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/Tombarr/pacman-kaios" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Pak-Man&lt;/a&gt; - PacMan-inspired game&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/wordly" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Wordly&lt;/a&gt; - Wordly-inspired game&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Tombarr/kaios-frogger" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Frogr&lt;/a&gt; - Frogger-inspired game&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/kai-chess" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiChess&lt;/a&gt; - Chess for KaiOS&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/W4IT-Dev/space-shuttle" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Space Shuttle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/W4IT-Dev/Falling-Numbers" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Falling Numbers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Fergarram/amateur-archaeology" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Amateur Archaeology&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="system-apps"&gt;System Apps&lt;a class="anchorjs-link" href="#system-apps"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/strukturart/qlauncher" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;qLauncher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/luna-launcher" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Luna launcher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/cyan-2048/casaroro-launcher" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;casaroro-launcher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/tuandatdavid/kaios-metro-launcher" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Metro launcher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/strukturart/bHacker-store-client" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;bHacker Store&lt;/a&gt; - BananaHackers store app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/affenull2345/kaistone" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiStone&lt;/a&gt; - KaiStore client without being tracked&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/netstat-kaios" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;netstats&lt;/a&gt; - Network statistics and data usage&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/suborg/appbuster" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;AppBuster&lt;/a&gt; - Safely disable pre-installed apps&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/suborg/fastcontact" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;FastContact&lt;/a&gt; - Lightweight alternative to the stock Contacts app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/suborg/fastlog" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;FastLog&lt;/a&gt; - A better call log app&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://git.sr.ht/~luxferre/RCVD" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;RCVD&lt;/a&gt; - Sync with Casio watches via Bluetooth Low Energy (BLE)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://git.sr.ht/~luxferre/Kopher" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Kopher&lt;/a&gt; - Gopher client/ browser&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Delta-Applications/akeru/tree/main/src/apps/stock-refurbished" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Stock Apps&lt;/a&gt; - Pre-installed 
&lt;a href="https://wiki.bananahackers.net/en/devices/akeru-app-collection" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS 2.5.4 app collection&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="samples"&gt;Samples&lt;a class="anchorjs-link" href="#samples"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaiostech/sample-react" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;React&lt;/a&gt; sample&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaiostech/sample-vue" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Vue&lt;/a&gt; sample&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaiostech/sample-angular" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Angular&lt;/a&gt; sample&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaiostech/phaser-sample-app" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Phaser&lt;/a&gt; sample&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/kaios-svelte-starter" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Svelte starter kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Sekuta82/KaiOS-sample" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Navigation and KaiAds&lt;/a&gt; sample&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaiostech/sample-vanilla" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Vanilla JS&lt;/a&gt; sample&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="tools"&gt;Tools&lt;a class="anchorjs-link" href="#tools"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/kaiostech/appscmd" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;appscmd&lt;/a&gt; - utility for installs KaiOS apps&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/arma7x/kaios-web-suite" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS Web Suite&lt;/a&gt; - PC suite for managing KaiOS 2.5 devices&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/kaiware" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiWare&lt;/a&gt; - Desktop app for managing KaiOS devices, written in TypeScript&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/garredow/kaios-lib" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS Lib&lt;/a&gt; - Library for interacting with KaiOS APIs&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/joedinsmoor/KaiOS.Scraper" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;SQLite Scraper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/suborg/wallace-toolbox" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Wallace Toolbox&lt;/a&gt; - Universal toolbox for internal tweaking and rooting, based on 
&lt;a href="https://gist.github.com/plugnburn/00fa61006513cdb0a12adf61a6e425e1" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Libwallace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/suborg/origami" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;OrigAMI&lt;/a&gt; - Origins of Application Marketless Installation&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/suborg/crosstweak" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;CrossTweak&lt;/a&gt; - Lightweight KaiOS tweaker with 10 functions&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitlab.com/suborg/project-kava" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Project Kava&lt;/a&gt; - Java 2 Mobile Edition (J2ME) emulator for KaiOS&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="related"&gt;Related&lt;a class="anchorjs-link" href="#related"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://capyloon.org/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Capyloon&lt;/a&gt; - experimental web-based operating system based on Boot 2 Gecko (B2G)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://sites.google.com/view/bananahackers/home" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Banana Hackers&lt;/a&gt; - Web community with extensive information&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://wiki.postmarketos.org/wiki/Nokia_8000_4G_%28nokia-sparkler%29" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;postmarketOS&lt;/a&gt; - A real Linux distribution for phones&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://explore.whatismybrowser.com/useragents/explore/operating_system_name/kaios/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS User Agents&lt;/a&gt; - Listing recent examples of KaiOS &lt;code&gt;User-Agent&lt;/code&gt; values&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.cvedetails.com/vulnerability-list/vendor_id-19715/Kaiostech.html" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS Vulnerabilities&lt;/a&gt; - documented Common Vulnerabilities and Exposures (CVEs) for KaiOS Tech&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;a class="anchorjs-link" href="#conclusion"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;With so many open source apps, games, and tools, here is no shortage of prior art to base your next project on. If yours business needs help navigating the overwhelm of starting fresh on an unfamiliar platform, contact the author from the 
&lt;a href="https://kaios.dev/about/" title="About"&gt;About&lt;/a&gt; page.&lt;/p&gt;</description></item><item><title>KaiOS App Ideas</title><link>https://kaios.dev/2024/01/kaios-app-ideas/</link><pubDate>Wed, 24 Jan 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/01/kaios-app-ideas/</guid><description>&lt;h1 id="kaios-app-ideas"&gt;KaiOS App Ideas&lt;a class="anchorjs-link" href="#kaios-app-ideas"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;Apps&lt;/strong&gt;. There are just under 
&lt;a href="https://kaios.app/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;1,500 KaiOS apps&lt;/a&gt; as of January 2024. Here are some ideas for apps that aren&amp;rsquo;t yet available on the KaiStore.&lt;/p&gt;
&lt;h2 id="utilities"&gt;Utilities&lt;a class="anchorjs-link" href="#utilities"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id="smart-tv-remote"&gt;Smart TV Remote&lt;a class="anchorjs-link" href="#smart-tv-remote"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;What is a T9 feature phone with Bluetooth and Wi-Fi, if not a smart TV remote to control your Android TV or Roku? Numerous remote apps make the Top 100 list in the Utilities category for smartphones. KaiOS provides access to raw TCP/ UDP sockets, as well as 
&lt;a href="https://kaios.dev/2023/08/bluetooth-low-energy-on-kaios/" title="low-level Bluetooth APIs"&gt;low-level Bluetooth APIs&lt;/a&gt;, so this should be possible.&lt;/p&gt;</description></item><item><title>Practical KaiOS Optimization Tips</title><link>https://kaios.dev/2024/01/practical-kaios-optimization-tips/</link><pubDate>Sat, 20 Jan 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/01/practical-kaios-optimization-tips/</guid><description>&lt;h1 id="practical-kaios-optimization-tips"&gt;Practical KaiOS Optimization Tips&lt;a class="anchorjs-link" href="#practical-kaios-optimization-tips"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;Lessons&lt;/strong&gt;. Here are a few tips I learned first hand developing 
&lt;a href="https://podlp.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;PodLP&lt;/a&gt; for 
&lt;a href="https://www.kaiostech.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS&lt;/a&gt; smart feature phones.&lt;/p&gt;
&lt;h2 id="memoization"&gt;Memoization&lt;a class="anchorjs-link" href="#memoization"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s 
&lt;a href="https://www.freecodecamp.org/news/memoization-in-javascript-and-react/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Memoization&lt;/a&gt;?&lt;/strong&gt; It&amp;rsquo;s basically a form of caching, eliminating repetitive calculation and repeated function calls by storing results in memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How to memoize?&lt;/strong&gt; There are 
&lt;a href="https://stackoverflow.com/questions/61402804/what-memoization-libraries-are-available-for-javascript" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;many JavaScript libraries&lt;/a&gt; like 
&lt;a href="https://github.com/planttheidea/moize" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;moize&lt;/a&gt; that can wrap functions for automatic memoization, or you can do it yourself.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/podlp-background-header.png" data-action="zoom" alt="PodLP Using Podcast Accent Color" title="PodLP Using Podcast Accent Color" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;PodLP Using Podcast Accent Color&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;</description></item><item><title>Data Storage on KaiOS</title><link>https://kaios.dev/2024/01/data-storage-on-kaios/</link><pubDate>Tue, 16 Jan 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/01/data-storage-on-kaios/</guid><description>&lt;h1 id="data-storage-on-kaios"&gt;Data Storage on KaiOS&lt;a class="anchorjs-link" href="#data-storage-on-kaios"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;KaiOS offers standard Web Storage APIs (&lt;code&gt;localStorage&lt;/code&gt; and &lt;code&gt;sessionStorage&lt;/code&gt;), &lt;code&gt;indexedDB&lt;/code&gt;, &lt;code&gt;document.cookie&lt;/code&gt;, and the 
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Cache" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Cache API&lt;/a&gt; as well as platform-specific APIs like 
&lt;a href="https://developer.kaiostech.com/docs/api/web-apis/deviceStorage/device-storage/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Device Storage&lt;/a&gt; and 
&lt;a href="https://developer.kaiostech.com/docs/api/web-apis/dataStore/data-store/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Data Store&lt;/a&gt;. The ideal API for your use case depends on factors including data size, security, and simplicity. Keep in mind that KaiOS devices have limited storage available (i.e. the 
&lt;a href="https://www.bluproducts.com/devices/zoey-smart/index.html" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Blu Zoey Smart&lt;/a&gt; only has 512MB), and many users will not have an external micro SD card, so its best to store the minimum data necessary and assume most persistence is best-effort.&lt;/p&gt;</description></item><item><title>What's missing from KaiOS development?</title><link>https://kaios.dev/2024/01/whats-missing-from-kaios-development/</link><pubDate>Thu, 11 Jan 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/01/whats-missing-from-kaios-development/</guid><description>&lt;h1 id="whats-missing"&gt;What&amp;rsquo;s Missing?&lt;a class="anchorjs-link" href="#whats-missing"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;KaiOS was 
&lt;a href="https://www.linkedin.com/company/kaiostechnologies/about/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;founded in 2016&lt;/a&gt;, but 8 years later key tools are missing from the KaiOS developer experience (DevEx).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; KaiOS is available in 
&lt;a href="https://developer.kaiostech.com/docs/introduction/history/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;100+ countries&lt;/a&gt; with 
&lt;a href="https://techcrunch.com/2022/11/23/kaios-africa/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;170M+ devices shipped&lt;/a&gt; in 2022. Yet there are fewer than 
&lt;a href="https://kaios.app/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;1,500 KaiOS apps&lt;/a&gt;, limited by DevEx.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;By the numbers&lt;/strong&gt; As of January 2024, the KaiStore has 1,440 KaiOS 2.5 apps but only 520 KaiOS 3.0 apps. 3 years after launching, notable 3.0 omissions include both Facebook and WhatsApp.&lt;/p&gt;</description></item><item><title>Google Analytics and Alternatives for KaiOS Apps</title><link>https://kaios.dev/2024/01/google-analytics-and-alternatives-for-kaios-apps/</link><pubDate>Fri, 05 Jan 2024 00:00:00 +0800</pubDate><guid>https://kaios.dev/2024/01/google-analytics-and-alternatives-for-kaios-apps/</guid><description>&lt;p&gt;Setup Google Analytics (GAv4) or alternative web traffic analytics for KaiOS apps.&lt;/p&gt;
&lt;h2 id="google-analytics"&gt;Google Analytics&lt;a class="anchorjs-link" href="#google-analytics"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/google-analytics-demographic-countries-kaios.png" data-action="zoom" alt="Google Analytics Demographics - KaiOS App" title="Google Analytics Demographics - KaiOS App" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;Google Analytics Demographics - KaiOS App&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://analytics.withgoogle.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Google Analytics&lt;/a&gt; is by far the most popular web and mobile traffic and events analytics platform. It&amp;rsquo;s free, easy to use, and customizable to accurately measure user behavior, demographics, technical performance and errors, and more. However, &lt;strong&gt;Google Analytics does not work out of the box with KaiOS&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Localization for KaiOS Apps</title><link>https://kaios.dev/2023/11/localization-for-kaios-apps/</link><pubDate>Tue, 07 Nov 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/11/localization-for-kaios-apps/</guid><description>&lt;h1 id="localization-l10n-for-kaios-apps"&gt;Localization (L10n) for KaiOS Apps&lt;a class="anchorjs-link" href="#localization-l10n-for-kaios-apps"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/podlp-localization.png" data-action="zoom" alt="PodLP Localization in Arabic, English, and Hindi" title="PodLP Localization in Arabic, English, and Hindi" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;PodLP Localization in Arabic, English, and Hindi&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; KaiOS is available in 
&lt;a href="https://developer.kaiostech.com/docs/introduction/history/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;over 100 countries&lt;/a&gt;, with top demographics in India, United States, Nigeria, Tanzania, and Uganda. Localization facilitates market entry, improves user experience, and increases retention.&lt;/p&gt;
&lt;h2 id="how-it-works"&gt;How it Works&lt;a class="anchorjs-link" href="#how-it-works"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Localization isn&amp;rsquo;t an outcome, it&amp;rsquo;s a process of adapting your application to specific markets. It includes many elements like:&lt;/p&gt;</description></item><item><title>[Guest Post] Building a Crypto Wallet on KaiOS</title><link>https://kaios.dev/2023/11/guest-post-building-a-crypto-wallet-on-kaios/</link><pubDate>Thu, 02 Nov 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/11/guest-post-building-a-crypto-wallet-on-kaios/</guid><description>&lt;h1 id="guest-post-building-a-crypto-wallet-on-kaios"&gt;[Guest Post] Building a Crypto Wallet on KaiOS&lt;a class="anchorjs-link" href="#guest-post-building-a-crypto-wallet-on-kaios"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;
&lt;a href="https://sortedwallet.com/?utm_source=kaios.dev&amp;amp;utm_medium=article" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Sorted Wallet&lt;/a&gt; is the first cryptocurrency wallet created for KaiOS feature phone devices and published on the 
&lt;a href="https://www.kaiostech.com/store/apps/?bundle_id=kaios.app.sortedwallet" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiStore&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; Sorted Wallet provides the basic functionality for crypto assets holders and enables non-smartphone owners to step into the world of cryptocurrency. It tackles the increasing wealth gap in emerging markets and provides support to underserved populations in their fight for financial inclusion.&lt;/p&gt;
&lt;h2 id="by-the-numbers"&gt;By The Numbers&lt;a class="anchorjs-link" href="#by-the-numbers"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/sorted-wallet-install-trend.png" data-action="zoom" alt="Sorted Wallet Installs" title="Sorted Wallet Installs" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;Sorted Wallet Installs&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;</description></item><item><title>Running in the Background on KaiOS</title><link>https://kaios.dev/2023/10/running-in-the-background-on-kaios/</link><pubDate>Mon, 30 Oct 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/10/running-in-the-background-on-kaios/</guid><description>&lt;h1 id="running-in-the-background-on-kaios"&gt;Running in the Background on KaiOS&lt;a class="anchorjs-link" href="#running-in-the-background-on-kaios"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Despite KaiOS operating on resource-constrained hardware, apps can execute tasks in the background using several approaches.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Background Media&lt;/li&gt;
&lt;li&gt;Activities &amp;amp; System Messages&lt;/li&gt;
&lt;li&gt;Service Workers&lt;/li&gt;
&lt;li&gt;Alarm API&lt;/li&gt;
&lt;li&gt;Request Sync API&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="background-media"&gt;Background Media&lt;a class="anchorjs-link" href="#background-media"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;The simplest way to do anything in the background is by using 
&lt;a href="https://kaios.dev/2023/03/audio-and-volume-control-in-kaios/#audio-channels" title="Audio Channels"&gt;Audio Channels&lt;/a&gt; to continue audio playback while using another app. Using the &lt;code&gt;content&lt;/code&gt; audio channel on an &lt;code&gt;audio&lt;/code&gt; or &lt;code&gt;video&lt;/code&gt; element, when the user presses Back/ EndCall, it will trigger your application to enter the background.&lt;/p&gt;</description></item><item><title>What's Next for the JioPhone?</title><link>https://kaios.dev/2023/08/whats-next-for-the-jiophone/</link><pubDate>Tue, 22 Aug 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/08/whats-next-for-the-jiophone/</guid><description>&lt;p&gt;What&amp;rsquo;s next for the JioPhone, the best-selling KaiOS phone globally?&lt;/p&gt;
&lt;h2 id="the-jiophone"&gt;The JioPhone&lt;a class="anchorjs-link" href="#the-jiophone"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/jiophone-lineup.jpeg" data-action="zoom" alt="JioPhone Next (LS1542QWN), JioPhone 2 (F300B), and JioPhone (F90M)" title="JioPhone Next (LS1542QWN), JioPhone 2 (F300B), and JioPhone (F90M)" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;JioPhone Next (LS1542QWN), JioPhone 2 (F300B), and JioPhone (F90M)&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Many Models&lt;/strong&gt;. The JioPhone refers to one of nearly &lt;em&gt;two dozen models&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Number One&lt;/strong&gt;. The JioPhone once held the #1 spot for 
&lt;a href="https://telecom.economictimes.indiatimes.com/news/reliance-jiophone-becomes-best-selling-feature-phone-model-in-the-world-report/64306151" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;best selling feature phone&lt;/a&gt; globally.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;JioPhone Lineup&lt;/strong&gt;. The JioPhone, along with the more affordable ThreadX/Mocor-based 
&lt;a href="https://kaios.dev/2023/07/jio-bharat-4g-v2-and-kaios/" title="Jio Bharat 4G"&gt;Jio Bharat 4G&lt;/a&gt;, and more expensive Android-based 
&lt;a href="https://www.jio.com/next" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;JioPhone Next&lt;/a&gt; (Android Go rebranded as PragatiOS), form a lineup to &lt;strong&gt;move 250M+ 2G feature-phone subscribers up-market&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Certified Apps on KaiOS</title><link>https://kaios.dev/2023/08/certified-apps-on-kaios/</link><pubDate>Wed, 16 Aug 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/08/certified-apps-on-kaios/</guid><description>&lt;p&gt;What separates Certified and Privileged apps on KaiOS?&lt;/p&gt;
&lt;h1 id="summary"&gt;Summary&lt;a class="anchorjs-link" href="#summary"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;em&gt;Privileged vs Certified&lt;/em&gt;. Packaged apps on KaiOS are bundled as ZIP files, containing all the HTML, CSS, and JS needed to run locally on device. There are two types of packaged apps: Privileged and Certified. The latter is the highest security level available, granting the app access to nearly all permissions and features afforded primarily to System apps.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Why go Certified&lt;/em&gt;? The most obvious reason is if you need a permission that is marked only for Certified apps. You might also find that writing a Certified app offers access to &amp;ldquo;hidden&amp;rdquo; features for deeper system integration and a better user experience.&lt;/p&gt;</description></item><item><title>Bluetooth Low Energy on KaiOS</title><link>https://kaios.dev/2023/08/bluetooth-low-energy-on-kaios/</link><pubDate>Mon, 14 Aug 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/08/bluetooth-low-energy-on-kaios/</guid><description>&lt;p&gt;Working with Bluetooth Low Energy (BLE) on KaiOS&lt;/p&gt;
&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="anchorjs-link" href="#use-cases"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Bluetooth Low Energy (BLE) is a recent version of Bluetooth designed for very low power consumption. Compared to Bluetooth Enhanced Data Rate (EDR), BLE is designed to transfer much smaller amounts of data between devices via an ephemeral connection, not a durable pairing. Common BLE applications include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Healthcare devices - Thermometer, heart rate and glucose monitor, etc&lt;/li&gt;
&lt;li&gt;Proximity sensing - Tile, AirTag, &amp;ldquo;Find my&amp;rdquo; device&lt;/li&gt;
&lt;li&gt;Contact tracing - People near me&lt;/li&gt;
&lt;li&gt;Remote sensing - Battery level, volume, etc&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="accessing-bluetooth-apis"&gt;Accessing Bluetooth APIs&lt;a class="anchorjs-link" href="#accessing-bluetooth-apis"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id="permissions"&gt;Permissions&lt;a class="anchorjs-link" href="#permissions"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The 
&lt;a href="https://github.com/kaiostech/gecko-b2g/blob/b2g48/dom/apps/PermissionsTable.jsm#L155" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;&lt;code&gt;&amp;quot;bluetooth&amp;quot;&lt;/code&gt;&lt;/a&gt; permission is needed to access Bluetooth Low Energy APIs on KaiOS. Although the permission is available to both &lt;code&gt;privileged&lt;/code&gt; and 
&lt;a href="https://kaios.dev/2023/03/complete-kaios-permission-guide/"&gt;&lt;code&gt;certified&lt;/code&gt; apps&lt;/a&gt;, &lt;strong&gt;many Bluetooth features are only available in &lt;code&gt;certified&lt;/code&gt; apps.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Common KaiOS APIs and Interfaces</title><link>https://kaios.dev/2023/07/common-kaios-apis-and-interfaces/</link><pubDate>Sat, 15 Jul 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/07/common-kaios-apis-and-interfaces/</guid><description>&lt;h3 id="learn-how-to-use-common-kaios-apis-and-interfaces"&gt;Learn how to use common KaiOS APIs and Interfaces&lt;a class="anchorjs-link" href="#learn-how-to-use-common-kaios-apis-and-interfaces"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;h2 id="wake-lock"&gt;Wake Lock&lt;a class="anchorjs-link" href="#wake-lock"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;KaiOS does not support the 
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/WakeLock" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Wake Lock API&lt;/a&gt;. Instead, it offers it&amp;rsquo;s own API:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-typescript" data-lang="typescript"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 1&lt;/span&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;interface&lt;/span&gt; MozWakeLock {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 2&lt;/span&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;readonly&lt;/span&gt; topic: &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 3&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 4&lt;/span&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 5&lt;/span&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt; * Release the wake lock.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 6&lt;/span&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt; * @throw NS_ERROR_DOM_INVALID_STATE_ERR if already unlocked.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 7&lt;/span&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt; */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 8&lt;/span&gt;&lt;span&gt; unlock()&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;void&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 9&lt;/span&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;10&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;11&lt;/span&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;// KaiOS 2.5
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;12&lt;/span&gt;&lt;span&gt;navigator.requestWakeLock(aTopic: &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt;)&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; MozWakeLock;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;13&lt;/span&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;14&lt;/span&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;// KaiOS 3.0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;15&lt;/span&gt;&lt;span&gt;navigator.b2g.requestWakeLock(aTopic: &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt;)&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; MozWakeLock;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The KaiOS Wake Lock API will accept &lt;em&gt;any&lt;/em&gt; value for &lt;code&gt;aTopic&lt;/code&gt;, however, the following have actual utility:&lt;/p&gt;</description></item><item><title>Jio Bharat 4G V2 and KaiOS</title><link>https://kaios.dev/2023/07/jio-bharat-4g-v2-and-kaios/</link><pubDate>Tue, 04 Jul 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/07/jio-bharat-4g-v2-and-kaios/</guid><description>&lt;p&gt;&lt;strong&gt;Reliance Jio might be replacing it&amp;rsquo;s 
&lt;a href="https://kaiostech.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS&lt;/a&gt; flagship, the 
&lt;a href="https://www.jio.com/en-in/jiophone" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;JioPhone&lt;/a&gt;, with the more budget-friendly 
&lt;a href="https://www.jio.com/jcms/jiobharat/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Jio Bharat 4G V2&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; Reliance Jio&amp;rsquo;s 
&lt;a href="https://www.jio.com/en-in/jiophone" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;JioPhone&lt;/a&gt; represents the vast majority of 
&lt;a href="https://kaiostech.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS&lt;/a&gt; devices globally. The latest model, the JioPhone Value, was released in Fall 2021. Back in 2019, 
&lt;a href="https://telecomtalk.info/reliance-jio-sold-70million-jiophones/221418/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;more than 70 million JioPhones&lt;/a&gt; had been sold. Two years later in 2021, KaiOS announced that it had surpassed 
&lt;a href="https://www.kaiostech.com/storms-and-kaios-technologies-bring-fruit-ninja-and-jetpack-joyride-to-150-million-kaios-enabled-devices/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;150 million KaiOS-enabled devices&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By my estimates, the JioPhone still makes up well over half of all active KaiOS devices today. At &lt;strong&gt;Rs 999 ($12 USD)&lt;/strong&gt;, the lower-end 
&lt;a href="https://www.jio.com/jcms/jiobharat/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Jio Bharat 4G V2&lt;/a&gt; might replace the JioPhone in Jio&amp;rsquo;s lineup, designed for the &lt;strong&gt;250 million Indian consumers&lt;/strong&gt; transitioning from 2G to 4G.&lt;/p&gt;</description></item><item><title>CVE-2023-33293: Installed App List from the KaiOS 3.0 Browser</title><link>https://kaios.dev/2023/05/cve-2023-33293-installed-app-list-from-the-kaios-3.0-browser/</link><pubDate>Tue, 23 May 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/05/cve-2023-33293-installed-app-list-from-the-kaios-3.0-browser/</guid><description>&lt;p&gt;
&lt;a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-33293" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;CVE-2023-33293&lt;/a&gt; was published today, outlining an &lt;strong&gt;information disclosure&lt;/strong&gt; concern with 
&lt;a href="https://github.com/kaiostech/api-daemon" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;api-daemon&lt;/a&gt; whereby websites can determine what apps and which versions are installed on KaiOS 3.0 and 3.1 devices.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/CVE-KaiOS-API-Daemon.jpg" data-action="zoom" alt="Photo of app list with versions exposed on Alcatel Go Flip 4 (KaiOS 3.0) browser" title="Photo of app list with versions exposed on Alcatel Go Flip 4 (KaiOS 3.0) browser" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;Photo of app list with versions exposed on Alcatel Go Flip 4 (KaiOS 3.0) browser&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;</description></item><item><title>CVE-2023-33294: KaiOS 3.0 Root Command Line in Browser via TCT Web Server</title><link>https://kaios.dev/2023/05/cve-2023-33294-kaios-3.0-root-command-line-in-browser-via-tct-web-server/</link><pubDate>Mon, 22 May 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/05/cve-2023-33294-kaios-3.0-root-command-line-in-browser-via-tct-web-server/</guid><description>&lt;p&gt;
&lt;a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-33294" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;CVE-2023-33294&lt;/a&gt; was published today, outlining a vulnerability in 
&lt;a href="https://kaiostech.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS&lt;/a&gt; 3.0 (but not KaiOS 3.1) whereby the &lt;code&gt;/system/bin/tctweb_server&lt;/code&gt; binary exposes a local HTTP server on &lt;code&gt;http://127.0.0.1:2929&lt;/code&gt; that executes arbitrary commands as root.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/CVE-KaiOS-TCT-Web-Server.jpg" data-action="zoom" alt="Photo of build.prop file displayed on Alcatel Go Flip 4 (KaiOS 3.0) browser" title="Photo of build.prop file displayed on Alcatel Go Flip 4 (KaiOS 3.0) browser" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;Photo of build.prop file displayed on Alcatel Go Flip 4 (KaiOS 3.0) browser&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; This is among the most dangerous KaiOS vulnerability discovered to date. KaiOS 3.0 users in the US should be extremely careful browsing websites or installing third-party applications.&lt;/p&gt;</description></item><item><title>CVE-2023-27108: Call Logs in the Browser</title><link>https://kaios.dev/2023/05/cve-2023-27108-call-logs-in-the-browser/</link><pubDate>Tue, 02 May 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/05/cve-2023-27108-call-logs-in-the-browser/</guid><description>&lt;p&gt;
&lt;a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-27108" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;CVE-2023-27108&lt;/a&gt; was published today, outlining a vulnerability in KaiOS 3.0 &amp;amp; 3.1 exposing call logs without user interaction to apps and websites.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/CVE-2023-27108.jpg" data-action="zoom" alt="Photo of call logs exposed in Nokia 2780 Flip browser (Credit: @sosumi1984)" title="Photo of call logs exposed in Nokia 2780 Flip browser (Credit: &amp;lt;a href=&amp;#39;https://github.com/sosumi1984&amp;#39; rel=&amp;#39;external noopener&amp;#39;&amp;gt;@sosumi1984&amp;lt;/a&amp;gt;)" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;Photo of call logs exposed in Nokia 2780 Flip browser (Credit: &lt;a href='https://github.com/sosumi1984' rel='external noopener'&gt;@sosumi1984&lt;/a&gt;)&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; KaiOS 3.0 &amp;amp; 3.1 users in the US may be inadvertently exposing their call log records simply by visiting a web page.&lt;/p&gt;</description></item><item><title>KaiOS' Next Frontier: Africa [Updated February 2024]</title><link>https://kaios.dev/2023/04/kaios-next-frontier-africa-updated-february-2024/</link><pubDate>Sun, 30 Apr 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/04/kaios-next-frontier-africa-updated-february-2024/</guid><description>&lt;p&gt;&lt;strong&gt;KaiOS is positioned to grow significantly across Africa.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters?&lt;/strong&gt; Market trends, as well as recent partnership and investments, suggests the smart feature phone operating system has an opportunity to capture hundreds of millions of first time internet users across the continent.&lt;/p&gt;
&lt;p&gt;In KaiOS&amp;rsquo; 
&lt;a href="https://mailchi.mp/kaiostech.com/how-can-you-maximize-your-content-exposure-on-kaios-13540500" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;February Developer Update&lt;/a&gt;, it was announced that, &amp;ldquo;KaiOS is refocused on growth.&amp;rdquo;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;KaiOS is expanding in developing markets, specifically in Africa (launching in 10+ new African markets)&lt;/li&gt;
&lt;li&gt;KaiOS launched a 
&lt;a href="https://www.kaiostech.com/introducing-the-most-affordable-connected-mobile-phone-in-tanzania/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;&lt;strong&gt;device financing program&lt;/strong&gt; in Tanzania&lt;/a&gt; with the TZ1
&lt;ul&gt;
&lt;li&gt;Similar programs are expected soon in South Africa, Nigeria, Zambia, DRC and Rwanda&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The first KaiOS smart feature phone was launched in Japan in Q1 2024&lt;/li&gt;
&lt;li&gt;At CES 2024, KaiOS discussed 
&lt;a href="https://www.kaiostech.com/kaios-was-at-ces-tech-event-2024/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;5G smart feature phones&lt;/a&gt; &amp;ldquo;slated for an early 2025 rollout&amp;rdquo; in partnership with Qualcomm&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="growth-opportunities"&gt;Growth Opportunities&lt;a class="anchorjs-link" href="#growth-opportunities"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Global telecommunication companies continue to migrate users from 2G to 4G&lt;/li&gt;
&lt;li&gt;4G feature phones are often used as companion/ secondary devices&lt;/li&gt;
&lt;li&gt;Feature phones cost less to make compared to smartphones&lt;/li&gt;
&lt;li&gt;KaiOS offers a higher Average Revenue Per User (ARPU) over 4G Real-Time Operating System (RTOS)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developingtelecoms.com/telecom-technology/cyber-security/14572-kaios-and-trustonic-form-pan-african-phone-security-partnership.html" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS&amp;rsquo; partnership with Trustonic&lt;/a&gt; to enable subsidy locking and device financing&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.einnews.com/pr_news/637046589/kaios-and-konnect-unite-to-unleash-potential-in-africa" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS partners with Konnect&lt;/a&gt; to expand financial inclusion and provide secure payment solutions among communities and individuals in Africa&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.finnfund.fi/en/news/finnfunds-3-4-million-us-dollar-investment-in-kaios-helps-bring-affordable-mobile-connections-to-sub-saharan-africa/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Finnfund invested $3.4 million&lt;/a&gt; so that, &amp;ldquo;KaiOS can expand into new markets in Sub-Saharan Africa&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="by-the-numbers"&gt;By the numbers&lt;a class="anchorjs-link" href="#by-the-numbers"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/AGI_001.png" data-action="zoom" alt="The Mobile Economy in Sub-Saharan Africa 2019. GSMA 2019" title="The Mobile Economy in Sub-Saharan Africa 2019. GSMA 2019" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;The Mobile Economy in Sub-Saharan Africa 2019. GSMA 2019&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;</description></item><item><title>Security and Privacy on KaiOS</title><link>https://kaios.dev/2023/04/security-and-privacy-on-kaios/</link><pubDate>Wed, 19 Apr 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/04/security-and-privacy-on-kaios/</guid><description>&lt;h1 id="security-and-privacy-considerations-for-kaios-smart-feature-phones"&gt;Security and Privacy considerations for KaiOS smart feature phones&lt;a class="anchorjs-link" href="#security-and-privacy-considerations-for-kaios-smart-feature-phones"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;KaiOS is based on Firefox OS, and as a result, many of the same technologies apply to Security &amp;amp; Privacy within KaiOS apps.&lt;/p&gt;
&lt;h2 id="content-security-policy-csp"&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Content Security Policy (CSP)&lt;/a&gt;&lt;a class="anchorjs-link" href="#content-security-policy-csp"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;The Content Security Policy (CSP) prevents attacks like Cross-Site Scripting (XSS) by limiting the origins that specific resources like scripts, objects, and stylesheets can be loaded from. KaiOS imposes default CSPs on Privileged &amp;amp; Certified packaged apps. It&amp;rsquo;s possible to override this using the 
&lt;a href="https://kaios.dev/2023/03/complete-manifest.webapp-guide/#csp-optional"&gt;&lt;code&gt;csp&lt;/code&gt; manifest property&lt;/a&gt;, but the provided value can only be &lt;strong&gt;more strict&lt;/strong&gt; than KaiOS&amp;rsquo; default.&lt;/p&gt;</description></item><item><title>What KaiOS phone should I get?</title><link>https://kaios.dev/2023/04/what-kaios-phone-should-i-get/</link><pubDate>Mon, 10 Apr 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/04/what-kaios-phone-should-i-get/</guid><description>&lt;h1 id="what-kaios-phone-should-i-get"&gt;What KaiOS phone should I get?&lt;a class="anchorjs-link" href="#what-kaios-phone-should-i-get"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;With many 
&lt;a href="https://www.kaiostech.com/explore/devices/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS phones&lt;/a&gt; available for purchase, it can be difficult picking the right one for your needs. This article summarizes some of the popular KaiOS devices on the market today, as well as who these devices might best serve.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Disclosure&lt;/u&gt;: Some links below are affiliate links. This means that, at no cost to you, I may earn affiliate commission if you click the link and finalize a purchase, which supports this blog financially.&lt;/p&gt;</description></item><item><title>KaiOS App Optimization Tips</title><link>https://kaios.dev/2023/04/kaios-app-optimization-tips/</link><pubDate>Sun, 02 Apr 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/04/kaios-app-optimization-tips/</guid><description>&lt;h1 id="optimizing-apps-for-kaios-smart-feature-phones"&gt;Optimizing apps for KaiOS smart feature phones&lt;a class="anchorjs-link" href="#optimizing-apps-for-kaios-smart-feature-phones"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Modern app developers have become accustomed to iOS and Android smartphones with specifications comparable to laptop or desktop computers: multi-touch high-resolution displays, gigabytes of memory, hundreds of gigabytes of storage, and cutting-edge 5G and WiFi 6 networking. In contrast, KaiOS smart feature phones have either 256mb or 512mb of RAM, storage between 256mb - 8gb, small ~2&amp;quot; 240x320 screens, and 3G, 4G and Wi-Fi ABG. These hardware restrictions make it crucial to optimize and measure KaiOS web app performance to run well on low-end hardware.&lt;/p&gt;</description></item><item><title>Complete KaiOS Permission Guide</title><link>https://kaios.dev/2023/03/complete-kaios-permission-guide/</link><pubDate>Mon, 20 Mar 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/03/complete-kaios-permission-guide/</guid><description>&lt;h1 id="complete-guide-to-app-permissions-on-kaios"&gt;Complete Guide to App Permissions on KaiOS&lt;a class="anchorjs-link" href="#complete-guide-to-app-permissions-on-kaios"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;There are &lt;strong&gt;more than 100 permissions available on KaiOS&lt;/strong&gt;! Below is the &lt;em&gt;complete list of permissions&lt;/em&gt; on KaiOS 2.5 and KaiOS 3.0 defined in 
&lt;a href="https://github.com/kaiostech/gecko-b2g/blob/b2g48/dom/apps/PermissionsTable.jsm#L299" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;PermissionsTable.jsm&lt;/a&gt; to help with developing your next application.&lt;/p&gt;
&lt;h1 id="hosted--privileged-apps"&gt;Hosted &amp;amp; Privileged Apps&lt;a class="anchorjs-link" href="#hosted--privileged-apps"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id="geolocation"&gt;Geolocation&lt;a class="anchorjs-link" href="#geolocation"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 1&lt;/span&gt;&lt;span&gt;geolocation&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 2&lt;/span&gt;&lt;span&gt; app&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; PROMPT_ACTION,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 3&lt;/span&gt;&lt;span&gt; privileged&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; PROMPT_ACTION,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 4&lt;/span&gt;&lt;span&gt; certified&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; PROMPT_ACTION
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 5&lt;/span&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 6&lt;/span&gt;&lt;span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;geolocation-noprompt&amp;#34;&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 7&lt;/span&gt;&lt;span&gt; app&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; DENY_ACTION,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 8&lt;/span&gt;&lt;span&gt; privileged&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; DENY_ACTION,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt; 9&lt;/span&gt;&lt;span&gt; certified&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; ALLOW_ACTION,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;10&lt;/span&gt;&lt;span&gt; substitute&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; [&lt;span style="color:#f1fa8c"&gt;&amp;#34;geolocation&amp;#34;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;11&lt;/span&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Similar to web apps, KaiOS apps can request access to the user&amp;rsquo;s Global Positioning System (GPS) coordinates using the 
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Geolocation API&lt;/a&gt;. However, this API is not available unless your app requests the &lt;code&gt;geolocation&lt;/code&gt; permission. Calling &lt;code&gt;navigator.geolocation.getCurrentPosition&lt;/code&gt; at runtime will trigger a permission request dialog that the user can then accept or reject. For Certified apps there is also a substitute permission, &lt;code&gt;geolocation-noprompt&lt;/code&gt;, which as the name implies does not trigger a permission request dialog.&lt;/p&gt;</description></item><item><title>Complete manifest.webapp Guide</title><link>https://kaios.dev/2023/03/complete-manifest.webapp-guide/</link><pubDate>Sat, 11 Mar 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/03/complete-manifest.webapp-guide/</guid><description>&lt;h1 id="complete-guide-to-manifestwebapp-properties"&gt;Complete Guide to manifest.webapp Properties&lt;a class="anchorjs-link" href="#complete-guide-to-manifestwebapp-properties"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;The complete guide to &lt;em&gt;every&lt;/em&gt; &lt;code&gt;manifest.webapp&lt;/code&gt; property on KaiOS! This includes many undocumented but useful properties (like &lt;code&gt;userAgentInfo&lt;/code&gt;) as well as properties only intended for system apps. The &lt;code&gt;manifest.webapp&lt;/code&gt; file is a JSON-formatted document that contains important information about your app, including &lt;code&gt;version&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;icon&lt;/code&gt;, &lt;code&gt;locales&lt;/code&gt;, and more.&lt;/p&gt;
&lt;p&gt;Most importantly, the app manifest contains the list of APIs, permissions, and dependencies that your app needs. It&amp;rsquo;s analogous to &lt;code&gt;AndroidManifest.xml&lt;/code&gt; for Android apps or &lt;code&gt;Info.plist&lt;/code&gt; for iOS apps.&lt;/p&gt;</description></item><item><title>Audio and Volume Control in KaiOS</title><link>https://kaios.dev/2023/03/audio-and-volume-control-in-kaios/</link><pubDate>Thu, 09 Mar 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/03/audio-and-volume-control-in-kaios/</guid><description>&lt;h1 id="controlling-volume-and-audio-channels-on-kaios"&gt;Controlling volume and audio channels on KaiOS&lt;a class="anchorjs-link" href="#controlling-volume-and-audio-channels-on-kaios"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id="getting-started"&gt;Getting Started&lt;a class="anchorjs-link" href="#getting-started"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;All KaiOS phones come with a built-in speaker, microphone, and headphone jack. Additionally, most KaiOS phones come with Bluetooth and support for A2DP. Yes, that means you can connect a KaiOS phones to Apple AirPods!&lt;/p&gt;
&lt;p&gt;Similar to Android, KaiOS enables app developers to build rich multimedia experience with the Audio Channels, Volume Manager, and Speaker Manager APIs. These collectively allow apps to control volume, known when headphones are unplugged, and force audio output through built-in speakers. KaiOS supports many common 
&lt;a href="https://wiki.mozilla.org/Firefox_OS/MultimediaPlatform/MediaFormats" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Media Formats&lt;/a&gt; including:&lt;/p&gt;</description></item><item><title>The Download on KaiOS Downloads</title><link>https://kaios.dev/2023/02/the-download-on-kaios-downloads/</link><pubDate>Sat, 25 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/02/the-download-on-kaios-downloads/</guid><description>&lt;h1 id="how-to-stream-and-store-files-on-kaios"&gt;How to stream and store files on KaiOS&lt;a class="anchorjs-link" href="#how-to-stream-and-store-files-on-kaios"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id="background"&gt;Background&lt;a class="anchorjs-link" href="#background"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Although KaiOS is based on Firefox, unlike modern smartphones or desktops, KaiOS phones are quite resource constrained. All KaiOS-powered devices have either 256MB or 512MB RAM for the entire operating system. That memory gets allocated for core system services like telephony, audio, and graphics. Only a fraction of that memory is available to your app.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/memory-low.png" data-action="zoom" alt="KaiOS Memory Low Warning" title="KaiOS Memory Low Warning" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;KaiOS Memory Low Warning&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;</description></item><item><title>Dos and Don'ts for KaiOS</title><link>https://kaios.dev/2023/02/dos-and-donts-for-kaios/</link><pubDate>Sat, 18 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/02/dos-and-donts-for-kaios/</guid><description>&lt;h1 id="dos-and-donts-of-developing-kaios-apps"&gt;Dos and dont&amp;rsquo;s of developing KaiOS apps&lt;a class="anchorjs-link" href="#dos-and-donts-of-developing-kaios-apps"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id="-dos"&gt;☑️ Dos&lt;a class="anchorjs-link" href="#-dos"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Develop small applications
&lt;ul&gt;
&lt;li&gt;Minify all resources (JS, CSS, HTML)&lt;/li&gt;
&lt;li&gt;Right-size and compress multimedia assets&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Have a caching strategy&lt;/li&gt;
&lt;li&gt;Test on an actual device&lt;/li&gt;
&lt;li&gt;Support offline usage (when possible)&lt;/li&gt;
&lt;li&gt;Use global CDNs for edge caching&lt;/li&gt;
&lt;li&gt;Only access secure resources (i.e. HTTPS)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="develop-small-applications"&gt;Develop small applications&lt;a class="anchorjs-link" href="#develop-small-applications"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The maximum package size that the KaiStore accepts is 20MB, with an average of 2-4MB. Compare that to iOS, where 
&lt;a href="https://www.statista.com/statistics/1295962/size-top-ios-apps/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;iOS apps average 110 - 427MB&lt;/a&gt;. Smaller applications use less memory and this will perform better on KaiOS devices which only have 256MB or 512MB of RAM.&lt;/p&gt;</description></item><item><title>FAQ</title><link>https://kaios.dev/faq/</link><pubDate>Fri, 17 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/faq/</guid><description>&lt;h1 id="kaios-faqs"&gt;KaiOS FAQs&lt;a class="anchorjs-link" href="#kaios-faqs"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2 id="basics"&gt;Basics&lt;a class="anchorjs-link" href="#basics"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id="what-hardware-specifications-do-kaios-phones-have"&gt;What hardware specifications do KaiOS phones have?&lt;a class="anchorjs-link" href="#what-hardware-specifications-do-kaios-phones-have"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;240x320 ~2.4-3.2&amp;quot; displays&lt;/li&gt;
&lt;li&gt;256mb, 512mb, or 1GB RAM&lt;/li&gt;
&lt;li&gt;3G, 4G, or 5G&lt;/li&gt;
&lt;li&gt;ARM CPUs
&lt;ul&gt;
&lt;li&gt;Qualcomm, Spreadtrum &amp;amp; Mediatek&lt;/li&gt;
&lt;li&gt;1.0GHz - 2.0GHz&lt;/li&gt;
&lt;li&gt;Dual-core, Quad-core, or Octa-core&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;T9 or QWERTY keyboards&lt;/li&gt;
&lt;li&gt;D-Pad &amp;amp; Soft-Key (LSK &amp;amp; RSK) navigation&lt;/li&gt;
&lt;li&gt;WiFI &amp;amp; Bluetooth (optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="is-instagram-tik-tok-spotify-uber-insert-app-available-on-kaios"&gt;Is Instagram, Tik-Tok, Spotify, Uber, [insert app] available on KaiOS?&lt;a class="anchorjs-link" href="#is-instagram-tik-tok-spotify-uber-insert-app-available-on-kaios"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;No. KaiOS has a number of popular apps, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;YouTube&lt;/li&gt;
&lt;li&gt;Google Assistant&lt;/li&gt;
&lt;li&gt;Google Search&lt;/li&gt;
&lt;li&gt;Google Maps&lt;/li&gt;
&lt;li&gt;Microsoft Outlook&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As of January 2026, most other popular social network, music streaming, chat, or shopping apps are not available. The following are &lt;strong&gt;not officially available on KaiOS&lt;/strong&gt;:&lt;/p&gt;</description></item><item><title>Web Activities on KaiOS</title><link>https://kaios.dev/2023/02/web-activities-on-kaios/</link><pubDate>Wed, 15 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/02/web-activities-on-kaios/</guid><description>&lt;p&gt;Sharing, selecting, and viewing data cross-app with Web Activities and deep links&lt;/p&gt;
&lt;h2 id="web-activities"&gt;Web Activities&lt;a class="anchorjs-link" href="#web-activities"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/appPermissions-activity.png" data-action="zoom" alt="User Flow of Configure Activity" title="Example User Flow of &amp;lt;code&amp;gt;configure&amp;lt;/code&amp;gt; Activity" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;Example User Flow of &lt;code&gt;configure&lt;/code&gt; Activity&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Like 
&lt;a href="https://developer.apple.com/documentation/appintents/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;App Intents&lt;/a&gt; on iOS and 
&lt;a href="https://developer.android.com/reference/android/content/Intent" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Intents&lt;/a&gt; on Android, Web Activities are the way to share, pick, and view across apps on KaiOS. The interfaces are very similar across platforms, consisting of two components: a &lt;strong&gt;name&lt;/strong&gt; (or action in Android) and an arbitrary &lt;strong&gt;data&lt;/strong&gt; payload. Again similar to Android&amp;rsquo;s Intents, Web Activities are registered on KaiOS within an app&amp;rsquo;s static manifest.&lt;/p&gt;</description></item><item><title>Developing for KaiOS on Mac</title><link>https://kaios.dev/2023/02/developing-for-kaios-on-mac/</link><pubDate>Sun, 12 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/02/developing-for-kaios-on-mac/</guid><description>&lt;p&gt;Developing KaiOS apps on Mac (updated for Ventura 13.2)&lt;/p&gt;
&lt;h2 id="getting-started"&gt;Getting Started&lt;a class="anchorjs-link" href="#getting-started"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Developing and testing KaiOS apps on a real device using Mac is easy, and a great way to validate your apps on actual hardware. For setup, all you need is 
&lt;a href="https://stackoverflow.com/questions/31374085/installing-adb-on-macos" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;&lt;code&gt;adb&lt;/code&gt;&lt;/a&gt;, WebIDE (a debug tool that used to come pre-packaged with Firefox), and a 
&lt;a href="https://sites.google.com/view/bananahackers/development/debug-mode" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;debug-enabled KaiOS device&lt;/a&gt; like the 
&lt;a href="https://www.nokia.com/phones/en_int/nokia-8110-4g?sku=16ARGYW1A09" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Nokia 8110 4G&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="waterfox-classic"&gt;Waterfox Classic&lt;a class="anchorjs-link" href="#waterfox-classic"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;According to the 
&lt;a href="https://developer.kaiostech.com/docs/getting-started/env-setup/os-env-setup#macos" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS ENV Setup&lt;/a&gt; guide, Firefox 59 is recommended for KaiOS development. However, as of Mac Ventura 13.2, Firefox 59 has a fatal crash on startup. Since Firefox 59 stopped working on Mac Ventura, &lt;strong&gt;the best choice for KaiOS development on Mac is 
&lt;a href="https://classic.waterfox.net/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Waterfox Classic&lt;/a&gt;&lt;/strong&gt;. Waterfox Classic is a legacy web browser for older systems and with WebIDE, XPCOM and XUL extensions, and numerous 
&lt;a href="https://github.com/WaterfoxCo/Waterfox-Classic/wiki/Unpatched-Security-Advisories" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;unpatched security advisories&lt;/a&gt;. Perfect for KaiOS development, but not recommended as your default web browser.&lt;/p&gt;</description></item><item><title>KaiOS App Monetization</title><link>https://kaios.dev/2023/02/kaios-app-monetization/</link><pubDate>Sat, 11 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/02/kaios-app-monetization/</guid><description>&lt;p&gt;Monetizing apps with on KaiOS with KaiAds and JioAds.&lt;/p&gt;
&lt;h2 id="kaiads"&gt;KaiAds&lt;a class="anchorjs-link" href="#kaiads"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/kaiads-examples.png" data-action="zoom" alt="KaiAd Examples" title="KaiAd Examples" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;KaiAd Examples&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;By far, 
&lt;a href="https://kaiads.com/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiAds&lt;/a&gt; are the easiest way to monetize KaiOS apps. KaiOS provides a 
&lt;a href="https://kaiads.com/publishers/sdk.html" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;publisher SDK&lt;/a&gt; that works for both apps and websites. There are two types of KaiAds: &lt;strong&gt;responsive&lt;/strong&gt; banners and full-page &lt;strong&gt;interstitials&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;KaiAds can be preloaded in the background with a refresh rate of ~30 seconds, then displayed when the opportunity is right like during page transitions or when the user finishes a level in a game. To get started, you can register for an account at 
&lt;a href="https://publishers.kaiads.com" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;https://publishers.kaiads.com&lt;/a&gt;. Once complete, you&amp;rsquo;ll get a Publisher ID to use with the SDK.&lt;/p&gt;</description></item><item><title>Advanced KaiOS Development: Push Notifications</title><link>https://kaios.dev/2023/02/advanced-kaios-development-push-notifications/</link><pubDate>Thu, 09 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/02/advanced-kaios-development-push-notifications/</guid><description>&lt;p&gt;Sending Notifications with the Web Push Protocol on KaiOS.&lt;/p&gt;
&lt;h1 id="the-web-push-protocol"&gt;The Web Push Protocol&lt;a class="anchorjs-link" href="#the-web-push-protocol"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/podlp-notifications.png" data-action="zoom" alt="Push Notifications on KaiOS" title="Push Notifications on KaiOS" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;Push Notifications on KaiOS&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Push Notifications on KaiOS work more or less the same as they do in a web browser like Firefox, with some caveats. They are a great way to provide utility and drive engagement. For instance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chat app with notifications for new messages&lt;/li&gt;
&lt;li&gt;Email app with notifications for new emails&lt;/li&gt;
&lt;li&gt;Podcast app with notifications for new episodes&lt;/li&gt;
&lt;li&gt;Sports app with notifications for game scores&lt;/li&gt;
&lt;li&gt;Bank app with notifications for transactionals&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Push Notifications require two components: a client with a registered ServiceWorker to receive notifications, and a web server to store subscriptions and send notifications. This article focuses on KaiOS-specific client-side interactions, as there are many great back-end libraries like 
&lt;a href="https://github.com/web-push-libs/web-push" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;web-push&lt;/a&gt;. There are also alternatives such as 
&lt;a href="https://developer.ibm.com/articles/wa-http-server-push-with-websocket-sse/" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;WebSockets and Server-Sent Events (SSE)&lt;/a&gt;, although these are limited to interactions while the app is active in the foreground, while Web Push allows notifications to be received even if the app isn&amp;rsquo;t open.&lt;/p&gt;</description></item><item><title>The KaiOS Ecosystem: Apps &amp; App Stores</title><link>https://kaios.dev/2023/02/the-kaios-ecosystem-apps-app-stores/</link><pubDate>Sat, 04 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/02/the-kaios-ecosystem-apps-app-stores/</guid><description>&lt;p&gt;The KaiOS ecosystem, packaged and hosted apps, and the KaiStore and JioStore.&lt;/p&gt;
&lt;h1 id="kaios-app-basics"&gt;KaiOS App Basics&lt;a class="anchorjs-link" href="#kaios-app-basics"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/2020-Top-Apps-Featured-Image.jpg" data-action="zoom" alt="KaiOS Apps" title="KaiOS Apps (Source: &amp;lt;a href=&amp;#39;https://www.kaiostech.com/2020-most-popular-kaios-apps/&amp;#39; rel=&amp;#39;external noopener&amp;#39;&amp;gt;2020’s most popular KaiOS apps&amp;lt;/a&amp;gt;)" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;KaiOS Apps (Source: &lt;a href='https://www.kaiostech.com/2020-most-popular-kaios-apps/' rel='external noopener'&gt;2020’s most popular KaiOS apps&lt;/a&gt;)&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Unlike Android and iOS, &amp;ldquo;native&amp;rdquo; KaiOS apps are just modified web apps. That means no new programming languages to learn or complicated build processes, just standard HTML, CSS, and JavaScript. That means you can also write in TypeScript or any JavaScript version or language the compiles or transpiles into ECMAScript 2015 (ES6) and runs on Firefox 48.&lt;/p&gt;</description></item><item><title>Advanced KaiOS Development - CORS, TCP Sockets, and Let's Encrypt SSL Certificates</title><link>https://kaios.dev/2023/02/advanced-kaios-development-cors-tcp-sockets-and-lets-encrypt-ssl-certificates/</link><pubDate>Thu, 02 Feb 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/02/advanced-kaios-development-cors-tcp-sockets-and-lets-encrypt-ssl-certificates/</guid><description>&lt;p&gt;Learn more about disabling CORS, &lt;code&gt;Navigator.mozTCPSocket&lt;/code&gt;, and issues with Let&amp;rsquo;s Encrypt and Sectigo certificates on KaiOS&lt;/p&gt;
&lt;h2 id="xmlhttprequest-without-cors"&gt;&lt;code&gt;XMLHttpRequest&lt;/code&gt; without CORS&lt;a class="anchorjs-link" href="#xmlhttprequest-without-cors"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;There are several ways that dynamic web apps communicate with a back-end server. 
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;XMLHttpRequest&lt;/a&gt; (XHR) is the original method, used heavily in 
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;AJAX&lt;/a&gt; programming. XHR allows web apps to make a variety of HTTP requests like GET, PUT, POST, and DELETE, both synchronously (now deprecated) and asynchronously.&lt;/p&gt;
&lt;p&gt;KaiOS fully supports XMLHttpRequest, including a few non-standard flags that can be provided to it&amp;rsquo;s constructor.&lt;/p&gt;</description></item><item><title>History of KaiOS</title><link>https://kaios.dev/2023/01/history-of-kaios/</link><pubDate>Tue, 24 Jan 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/2023/01/history-of-kaios/</guid><description>&lt;p&gt;Learn about KaiOS, the world&amp;rsquo;s 
&lt;a href="https://www.engadget.com/2019-02-26-kaios-third-mobile-operating-system.html" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;third most popular mobile operating system&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="kaios-origins"&gt;KaiOS&amp;rsquo; Origins&lt;a class="anchorjs-link" href="#kaios-origins"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;figure&gt;
 &lt;a class="paragraph-image"&gt;
 
 &lt;img src="https://kaios.dev/img/KaiOS_logo.png" data-action="zoom" alt="KaiOS Logo" title="KaiOS Logo" loading="lazy" decoding="async" draggable="false" /&gt;
 &lt;/a&gt;
 
 &lt;figcaption class="image-caption"&gt;KaiOS Logo&lt;/figcaption&gt;
 
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;KaiOS is the successor to the now-defunct 
&lt;a href="https://en.wikipedia.org/wiki/Firefox_OS" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;Firefox OS&lt;/a&gt; and Boot2Gecko (B2G). Firefox OS was first demoed publicly in 2012 and discontinued four years later in 2016. It sought to provide a standards-based and open web alternative to Android and iOS by offering APIs that progressively bridged the gap between traditional web apps and native mobile apps, without requiring developers rewrite their existing apps using new technologies.&lt;/p&gt;</description></item><item><title>Privacy Policy</title><link>https://kaios.dev/privacy/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0800</pubDate><guid>https://kaios.dev/privacy/</guid><description>&lt;h3 id="effective-november-26th-2025"&gt;Effective: November 26th, 2025&lt;a class="anchorjs-link" href="#effective-november-26th-2025"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Last Byte LLC (&amp;ldquo;The Company&amp;rdquo;, &amp;ldquo;we&amp;rdquo;, &amp;ldquo;us&amp;rdquo;, &amp;ldquo;kaios.dev&amp;rdquo;) is committed to protecting your privacy when you visit our website, 
&lt;a href="https://KaiOS.dev" referrerpolicy="strict-origin-when-cross-origin" target="_blank"&gt;KaiOS.dev&lt;/a&gt;. You can access KaiOS.dev and browse our site without disclosing any personal data. KaiOS.dev does not collect personal information about individuals, such as names or e-mail addresses unless it is knowingly provided by the individual and he or she has agreed to the terms under which KaiOS.dev will use it.&lt;/p&gt;</description></item></channel></rss>