Firefox OS Pivots into Connected Devices
You might have heard that Mozilla pulled the plug off its Firefox OS for smartphones. After more than 3 years of continued guerrilla battles with the giant Apple-Google mobile duopoly, Mozilla is trying to pick new battles which it hopes it can win. In particular — the vast and blurry world of the Internet of Things (IoT). Firefox OS will now be pivoted into Connected Devices, and its technology will be used for IoT innovation processes. Mozilla foresees that the IoT boom will be a bigger one than the smartphone boom was a decade ago. Unlike with Firefox OS, there is no need to bridge such a wide gap with competitors — the Internet of Things is still a new enough concept that new players are able to shape its vision.
Meanwhile, Firefox OS is being transitioned to a community maintained project. This means no Mozilla staff will be allocated to it after 2016. Furthermore, the project will be renamed back to the Boot to Gecko (B2G). This has been announced in the Mozilla Community Forums.
With the Connected Devices strategy, Mozilla aims to reserve its spot in the IoT space too.
In the following article, we will take an early look on Mozilla’s related IoT projects, which will set the stage for Mozilla’s role in the IoT scene.
Note: All projects are in very early stages, so throughout 2016 you will notice many of them merging, splitting and changing.
FlyWeb is one of Mozilla’s more concrete projects with which the Firefox creator wants to break new grounds. It is the internal codename for a project to bring the web application architecture to local-area interactions.
The FlyWeb design proposes using local-area discovery mechanisms to enable two computational endpoints (where one of those endpoints is usually a smartphone controlled by the user) to establish a web application session using local-area transport protocols.
In all of these interactions, one endpoint plays the role of web server, and another plays the role of web client. A smartphone can play the role of a local-area web client, consuming services exposed by endpoints around it. Additionally, a smartphone app can act as a local-area web server, exposing services to other smartphones around it. Or alternatively, using the web application architecture to “push” computation to endpoints around it.
FlyWeb is a very simple idea at its core. Instead of phones interacting only with the cloud, they can discover and interact with electronics around them that are running empty web clients, such as TV’s, projectors, game consoles, etc. The electronics come to life when connected to phones. The key here is that either the phones serve web apps to these electronics, or the electronics serve web apps to the phones.
Mozilla seems to be reallocating a lot of its energy and resources to the Connected Devices / IoT space, with the vision in mind that the latter could be part of a bigger revolution than the smartphone revolution was.
A very early demo of FlyWeb has been shown at the Mozilla Festival London 2015, showing the potential uses of it:
The FlyWeb project seems to be a crucial part of the new Connected Devices strategy. To find out more (apart from being patient), you can head over to the Mozilla Wiki.
CHIRIMEN is a developing environment where you can control physical things/devices such as sensors and actuators through web technologies. Furthermore, it allows you to control virtual things (content) on computer screens and physical things (devices) simultaneously as well. The project includes both the board computer as well its software. Specifically:
- Board computer hardware
- The Boot to Gecko operating system (unbranded Firefox OS)
- Low level API’s (WebGPIO, WebI2C)
CHIRIMEN is planning to open up the hardware and software code very soon, so all developers can benefit from it and experiment with the Connected Devices space further via the web. The reasoning behind this is purely legal. Mozilla Japan is going through copyright and licensing rights approval to make sure everything goes smoothly afterwards.
The great thing about CHIRIMEN is that web developers do not need to adapt their workflow to new frameworks and processes, but can continue their work in their usual environment.
There is not much you can do for now, but it’s an exciting project worth watching out for. Check out the CHIRIMEN website or Mozilla Developer Network for more details.
Firefox OS on Raspberry Pi
Mozillians have been tirelessly working in the past years to port Firefox OS onto the Raspberry Pi with interesting results. Let’s have a look at Foxberry Pi, a Firefox OS instance running inside Raspbian, without touching its installation.
Note: Foxberry Pi is just a demo and highly unstable. Proceed with care.
Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware. An operating system is the set of basic programs and utilities that make your Raspberry Pi run. However, Raspbian provides more than a pure OS: it comes with over 35,000 packages, pre-compiled software bundled in a nice format for easy installation on your Raspberry Pi.
To not go into unnecessary details here, you can head over to the Mozilla Wiki to follow a step-by-step guide or check out the tutorial here:
For further possibilities for playing around with Firefox OS on a Raspberry Pi, check out the Hacking B2G Mozilla Wiki page
Note: B2G aka Boot to Gecko is name of the unbranded Firefox OS project. So whenever Firefox OS technology is used outside Mozilla, it’s referred to as B2G. Furthermore, Firefox OS is being ported to the Raspberry Pi 2, more news on this will be available in the coming months.
Although unrelated to the Zelda franchise, Project Link aims to the personal user agent for the smart home, creating a web of things owned by the user alone. Instead of entrusting personal data to a third party, the Link agent understands the user’s preferences for how they want to interact with the world of devices in their home, and can even automate their connected world for them. All of this is still done conveniently and securely, but completely under the user’s control.
The project is still in its very early stages, but you can check out its GitHub repo and find more about it on the Mozilla Wiki page for Project Link.
Again, SensorWeb is in a very very early planning phase. SensorWeb aims to find the easiest path from sensors to open data so contributors can collaboratively use sensors to get great detail of understanding about their living environment. SensorWeb is launching a pilot project to build a crowdsourcing pm2.5 sensor network for air pollution. Head over to the Mozilla Wiki page for SensorWeb for more details (well not really, but it will get updated with more details in the coming months).
Smart Home is also a conceptual project in its early days. Like the name suggests, Project Smart Home wants to offer a middle ground between “in a box” solutions like Apple Homekit and DIY solutions like Raspberry Pi. It aims to combine modular, affordable hardware with easy-to-use rules. Check the Mozilla Wiki page on Smart Home for updates.
Unlike the previous projects, Vaani was started in the summer of 2015 (we wrote about it here at SitePoint last year). Vaani aims to bring a voice to the Internet of Things (IoT) using open, Mozilla-backed technologies:
We believe a voice interface is the most natural way to interact with connected devices, but currently, there are no open solutions available at scale. With Vaani, we plan to offer an “IoT enabler package” to developers, device makers, and end users who want to add a voice interface to their devices in a flexible and customizable way, while avoiding the need to “lock-in” with one of the major commercial players.
Initially, Vaani will target smart homes, but it will eventually expand to voice-enable a wider range of applications in the IoT. Again, watch out for news on the Mozilla Wiki page for Vaani.
The Internet of Many Things
Although in its early steps, Mozilla seems to be seriously taking on the challenge of the IoT space. While it’s noticeable that some direction is lacking, it’s not a surprise considering we are talking about the IoT here.
As an open source project, you can get involved in the development and general roadmap of said projects by getting involved in the Connected Devices Participation at Mozilla. Let us know how it goes!