About JanOS

About JanOS

JanOS is an alternative operating system for mobile phones, designed to run on devices without their screen attached. It was demonstrated as a proof of concept during JSConf.EU 2014. Shortly after it was chosen as the OS that powers Gonzo, a cellular connected and low-power camera. The project is maintained and funded by Telenor Digital.

Learn more about Gonzo

History

In the winter of 2013-2014 Olav Nymoen was working on a concept where he would replace the Firefox OS frontend with a cloud-based website. This meant stripping down the OS to it's bare bones, and then building it up again. Although this project got nowhere, it planted an important seed. A few months later Sergi Mansilla and Jan Jongboom, working on very cheap Firefox OS phones, were amazed by the qualities of these sub-30$ phones, especially compared to exisiting internet of things boards like the Arduino. Jan figured it would make for a very interesting project to re-use these cheap phones as proper IoT boards, and wrote a proposal for JSConf.EU, which was accepted.

Without a working proof of concept, but with a talk coming up, Jan started in August 2014 on stripping down Firefox OS. After a week of hacking the OS would boot, although it took until September until cellular connectivity worked. A week before JSConf the mainboard was removed from it's casing for the first time, and it took a few all-nighters to figure out how to not overheat the device, and when the battery needed to be connected.

End of September the project was demonstrated to great interest at JSConf.EU. As no-one had any inspiration, and the project was not meant to stick, the name remained JanOS.

The day after the presentation Jan and Olav came together during a Telenor Digital offsite event in Lom, Norway; and discussed potential real use cases for the project. During these days they came up with a low-powered cellular-connected camera which you could stick anywhere. Going to a URL would wake up the device and send a still photo. This project was pitched to upper management over beer, and within a few days the project got successfully accepted in the Exploratory Engineering project ran by Telenor's Chief Scientist Bjorn Borud.

In the project Thomas Langas joined the project as hardware engineer, and he started work on hardware design; PCBs; and hacking volume buttons into GPIO ports. He is also responsible for any kernel work in JanOS. The work done for Gonzo got then back ported into JanOS, which transformed from a simple alternative frontend for Firefox OS to a proper OS with it's own kernel changes and new APIs.

In December 2014 a blog post about the project reached number 1 in Reddit Programming, after which was decided to turn JanOS into a real project, with documentation; builds; and a website.

JanOS & Firefox OS

Originally meant as an alternative frontend to Firefox OS, the project still owes a ton to Mozilla's project and uses ~80% of all Firefox OS code. Here's a small comparison on changes that were made compared to Firefox OS.

We intend to contribute our changes in Gecko back to Mozilla, but so far Mozilla did not take any interest in them.

Source Code

All source code, from website to kernel changes, is hosted in our GitHub repository. If you have generic improvements that would also benefit Firefox OS, please commit them to Mozilla's official repositories, which acts as the upstream to most JanOS repositories.

JanOS on GitHub