{"id":1012,"date":"2019-01-27T17:03:00","date_gmt":"2019-01-27T17:03:00","guid":{"rendered":"http:\/\/tola.me.uk\/blog\/?p=1012"},"modified":"2021-02-13T17:28:51","modified_gmt":"2021-02-13T17:28:51","slug":"the-legacy-of-firefox-os","status":"publish","type":"post","link":"https:\/\/tola.me.uk\/blog\/2019\/01\/27\/the-legacy-of-firefox-os\/","title":{"rendered":"The Legacy of Firefox OS"},"content":{"rendered":"\n<p><em>Originally <a href=\"https:\/\/medium.com\/@bfrancis\/the-legacy-of-firefox-os-c58ec32d94f0\">posted on Medium<\/a>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*ehSRIjG9nzSa0JZRqWtmpw.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>In 2017 I wrote about <a href=\"https:\/\/medium.com\/@bfrancis\/the-story-of-firefox-os-cb5bf796e8fb\" target=\"_blank\" rel=\"noreferrer noopener\">the story of Firefox OS<\/a>, from the birth of the B2G (Boot to Gecko) open source software project as an empty GitHub repository in 2011, to shipping as Firefox OS on five million devices worldwide, and then eventually being \u201ctransitioned\u201d to the community in 2016.<\/p>\n\n\n\n<p>In the two years or so since Mozilla announced the end of Firefox OS as a Mozilla-run project, the B2G source code has found its way into a surprising number of commercial products. In fact since Mozilla moved on from Firefox OS, its derivatives have shipped on an order of magnitude more devices than during its entire time under Mozilla\u2019s leadership and it has gone on to form the basis of the third largest and fastest growing mobile operating system in the world.<\/p>\n\n\n\n<p>In this blog post I take a look at the legacy of the B2G project, some of the devices you can buy today running B2G code, and other related efforts which still continue inside and outside Mozilla. I will cover KaiOS, Panasonic\u2019s My Home Screen, Servonk, Webian, Astian OS, IceWolf OS and the latest in Mozilla Research &amp; Development. I\u2019ll then explain why I think there\u2019s a strong argument for Mozilla to take a more active role in supporting downstream users of Gecko in future, and even the B2G codebase itself.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">KaiOS<\/h3>\n\n\n\n<p>Probably the most notable fork of the B2G source code is KaiOS from <a href=\"https:\/\/www.kaiostech.com\/\" rel=\"noreferrer noopener\" target=\"_blank\">KaiOS Technologies<\/a>. It was <a href=\"https:\/\/www.kaiostech.com\/meet-kaios-technologies-force-behind-30-million-phones-counting\/\" rel=\"noreferrer noopener\" target=\"_blank\">started<\/a> in 2016 with a team of 30 people and has since grown to have <a href=\"https:\/\/support.kaiostech.com\/support\/solutions\/articles\/35000075651-what-is-kaios-\" rel=\"noreferrer noopener\" target=\"_blank\">offices<\/a> in France, Germany, Taiwan, India, Brazil, Hong Kong and mainland China in addition to its headquarters in the US.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*Gcgk9F1Jq997I_GqMHyu-A.png\" alt=\"\"\/><figcaption>KaiOS logo<\/figcaption><\/figure>\n\n\n\n<p>KaiOS has a UI optimised for non-touch \u201csmart feature phones\u201d with physical keypads and small colour screens. That includes the hugely popular <a href=\"https:\/\/www.jio.com\/en-in\/jiophone\" rel=\"noreferrer noopener\" target=\"_blank\">JioPhone<\/a> in India, HMD\u2019s nostalgic re-launch of the <a href=\"https:\/\/www.gsmarena.com\/nokia_8110_4g-9089.php\" rel=\"noreferrer noopener\" target=\"_blank\">Nokia 8110<\/a>, and the recently announced $7 <a href=\"https:\/\/www.kaiostech.com\/the-first-kaios-powered-smart-feature-phone-arrives-in-indonesia-a-new-partnership-model-combining-retail-and-banking-to-advance-financial-inclusion\/\" rel=\"noreferrer noopener\" target=\"_blank\">WizPhone<\/a> in Indonesia. With these devices KaiOS is very much continuing the Firefox OS vision of \u201cconnecting the next billion\u201d, with low end devices aimed mainly at emerging markets.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*S2rK3pWrMxH9l5U2u3S60w.jpeg\" alt=\"\"\/><figcaption>KaiOS Technologies CEO Sebastien Codeville with KaiOS devices at CES&nbsp;2019<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">JioPhone<\/h4>\n\n\n\n<p>The JioPhone has been extremely popular in India since its launch in July 2017, in part due to being given away for free, with a security deposit of \u20b91500 ($21 USD) which can be refunded by returning the device to Jio stores after three years.<\/p>\n\n\n\n<p>The JioPhone 2 was released in July 2018 at a price of \u20b92,999 ($42 USD). It has a full QWERTY keyboard and has apps for Facebook, WhatsApp and YouTube.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*n24OhczXbhlYJHMgtUzLSA.jpeg\" alt=\"\"\/><figcaption>JioPhone &amp; JioPhone&nbsp;2<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Nokia 8110<\/h4>\n\n\n\n<p>The Nokia 8110 is available internationally, including here in the UK with a recommended retail price of \u00a369.99 ($89) unlocked. It\u2019s available from many popular retailers and mobile network providers including Carphone Warehouse, Currys, John Lewis, Amazon, Vodafone, EE, GiffGaff and BT.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*j2VzPRLCo3S0mPbZhvQvfw.jpeg\" alt=\"\"\/><figcaption>Nokia 8110<\/figcaption><\/figure>\n\n\n\n<p>The Nokia 8110 is a very neat little device with an intuitive UI reminiscent of Symbian, but with a modern twist. It\u2019s surprising how much of the web actually works on such a small non-touch screen, though it\u2019s a very fiddly experience if you\u2019re used to a touch screen smartphone.<\/p>\n\n\n\n<p>The presence of Google Assistant on feature phones at this price point is remarkable and it works surprisingly well. To implement Google Assistant for KaiOS, Google have created a custom HTML5 app packaged for the mozApp app runtime KaiOS inherited from B2G.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*5oBAQYlB0-TsNqRFbSD0wQ.jpeg\" alt=\"\"\/><figcaption>Nokia 8110 running Google Assistant<\/figcaption><\/figure>\n\n\n\n<p>When I first bought the Nokia 8110 the bundled app store had a grand total of eight apps in it and there\u2019s no way to install web apps from the browser. Since then it has grown a little, but only to about 30 apps and most of them are games. (The JioPhone comes with its own app store called JioStore and not all apps are available on all KaiOS devices, e.g. WhatsApp.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">WizPhone WP006<\/h4>\n\n\n\n<p>The WizPhone WP006 was recently <a href=\"https:\/\/www.kaiostech.com\/the-first-kaios-powered-smart-feature-phone-arrives-in-indonesia-a-new-partnership-model-combining-retail-and-banking-to-advance-financial-inclusion\/\" rel=\"noreferrer noopener\" target=\"_blank\">announced<\/a> in Indonesia in partnership with Google and Alfamart and can be purchased from vending machines for only IDR99,000 ($7).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*Kh0UKziHlUsQccGtGVGBAw.jpeg\" alt=\"\"\/><figcaption><a href=\"https:\/\/www.kaiostech.com\/the-first-kaios-powered-smart-feature-phone-arrives-in-indonesia-a-new-partnership-model-combining-retail-and-banking-to-advance-financial-inclusion\/\" rel=\"noreferrer noopener\" target=\"_blank\">WizPhone WP006<\/a><\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Other KaiOS&nbsp;Devices<\/h4>\n\n\n\n<p>Other <a href=\"https:\/\/www.kaiostech.com\/meet-the-devices-that-are-powered-by-kaios\/\" rel=\"noreferrer noopener\" target=\"_blank\">devices<\/a> running KaiOS include:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/us.alcatelmobile.com\/alcatel-go-flip\/\" rel=\"noreferrer noopener\" target=\"_blank\">Alcatel OneTouch Go Flip<\/a><\/li><li><a href=\"https:\/\/uk.maxcommobile.eu\/classic-phones-with-traditional-keypad\/412-maxcom-classic-mk241-4g.html#\/11-color-black\" rel=\"noreferrer noopener\" target=\"_blank\">MaxCom 241 and 281<\/a><\/li><li><a href=\"https:\/\/www.dorousa.us\/doro-7050.html\" rel=\"noreferrer noopener\" target=\"_blank\">Doro 7050<\/a> and <a href=\"https:\/\/www.doro.co.uk\/doro-7060.html\" rel=\"noreferrer noopener\" target=\"_blank\">7060<\/a><\/li><li><a href=\"https:\/\/www.catphones.com\/en-gb\/cat-b35-mobile-phone\/\" rel=\"noreferrer noopener\" target=\"_blank\">CAT B35<\/a><\/li><li>MTN Phone (coming in 2019)<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Rapid Growth<\/h4>\n\n\n\n<p>By the end of 2017 KaiOS had shipped on <a href=\"https:\/\/www.kaiostech.com\/meet-kaios-technologies-force-behind-30-million-phones-counting\/\" rel=\"noreferrer noopener\" target=\"_blank\">30 million<\/a> phones in the U.S., Canada, and India via partnerships with 20 carriers.<\/p>\n\n\n\n<p>By June 2018 it had reached <a href=\"https:\/\/techcrunch.com\/2018\/06\/27\/google-kaios\/\" rel=\"noreferrer noopener\" target=\"_blank\">40 million<\/a> devices and Google made a $22m investment in the company. As part of that agreement KaiOS Technologies agreed to bundle Google services, including Google Assistant.<\/p>\n\n\n\n<p>As of the end of 2018 it has reached over <a href=\"https:\/\/www.kaiostech.com\/the-first-kaios-powered-smart-feature-phone-arrives-in-indonesia-a-new-partnership-model-combining-retail-and-banking-to-advance-financial-inclusion\/\" rel=\"noreferrer noopener\" target=\"_blank\">50 million<\/a> devices across North America, Asia, Europe, and Africa.<\/p>\n\n\n\n<p>According to StatCounter, as of the end of 2018 KaiOS was the <a href=\"http:\/\/gs.statcounter.com\/os-market-share\/mobile\/worldwide\/#monthly-201812-201812-bar\" rel=\"noreferrer noopener\" target=\"_blank\">third largest<\/a> mobile operating system in the world after Android and iOS, with 1.13% market share worldwide.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*7sr_e_a_h0wYhWWJ4nfycA.png\" alt=\"\"\/><figcaption>Worldwide mobile operating system market share, December 2018. Source: <a href=\"http:\/\/gs.statcounter.com\/os-market-share\/mobile\/worldwide\/#monthly-201812-201812-bar\" rel=\"noreferrer noopener\" target=\"_blank\">StatCounter<\/a><\/figcaption><\/figure>\n\n\n\n<p>In India it has 4.55% market share, beating Apple\u2019s iOS into <a href=\"http:\/\/gs.statcounter.com\/os-market-share\/mobile\/india\/#monthly-201812-201812-bar\" rel=\"noreferrer noopener\" target=\"_blank\">second place<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*0Hy8qp_WK3qgpkIsuG7RrA.png\" alt=\"\"\/><figcaption>India mobile operating system market share, December 2018. Source: <a href=\"http:\/\/gs.statcounter.com\/os-market-share\/mobile\/india\/#monthly-201812-201812-bar\" rel=\"noreferrer noopener\" target=\"_blank\">StatCounter<\/a><\/figcaption><\/figure>\n\n\n\n<p>Strategy Analytics are <a href=\"https:\/\/www.strategyanalytics.com\/strategy-analytics\/blogs\/devices\/smartphones\/smart-phones\/2019\/01\/25\/kaios-phone-shipments-will-grow-50-yoy-in-2019\" rel=\"noreferrer noopener\" target=\"_blank\">forecasting<\/a> that KaiOS device shipments will grow 50% year on year in 2019, with more than 30% of those shipments coming from non-India markets such as Africa, South East Asia and Latin America. This, they say, will make it the \u201cworld\u2019s fastest growing major platform\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Panasonic My Home&nbsp;Screen<\/h3>\n\n\n\n<p>KaiOS is not the only fork of B2G. Panasonic was the first hardware vendor to create Firefox OS based smart TVs, which received great reviews for their user friendly design when they were <a href=\"https:\/\/blog.mozilla.org\/blog\/2015\/05\/14\/first-panasonic-smart-tvs-powered-by-firefox-os-debut-worldwide\/\" rel=\"noreferrer noopener\" target=\"_blank\">released in 2015<\/a>. When Mozilla stopped work on Firefox OS, Panasonic continued development of the software as <a href=\"https:\/\/www.techradar.com\/news\/panasonics-firefox-os-is-dead-long-live-firefox-os\" rel=\"noreferrer noopener\" target=\"_blank\">My Home Screen 2.0<\/a> and later My Home Screen 3.0.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*kleVzvE2dba6CL_e3jrOCw.jpeg\" alt=\"\"\/><figcaption>Panasonic 65&#8243; OLED 4K Smart TV (TX-65FZ802B) running My Home Screen&nbsp;3.0<\/figcaption><\/figure>\n\n\n\n<p>As of 2019 most Panasonic smart TVs are still running this B2G fork. There are localised variations being sold running My Home Screen all over the world including in North America, Latin America, Europe, Middle East, Africa, Asia and Oceania. They range from the low end 24&#8243; LED <a href=\"https:\/\/www.panasonic.com\/uk\/consumer\/televisions\/HDTV\/tx-24fs500b.html\" rel=\"noreferrer noopener\" target=\"_blank\">TX-24FS500B<\/a> in the UK for \u00a3279 ($359) to the very high end 77&#8243; OLED <a href=\"http:\/\/www.panasonic.hk\/english\/products\/audio-visual\/tv\/oled-tv\/th-77ez1000h.aspx\" rel=\"noreferrer noopener\" target=\"_blank\">TH-77EZ1000H<\/a> in Hong Kong for HK$139,000 ($17,700).<\/p>\n\n\n\n<p>A notable exception is the US, where Panasonic recently <a href=\"https:\/\/www.lifewire.com\/panasonic-slips-out-of-us-tv-market-4055689\" rel=\"noreferrer noopener\" target=\"_blank\">stopped selling TVs<\/a> due to difficult market conditions. But here in the UK you\u2019ll come across these smart TVs when walking into most popular high street electronics retailers like John Lewis, Currys and Argos. Some listings on online stores even still refer to these TVs as \u201cpowered by Firefox OS\u201d, despite the official change in branding.<\/p>\n\n\n\n<p>My Home Screen 3.0 is probably a bit of a Frankenstein of web and native code under the hood at this point, with support for a wide range of live and on-demand video platforms, but the user interface has remained largely the same.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*2PX32w-kGX1u871bm5SjjA.jpeg\" alt=\"\"\/><figcaption>Panasonic 49&#8243; 4K TV (TX-49FX750B) running My Home Screen&nbsp;3.0<\/figcaption><\/figure>\n\n\n\n<p>I have Panasonic TVs running both the Firefox OS branded and My Home Screen 3.0 branded software and while the browser has barely changed, app development has become much more locked down.<\/p>\n\n\n\n<p>With the latest \u201c<a href=\"https:\/\/developer.vieraconnect.com\/\" rel=\"noreferrer noopener\" target=\"_blank\">HTML v3 SDK<\/a>\u201d (based on the \u201cHybrid broadcast broadband TV\u201d standard), developer accounts are basically invitation only. I applied for an account and Panasonic first wanted to know what app I was developing so they could decide whether they wanted it in their store.<\/p>\n\n\n\n<p>This is quite a contrast from the original Firefox OS TVs where anyone could enable developer mode and and anyone could submit an app to the Firefox Marketplace.<\/p>\n\n\n\n<p>Still, with most of the major apps like Netflix, YouTube and Amazon Prime Video already supported, My Home Screen continues to provide a slick and compelling user experience for smart TVs.<\/p>\n\n\n\n<p>In total Panasonic sells approximately <a href=\"https:\/\/asia.nikkei.com\/Business\/Panasonic-to-quit-making-TVs-in-China-Mexico\" rel=\"noreferrer noopener\" target=\"_blank\">7 million<\/a> TVs per year worldwide.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Servonk<\/h3>\n\n\n\n<p>In January 2018 the tech lead of KaiOS, Fabrice Desr\u00e9 (previously tech lead of B2G at Mozilla), started an open source project called <a href=\"https:\/\/github.com\/fabricedesre\/servonk\" rel=\"noreferrer noopener\" target=\"_blank\">Servonk<\/a>. Servonk is kind of a \u201cBoot to Servo\u201d like the original Boot to Gecko project, but based on Mozilla\u2019s experimental <a href=\"https:\/\/servo.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">Servo<\/a> rendering engine.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*0t17Gkb6UpxFA876r4ywYQ.jpeg\" alt=\"\"\/><figcaption>Servonk running in an&nbsp;emulator<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*8em-lvGPbkf8i-f1q0LPnA.jpeg\" alt=\"\"\/><figcaption>Servonk running on an Android&nbsp;device<\/figcaption><\/figure>\n\n\n\n<p>Servonk takes advantage of the cutting edge features of Servo, is largely built on the Rust programming language and roughly follows the slimmed down architecture we started to <a href=\"https:\/\/wiki.mozilla.org\/B2G\/Transition_Project\" rel=\"noreferrer noopener\" target=\"_blank\">transition<\/a> to towards the end of the B2G project.<\/p>\n\n\n\n<p>Whilst a very cool open source project, Servonk is unlikely to ship on commercial devices any time soon, although there are some <a href=\"https:\/\/discourse.mozilla.org\/t\/plan-to-ship-necunos-nc-1-with-b2gos-loaded\/35084\" rel=\"noreferrer noopener\" target=\"_blank\">early discussions<\/a> around shipping a version of the <a href=\"https:\/\/necunos.com\/shop\/#!\/Necunos-NC_1\/\" rel=\"noreferrer noopener\" target=\"_blank\">Necunos NC_1<\/a> (community edition) with B2G or Servonk pre-loaded.<\/p>\n\n\n\n<p>Servo is still a very experimental browser engine which can\u2019t render the majority of web pages on the web today. Inside Mozilla, work on Servo has recently mostly been focused on VR applications and moving parts of Servo over to Gecko as part of the Quantum project. Servo itself is currently still a research project.<\/p>\n\n\n\n<p>According to the <a href=\"https:\/\/github.com\/fabricedesre\/servonk\/blob\/master\/readme.md\" rel=\"noreferrer noopener\" target=\"_blank\">README<\/a>, the main motivation of Servonk is to scratch a personal itch to build an alternative open source OS, and encourage contributions to Servo from outside Mozilla. If you join the (still surprisingly busy) #b2g channel on irc.mozilla.org, you\u2019ll find that most recent discussions are around Servonk.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Webian<\/h3>\n\n\n\n<p>My own <a href=\"http:\/\/webian.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">Webian<\/a> project predated B2G but still continues to crawl along, learning from many of the lessons of Firefox OS and using the web standards it helped create. Webian is an operating system dedicated to running standards-based web apps.<\/p>\n\n\n\n<p>The <a href=\"https:\/\/github.com\/webianproject\/shell\" rel=\"noreferrer noopener\" target=\"_blank\">desktop version<\/a> is currently built on the experimental <a href=\"https:\/\/github.com\/webianproject\/shell\/tree\/qbrt\" rel=\"noreferrer noopener\" target=\"_blank\">Quantum Browser Runtime<\/a> (qbrt) from Mozilla and the <a href=\"https:\/\/github.com\/webianproject\/shell-touch\" rel=\"noreferrer noopener\" target=\"_blank\">touch version<\/a> is based on <a href=\"https:\/\/developer.android.com\/things\/\" rel=\"noreferrer noopener\" target=\"_blank\">Android Things<\/a> and <a href=\"https:\/\/wiki.mozilla.org\/Mobile\/GeckoView\" rel=\"noreferrer noopener\" target=\"_blank\">GeckoView<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*uIFhK9rsB6hYQDuS8_RErg.png\" alt=\"\"\/><figcaption>Webian Desktop&nbsp;0.3<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*V9_m-nVJ1j9UczWZXPVo9g.png\" alt=\"\"\/><figcaption>Webian Touch<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*_iYH1hP0_cCsrZjS45Z3aw.jpeg\" alt=\"\"\/><figcaption>Webian Touch running on a&nbsp;RasPad<\/figcaption><\/figure>\n\n\n\n<p>The current approach I\u2019m using for touch-based devices is to implement the system UI as an Android app which runs on top of Android Things. Android Things is basically a special version of Android which only runs a single app (no default system UI like a status bar or task manager is included), enabling device makers to have full control over the system UI.<\/p>\n\n\n\n<p>Android Things has been used to build a range of commercial \u201csmart displays\u201d from Lenovo, LG and Samsung (though <a href=\"https:\/\/arstechnica.com\/gadgets\/2018\/10\/google-home-hub-under-the-hood-its-nothing-like-other-google-smart-displays\/\" rel=\"noreferrer noopener\" target=\"_blank\">notably<\/a> not Google\u2019s own Home Hub smart display which is based on the more lightweight Google Cast platform). I\u2019m using Android Things to build my own browser-based OS using Gecko via GeckoView with a native system UI in written in Java. The idea is that standard web apps can then be discovered and installed from the web using their <a href=\"https:\/\/www.w3.org\/TR\/appmanifest\/\" rel=\"noreferrer noopener\" target=\"_blank\">Web App Manifest<\/a> and <a href=\"https:\/\/w3c.github.io\/ServiceWorker\/\" rel=\"noreferrer noopener\" target=\"_blank\">Service Workers<\/a> where available.<\/p>\n\n\n\n<p>The upside of building on Android Things is that Google maintains the underlying OS and Android APIs, while I have full control over the system UI and can use Gecko via its existing well-supported Android widget layer. The downside is that it can probably never perform as well as B2G could have done on the same hardware because it requires that additional Java layer, the removal of which was one of B2G\u2019s biggest benefits. And of course Android itself is controlled by Google.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Astian OS<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*ZTe8rkRJhspWo7n7G8mQqA.jpeg\" alt=\"\"\/><figcaption>Astian OS&nbsp;Logo<\/figcaption><\/figure>\n\n\n\n<p>Astian OS <a href=\"https:\/\/groups.google.com\/forum\/#!topic\/mozilla.dev.fxos\/fnIzYyiBoSQ\" rel=\"noreferrer noopener\" target=\"_blank\">calls itself<\/a> a successor to Firefox OS, but it\u2019s more of a spiritual fork than an actual derivative. It\u2019s really a desktop Linux distribution with a love for web apps, based on Devuan (a fork of Debian).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*UaN9Pp3PI6gr3F2m7sUm9g.jpeg\" alt=\"\"\/><figcaption>Astian OS&nbsp;Launcher<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">IceWolf OS<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*m_QzaPs1cQy-_kTADYPVvw.png\" alt=\"\"\/><figcaption>IceWolf Logo<\/figcaption><\/figure>\n\n\n\n<p>Originally known as Pl\u00e1nium OS, IceWolf OS (see what they did there?) is an open source project started in Brazil. According to its <a href=\"https:\/\/twitter.com\/IceWolfOS\" rel=\"noreferrer noopener\" target=\"_blank\">Twitter profile<\/a>, IceWolf OS was inspired by Firefox OS and is built on web technologies.<\/p>\n\n\n\n<p>After experiments with <a href=\"https:\/\/gitlab.com\/nuinalp\/icewolfos\/arcadeshell\/apps\/system\/tree\/node_core_test\" rel=\"noreferrer noopener\" target=\"_blank\">NodeJS &amp; Chromium<\/a>, <a href=\"https:\/\/gitlab.com\/nuinalp\/icewolfos\/arcadeshell\/apps\/system\/tree\/electron_test\" rel=\"noreferrer noopener\" target=\"_blank\">Electron<\/a> and NW.js, the project leader Patrick A Lima is now making an effort to move back to Gecko, along with its new Firefox OS inspired name. Unfortunately (as I have experienced myself), Gecko is much harder to embed due to the monolithic nature of its architecture.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*wKs1Da785S17LcYFagMicQ.jpeg\" alt=\"\"\/><figcaption>Pl\u00e1nium OS<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Mozilla Projects<\/h3>\n\n\n\n<p>My current job is working in <a href=\"https:\/\/labs.mozilla.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">Research &amp; Development<\/a> in the Emerging Technologies department of Mozilla. Many of the current projects in Emerging Technologies have their origins in Firefox OS.<\/p>\n\n\n\n<p>The <a href=\"https:\/\/mixedreality.mozilla.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">WebVR<\/a> effort culminating in the <a href=\"https:\/\/mixedreality.mozilla.org\/firefox-reality\" rel=\"noreferrer noopener\" target=\"_blank\">Firefox Reality<\/a> browser was first started as a potential new form factor for Firefox OS in VR headsets.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*4yIstNiaZrLAIxNO16NsgA.png\" alt=\"\"\/><figcaption>Firefox Reality<\/figcaption><\/figure>\n\n\n\n<p><a href=\"https:\/\/github.com\/mozilla\/DeepSpeech\" rel=\"noreferrer noopener\" target=\"_blank\">DeepSpeech<\/a> was born as part of the Vaani voice assistant for Firefox OS, and may eventually be used in a voice browser called <a href=\"https:\/\/labs.mozilla.org\/projects\/firefox-listen\/\" rel=\"noreferrer noopener\" target=\"_blank\">Firefox Listen<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*6dPBYvH3RuvaPS-Z-GaWxQ.png\" alt=\"\"\/><figcaption>Firefox Listen on&nbsp;Pocket<\/figcaption><\/figure>\n\n\n\n<p>The current <a href=\"https:\/\/iot.mozilla.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">Mozilla IoT<\/a> effort includes some <a href=\"https:\/\/github.com\/mozilla-iot\/things-controller\" rel=\"noreferrer noopener\" target=\"_blank\">early work<\/a> on smart displays using Android Things and GeckoView.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*wgNO1Zci8jgfO_DA_jHr4A.png\" alt=\"\"\/><figcaption>Things Controller by&nbsp;Mozilla<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Legacy<\/h3>\n\n\n\n<p>In the five years under Mozilla\u2019s leadership around five million devices were shipped running Firefox OS. Since then over 50 million smart feature phones and millions of smart TVs have shipped running B2G code, and several new software projects have been derived from or inspired by it.<\/p>\n\n\n\n<p>According to StatCounter, on mobile there are now more users of the KaiOS browser than Firefox (1.13% vs. 0.34%).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*msX-WrHZ6Z52cW0_zsOxPg.png\" alt=\"\"\/><figcaption>Mobile Browser Market Share, December 2018. Source: <a href=\"http:\/\/gs.statcounter.com\/browser-market-share\/mobile\/worldwide\/#monthly-201812-201812-bar\" rel=\"noreferrer noopener\" target=\"_blank\">StatCounter<\/a><\/figcaption><\/figure>\n\n\n\n<p>Their numbers show that KaiOS browser market share overtook Firefox on mobile some time in April 2018 and shows no signs of stopping.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*uWGG-SfHU_Tdcyv2FimU6g.png\" alt=\"\"\/><figcaption>Worldwide Mobile Browser Market Share 2017\u20132018. Source: <a href=\"http:\/\/gs.statcounter.com\/browser-market-share\/mobile\/worldwide\/#monthly-201701-201812\" rel=\"noreferrer noopener\" target=\"_blank\">StatCounter<\/a><\/figcaption><\/figure>\n\n\n\n<p>With the current rate of growth of KaiOS and corresponding decline of Firefox market share, if KaiOS sticks with Gecko and Mozilla doesn\u2019t manage to turn things around, it\u2019s feasible that KaiOS could eventually become the biggest consumer of Gecko altogether.<\/p>\n\n\n\n<p>But KaiOS is currently running a very old patched version of Gecko 48 and Panasonic\u2019s My Home Screen 3.0 is running Gecko 34, while the latest version of Gecko in Firefox is 64.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*BacEaBoCBptjxdIOERTuQw.jpeg\" alt=\"\"\/><figcaption>KaiOS running Gecko&nbsp;48<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*xn9AFpmr-x07htqqIh63uQ.jpeg\" alt=\"\"\/><figcaption>Panasonic My Home Screen 3.0 running Gecko&nbsp;34<\/figcaption><\/figure>\n\n\n\n<p>KaiOS Technologies and Panasonic are being prevented from upgrading to a newer version of Gecko because Mozilla removed all B2G code from the mozilla-central code repository, including the Gonk widget layer. Since then there have been significant architectural changes to Gecko as part of the Quantum project which make it very difficult for downstream projects to port B2G to the latest version.<\/p>\n\n\n\n<p>This unfortunately means that the legacy of Firefox OS is currently tens of millions of phones and TVs across the world running an out of date browser engine which can probably never be updated. This potentially puts the users of those devices at risk, but also holds back the web platform as a whole.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Future<\/h3>\n\n\n\n<p>So what will these companies do next? It\u2019s very likely that without support from Mozilla, KaiOS will be forced to migrate from Gecko to Google\u2019s Blink engine. In fact I understand there\u2019s already work under way to do this, with support from the Google Chrome team.<\/p>\n\n\n\n<p>The resulting architecture could look a lot like an Android\/Chrome OS hybrid, something which has been speculated about for years. Panasonic could then use that same codebase, or just move to another software stack altogether.<\/p>\n\n\n\n<p>A port of B2G to Blink is a huge undertaking, but if it comes to fruition it would further contribute to the WebKit\/Blink monoculture we\u2019re increasingly seeing on the web platform today with Chrome, Safari, Opera, Samsung Internet, Edge and Brave.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*Uwi81lm0ieaYRDDjUeIodg.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>With both Opera and Microsoft having given up on their own browser engines in favour of building Chromium-based browsers, Mozilla really have the last ground-up alternative implementation of the web platform. This is hugely important because without multiple interoperable implementations, there can be no web standards.<\/p>\n\n\n\n<p>There are ongoing efforts by Mozilla to target new Android-based platforms with Gecko-based browser apps on FireTV, Amazon Echo Show and VR headsets, as well as specialised browsers aimed at emerging markets. But while the rate of decline of Firefox market share has been slowing in recent times, with competitors converging on the Chromium code base and overall Mozilla market share still shrinking, the future of Gecko and the diversity and health of the web platform is looking a little bleak.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusions<\/h3>\n\n\n\n<p>Since Mozilla discontinued Firefox OS, B2G source code has found its way into a surprising number of commercial products and now forms the basis of the third largest and fastest growing mobile operating system in the world. However, those devices are currently running out of date versions of Gecko, use locked down packaged app stores, are developed behind closed doors, and are arguably not a great showcase of the open web in the way B2G was originally intended to be.<\/p>\n\n\n\n<p>I don\u2019t necessarily think that smart feature phones and smart TVs would have been a great success for Mozilla had they pursued those product directions themselves with Firefox OS. Nor are those form factors necessarily the best showcase of the capabilities of the open web. However, the unexpected continuing legacy of B2G does serve to demonstrate just how much value still existed in what has proven to be a very versatile and scalable platform.<\/p>\n\n\n\n<p>From low end $7 phones with tiny 2.4&#8243; screens to high end $17,000 TVs with 77&#8243; 4K screens, B2G has continued to perform.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*0KjjCxNqzF8idE9ZRVPICA.png\" alt=\"\"\/><figcaption>Smart feature phone to Smart TV. Sources: <a href=\"https:\/\/www.kaiostech.com\/the-first-kaios-powered-smart-feature-phone-arrives-in-indonesia-a-new-partnership-model-combining-retail-and-banking-to-advance-financial-inclusion\/\" rel=\"noreferrer noopener\" target=\"_blank\">KaiOS Technologies<\/a> &amp; <a href=\"http:\/\/www.panasonic.hk\/english\/products\/audio-visual\/tv\/oled-tv\/th-77ez1000h.aspx\" rel=\"noreferrer noopener\" target=\"_blank\">Panasonic<\/a><\/figcaption><\/figure>\n\n\n\n<p>In my personal opinion, Mozilla should seriously consider working with KaiOS Technologies to re-introduce the Gonk widget layer to mozilla-central, and re-claim some ownership over the B2G codebase. KaiOS could then use a slimmed down B2G architecture with local system services as had been the plan with the B2G Transition Project, and adopt modern web standards for installable web apps.<\/p>\n\n\n\n<p>This would enable KaiOS to continue running an up-to-date version of Gecko on millions of devices rather than move to Blink, which many of their employees and partners might actually prefer, and could significantly contribute to the diversity and health of the web. I also believe this could open up enormous future opportunities for new product areas for Mozilla as well.<\/p>\n\n\n\n<p>There are new form factors emerging today such as smart displays (Amazon Echo Show, Lenovo Smart Display, Google Home Hub) and tablet hybrid devices (Pixel Slate, ASUS Chromebook Flip) which could be a great fit for B2G and the open web.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*AKrJELzxJi_28LqfDB6Vcw.jpeg\" alt=\"\"\/><figcaption>Lenovo Smart Display. Source: <a href=\"https:\/\/staceyoniot.com\/lenovo-smart-display-review-an-intelligent-and-entertaining-google-assistant\/\" rel=\"noreferrer noopener\" target=\"_blank\">Stacey on&nbsp;IoT<\/a><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*LrFAfi10GtQanSNwm14UEA.jpeg\" alt=\"\"\/><figcaption>Pixel Slate. Source:&nbsp;<a href=\"https:\/\/www.wired.com\/review\/google-pixel-slate\/\" rel=\"noreferrer noopener\" target=\"_blank\">Wired<\/a><\/figcaption><\/figure>\n\n\n\n<p>With <a href=\"https:\/\/labs.mozilla.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">continuing explorations<\/a> in voice, mixed reality and IoT there are many new potential product areas for Mozilla which could benefit from the B2G software stack.<\/p>\n\n\n\n<p>Smart displays, for example, could be the ideal home for a voice-first trusted personal agent, consistent with Mozilla\u2019s new three year strategy. Whilst early smart display products are being built on Google\u2019s Android Things platform and that could be an option for Mozilla as well, even Google itself used Google Cast for its own Google Home Hub product, a more lightweight technology stack much more similar to B2G. B2G could give Mozilla and partners an edge in this market, with a platform less controlled by Google.<\/p>\n\n\n\n<p>There could be other use cases for B2G in VR headsets, the smart home and countless connected devices we have yet to dream up.<\/p>\n\n\n\n<p>Personally I would love to see Mozilla emerge from the comfort zone I fear it has retreated into in recent years, shipping Firefox browsers on others\u2019 platforms where the web is always a second class citizen. I\u2019d like to see some new big bets in products and partnerships where the web platform is allowed to take centre stage once again, where Mozilla isn\u2019t constrained by the rules of other platforms.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*q1ivQ9PTZi6aK5yyrap60A.jpeg\" alt=\"\"\/><figcaption>The Web is the Platform, MWC 2012. Source: <a href=\"https:\/\/twitter.com\/madhava\/status\/174114797523189760\" rel=\"noreferrer noopener\" target=\"_blank\">Madhava&nbsp;Enros<\/a><\/figcaption><\/figure>\n\n\n\n<p>The web <em>is<\/em> the platform. Let\u2019s allow it to shine.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the two years or so since Mozilla announced the end of Firefox OS as a Mozilla-run project, the B2G source code has found its way into a surprising number of commercial products.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[11,12,10,15,9],"class_list":["post-1012","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-firefox-os","tag-mobile","tag-mozilla","tag-smart-tv","tag-web-development"],"_links":{"self":[{"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/posts\/1012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/comments?post=1012"}],"version-history":[{"count":2,"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/posts\/1012\/revisions"}],"predecessor-version":[{"id":1024,"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/posts\/1012\/revisions\/1024"}],"wp:attachment":[{"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/media?parent=1012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/categories?post=1012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tola.me.uk\/blog\/wp-json\/wp\/v2\/tags?post=1012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}