An unexpected revival of Firefox OS

An unexpected revival of Firefox OS

The dream of an HTML-based operating system is nothing new, and in fact, something we have seen since the early 2000s. With the Internet exploding in popularity and complexity, it has always been tempting to think of browsers as convenient graphical renderers, and CSS as the ultimate markup language for designing complex UI elements.

However, reality has often clashed with this view. Many projects proposing an HTML5 or JavaScript desktop UI have historically shown bottlenecks even on high-spec machines, and although a subset of CSS is finally being used in the majority of "traditional" toolkits such as Qt, Cocoa, and GTK, the adoption of JavaScript logic to control desktop frontends is still lagging behind. Aside from Google's Chrome OS, Electron, and many other projects, the whole GNOME Shell frontend runs on top of a JavaScript interpreter... and sometimes it shows.

Mozilla’s $25 Smartphone Is a Brilliant Gamechanger
If you don’t have any customers, create them.
The $25 Mozilla smartphone was an ambitious plan

One of the most important open source attempts in this direction was Firefox OS, the alternative to Android created and promoted by Mozilla in the early 2010s. Firefox OS, also known as Boot2Gecko from the "Gecko" rendering engine of Firefox, was a surprisingly clean and smooth experience, and its official deprecation in 2016 was probably more of an adoption issue than a technical problem. In fact, the idea of booting to a browser and interfacing apps with the kernel directly is rather intuitive, and would not be that much heavier than booting most other modern UIs in the first place.

Even Firefox OS's user interface was very nicely designed, with visible inspiration from HP WebOS and Palm OS. Clean lines, a lively flat design, and an easy-to-use app development toolkit made it a compelling alternative to Android and iOS. Except nobody adopted it seriously, and it died in 2016.

The first Firefox OS phone (2013) was cute-looking, linuxy, and inexpensive

However, in the last months Firefox OS has experienced a similar revival to other projects, such as HP webOS (which became LuneOS) and Nokia's Maemo (now Leste). The first major commercial adoption of B2G/Firefox OS was seen around 2018 with KaiOS, a  widely popular commercial fork of Firefox OS that promised to be a modern OS for inexpensive feature phones. Although KaiOS turned out to be disappointingly closed and oriented to tracking users and shipping advertising, it was quickly forked in GerdaOS, a custom ROM that promised to bring back some of the openness of Firefox OS to KaiOS devices such as newer Nokias, and kill the intrusive user trackers in the process.

GerdaOS: a custom ROM to liberate the heart of Kai
GerdaOS project page

Most importantly, however, the Capyloon project is not just a heavily modded (still somewhat closed) KaiOS as was Gerda, but a functional, fully open-source Firefox OS build for modern Linux phones, such as the PinePhone Pro, Purism Librem 5, and Pixel 3A.

In spite of its clear goal, Capyloon's project page has some admittedly confusing marketing: defining it an "experimental user agent" for better Internet privacy and a GUI at the same time, the website does not clarify that the main purpose is a full user-facing OS. Furthermore, the Capyloon page proposes WebAssembly and IPFS integration as the main priorities of the project, but it is not made immediately clear how this integration works in practice.

LINMob testing Capyloon on the PinePhone Pro

Capyloon's frontend, Nutria, is shipped with an SDK for development of new apps, and will likely run older Firefox OS apps with little or no adaption. Furthermore, it is possible to test Nutria also on most new Android devices by live-booting a Google GSI (Generic System Image) and test the Firefox OS UI on top of the Android kernel. For those without a supported phone, a Capyloon virtual machine can also be built in one command using a Rust-based build script, or downloaded as a Debian package.

Capyloon - Reclaim Your Web!
An Experimental Web Based User Agent

Via @linmobblog / Twitter