Closed Bug 988972 Opened 9 years ago Closed 9 years ago

Prototype an offline-first Marketplace app

Categories

(Marketplace Graveyard :: Consumer Pages, defect)

Avenir
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
2014-04-01

People

(Reporter: chuck, Assigned: cvan)

References

Details

(Keywords: perf)

One way we could mitigate the EDGE problem is by distributing an offline-first packaged version of the Marketplace. This would mean:

- Rather than pull data from the API for user display, we would pull data from localStorage.
- We would distribute the app with a subset of the data: perhaps the top X% apps, where X is the number of apps it would take to fill up the 1.5 MB we've allotted.
- In an async task, we use the existing APIs to continue populating the data in localStorage.
- We would probably want to create some sort of changelog API to optimize how this async fetching takes place.

Potential problems:
- This could be a strain on users with metered bandwidth.
- We currently don't have a way to detect user connection speed, or more qualitative characteristics of the connection (e.g. Wifi vs. 4G vs EDGE)
- We would need to develop APIs for automated submission of packaged apps. See bug 920081 
- I'm not sure how well our existing front-end architecture (e.g. Commonplace) would support this kind of pattern.
- I don't think that this is something we could realistically put into production before Tarako goes live.
Another problem to keep in mind:
- It would severely impact updates of the Marketplace package in Firefox OS, since the update mechanism for apps in Firefox OS downloads the entire file (it doesn't do a binary diff)
The local search part of this might be tough.  You'd have to search the local catalog, but maybe search the whole catalog if you're online.
Blocks: 986187
No longer blocks: tarako-marketplace
No longer blocks: tarako-marketplace
Blocks: 992365
Demo:
http://metropolis.paas.allizom.org/

Source:
https://github.com/cvan/metropolis/

Architecture:
https://github.com/cvan/metropolis/wiki/Technical-Architecture
Assignee: nobody → cvan
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2014-04-01
You need to log in before you can comment on or make changes to this bug.