Web-apps aren't fast enough
the platform needs us to change
A new angle
that suits the constraints of our platform
A modern approach
to get the most from devices and technology
v3 proposal
... rough idea, need help for detailing it!
A collection of concepts
- Offline hosted apps
- Forced encapsulation
- Caching previously rendered content
- Storing content remotely
- Delta updates
- Multi threaded architecture
- Macro memory management
Offline caching of assets
using Service Worker (JS, HTML, CSS, images, ...)
Forced encapsulation
via multiple documents and workers to minimise regressions and unify architecture
Communication via agreed contract
Learning from Gecko's 'IPDL'
Caching rendered content
for fast subsequent page loads
Storing content in the cloud
to allow it to be used across devices
Delta updates
small patches applied discretely
enabling a new range of customizations, A/B testing, partners customizations ...
Multi-threaded architecture
to leverage multiple cores to maximise performance
Macro memory management
shutting down parts of an application to free up resources
Many brand new concepts
needs packaging into simple distributable libraries; apps can pick & mix
Conclusion
github.com/fxos/v3-architecture
github.com/fxos/contacts
going deeper
https://wiki.mozilla.org/Gaia/Architecture_Proposal