New Architecture Proposal

Skip to first unread message

Vivien Nicolas

Mar 11, 2015, 10:37:10 AM3/11/15
to dev-gaia
Hello Gaia folks,

In the last 3 years (already!), our teams has built a dedicated front-end experience for the Firefox OS platform, mostly designed around mobile devices, and especially phones.
While Gaia has been built under various constraints, such as last minute features, time-based deadlines, hard memory constraints, various hardware and form factors... I believe our initial goal of shipping a default front-end for our platform has been reached.

The ideation process and the last years highlighted the need for Gaia to scale and adapt. Not only to the constraints mentioned above but also to FirefoxOS users, in a world where there is not only one type of user, but many users with contextual and local needs. As of today, we often take guesses without real usage statistics.

It's also clear that perceived performances need to be on pair with other mobile devices vendors. While perceived performance is not a pure user goal that will motivate the adoption of the phone, a laggy experience may demotivate it.

Lastly, our application model has been designed to behave like static installed applications. While Mozilla is primarily building a browser, which is an installed application, it is designed for the Web. And the web is not about static installed applications but ... define your web here ...

In order to shape Gaia into a scalable and adaptable product, here is a proposal for a new high-level unified architecture

The inner set of libraries needed to achieve this architecture is not described in this document. Implementation details could and should be discussed as part of a separate set of proposals.

This proposal is about moving to hosted apps with delta updates, using simple primitives to enforce encapsulation and expose applications inner structure to the browser instead of relying on a blackbox model, getting live reports from real users for real panels usages or for A/B testing purpose, isolating the front-end as a distinct and easily replaceable component with a strong focus on perceived performance and user experience, and adapting to future hardware features/constraints.
I believe this proposal is too big to be discussed in a single mailing-list thread. So please, if you want to discuss a specific point, start a new thread to avoid chaos.


Mar 11, 2015, 1:00:05 PM3/11/15
Hi Vivien,

Thanks a lot for this proposal. I think your e-mail captures quite well what I called the micro-delta theory: in the process of launching a commercial device we made small deviations from the ideal solution and we are now a bit away from where we wanted to be when we started B2G.

Anyhow, I think it's important we consider how during the last years many other alternative OS have been popping up and disappearing, in some cases without ever launching a commercial device. Furthermore, based on our experience in selling devices, I'd like to stress that from a product point of view (features, performance, etc...) FxOS is reaching a maturity status that makes it a good product fit for most of the original target markets. So I'd like to say a big thank you to you and anyone that made this possible.

However, there are two key areas that provide room for improvement: updates and ecosystem. Anything we can do to make the "Web is the Platform" motto a reality in FirefoxOS would help to improve those areas. It's good to see FirefoxOS moving into that direction.

As usual, please count on us to help to make that possible.

Reply all
Reply to author
0 new messages