Gaia/Architecture Transition Proposal: Difference between revisions

Line 70: Line 70:
But front-end and back-end may have custom deadlines to work on this feature, as long the deadline if not targeting after the shared deadline.
But front-end and back-end may have custom deadlines to work on this feature, as long the deadline if not targeting after the shared deadline.


= Step 1: Remote Servers =
= Step 1: External Services =
 
While applications will work offline, similarly to the current packaged model, applications may benefits from accessing remote servers.
 
Those remote servers will serve different purposes, such as distributing applications updates, synchronizing user datas and getting telemetry reports from real users.
 
[[File:Gaia Architecture Proposal High Level Overview.png|none]]
 
Those servers should be set up by collaborating with different teams, like the Content Services team for example.
 
== Service Worker ==
 
Applications are now hosted with an offline copy of the source code onto the device. A remote server will distribute small updates to the clients.
 
Each app may distribute an update when a change is ready and validated by QA, and it is not dependent of a specific Gecko version which is not available on the target.
 
== Telemetry ==
 
In order to get real reports and application usage, a Telemetry server will be set up. Telemetry reports may contains various type of metrics, keyed by origin, such as the startup time for a specific view, the average number of contacts, or even a navigation map for a particular app.
 
Those datas may be used for decision making, assuming the correct set of reports is available to the relevant people.
 
== Data Sync ==
 
User datas are now synchronized over a remote server. While it can be seen as a backup mechanism, it is mostly a mechanism to enable multiple UIs to access the same set of datas.
 
A client may then be a desktop application, or a mobile application.


= Step 2: Mirror functional teams into the codebase =
= Step 2: Mirror functional teams into the codebase =
Confirmed users
230

edits