Marketplace/Customizable homescreens
Contents
Overview
Customizable homescreens were the last addition to the Firefox OS 2.5 release scope.
There was no design brief and no PRD. Due to time constraints, homescreens were implemented in the fastest way possible: as webapps. The idea was that this would allow us to piggyback on the submission process (less so the review process) should that time come before we have a chance to refactor the approach.
Content Type
Homescreens are currently simply webapps with a specific manifest property ("role": "homescreen"
). While technically correct, this is a hack: they should be their own true content type, with their own discrete model.
Compatibility
Homescreen support is determined using navigator.hasFeature('manifest.role.homescreen')
, since this manifest property is the sole identifier of a homescreen content type. This feature was added in 2.5.
Note that feature detection is only supported within the Marketplace app (because the API is privileged), so homescreens are not visible – even on 2.5 – in the Marketplace via the browser.
Firefox OS integration
In Firefox OS, under Settings->Homescreens, a web activity is used to launch Marketplace and bring up the Homescreens "category" page. This uses name="marketplace-category"
and slug="homescreens"
to imitate the similar behavior for category pages, langpacks, and add-ons.
Launch details
Homescreens were included in the package for 2.5, but the navigation item was removed prior to push due to there being no homescreens in the Marketplace to show.
Tracking bugs
Tracking bug: 1214730
ID | Summary | Priority | Status | Resolution |
---|---|---|---|---|
1214731 | Add ability to differentiate homescreen apps from regular Webapps | P1 | RESOLVED | FIXED |
1214740 | Expose on devhub whether a webapp is a homescreen app (from manifest role) | P1 | RESOLVED | FIXED |
1214745 | Update navigation to surface "Homescreens" as a top-level content type (a peer of Add-ons) | P1 | RESOLVED | FIXED |
1214784 | Add a review queue specifically for Homescreens | P1 | RESOLVED | FIXED |
1216323 | add web activity so homescreen manager + opens Marketplace | P1 | VERIFIED | FIXED |
1217157 | Expose support for homescreens using `navigator.hasFeature()` | P1 | RESOLVED | DUPLICATE |
1218573 | Update validator to test for Homescreens | P2 | RESOLVED | FIXED |
1218574 | Tweak the submission flow to accommodate for Homescreens | P2 | RESOLVED | FIXED |
1218995 | Apps shouldn't be listed under Homescreens | P1 | RESOLVED | WORKSFORME |
9 Total; 0 Open (0%); 8 Resolved (88.89%); 1 Verified (11.11%);