From MozillaWiki
Jump to: navigation, search

(this page previously contained information about Firefox OS Apps)

Web App Developer Initiative

In 2015, Mozilla is launching a new initiative to energize mobile web app development. This initiative is part of a broad trend that includes browser makers, web frameworks, cloud service providers, and top 100 content providers. We don't yet agree on what to call these new web apps, but we do agree on their potential. What unites all these disparate parties is a belief in the combined power of several new web standards. By making web apps that work offline and can reengage users, we believe developers will deliver experiences that will redefine the role of the web on mobile devices.

In the short term, we are focused on the combination of several API's -- service workers, web push, and the W3C app app manifest.

Reading List

  • Paul Kinlin, "Living with Web Apps"
    • In this post, Paul gives an hour-by-hour journal of a day using only web content on his smartphone. Along the way he offers a list of "ten deadly sins of a mobile web app" along with other reflections on his experience.

2015 Q3 Deliverables

In Q3, our goals for WADI engineering were (1) to transition off our legacy projects, (2) to educate ourselves about serviceworkers and web push, and (3) to plan for Q4. We had roughly a month of Q3 to work with. We accomplished these goals by encouraging each engineer to build small prototypes and sharing what we learned in a daily standup. These prototypes led to our presentation in the Firefox OS all-hands, a Github Universe talk, as well as the filing of several important platform and product bugs (and fixing of one!).

2015 Q4 Deliverables

In Q4, we will prepare for the launch of both Web Push and Service Workers in Firefox 44 by building one or two serious progressive apps and the infrastructure they require. We'll focus our engineers on one or two projects at a time, so we build team cohesion and benefit from collaboration. We'll carefully scope these projects so we can really hit them out of the park. Our tight focus, coupled with conference talks and blog posts, will make these apps useful references, helping build developer awareness for the launch of serviceworkers and push in Firefox 44. As we build real product code with automated tests, we explore the limits of our platform, find its bugs, and gather the knowledge we need to plan for the beginning of 2016.


Ship v1 of Oghliner, a library/tool to offline web apps using Service Workers and deploy them to GitHub Pages. We will base this on top of several existing open source projects, including sw-precache from the Chrome team (


Ship MVP of at least one serious offline/progressive web app. We need to explore the space of possible use cases – to help developers, to find bugs in the implementation, to expand our own understanding. Much of the work of building even simple demo apps is app-related and not related to the underlying technologies. The leading candidate is Platatus, an app that offers a detailed, data-driven view of Mozilla's progress on delivering the technologies behind Progressive Web apps.

Service Worker Cookbook

Create a cookbook of self-contained code snippets showing how to use Service Workers to achieve various kinds of cacheing and push notification use cases.

Bug tracking

These are bugs we've identified as critical to our ability to deploy these technologies to developers. We use bug 120171 to track them.

ID Summary Priority Status
1056702 [meta] re-enable the serviceworker tests on b2g -- NEW
1059784 [meta] Ship Service Workers on desktop on the release channel -- NEW
1115820 Add telemetry to ServiceWorkers -- RESOLVED
1120715 Implement Fetch RequestCache -- NEW
1130687 [Meta] Implement Service Worker Clients.openWindow() -- NEW
1153183 Add telemetry to Service Worker Cache -- NEW
1192458 Consolidate push and desktop notification permissions -- RESOLVED
1197998 Add use counters for Push interfaces. -- RESOLVED
1199386 [meta] Make the Ember folks stop asking for things by giving them all the things -- NEW
1201953 console.log in a service worker doesn't log to the web console but logs to the browser console -- RESOLVED
1202001 Syntax errors in service workers aren't logged to the web console -- RESOLVED
1202052 Fennec reload button bypasses service workers by doing a "shift reload" unconditionally -- RESOLVED
1203160 Turn service workers and fetch interception on in Fennec Nightly -- RESOLVED
1203274 Service worker wakeup and lifetime telemetry -- NEW
1203359 Enable dom.serviceWorkers.interception.opaque.enabled by default once its safe to do so -- RESOLVED
1203760 XHR hangs when attempting to cache in service worker -- RESOLVED
1204115 "Work Offline" option should affect localhost as well -- NEW
1204397 NIGHTLY vs. !RELEASE mismatch enabling ServiceWorkers on Android -- RESOLVED
1207262 [meta] Ship Service Workers on Android on the release channel -- NEW
1207714 Define and implement an API to expose GCM registration details to Fennec -- NEW
1207727 Rework updating service workers according to the latest spec -- RESOLVED
1208560 Unship service workers and push notifications in Firefox 42 -- VERIFIED
1220417 Crash when using clients.openWindow -- RESOLVED
1221965 Allow manually triggering a push subscription change -- NEW
1221992 clients.openWindow opens tabs in the private window -- NEW
1222097 openWindow: path resolution works differently in Firefox vs Chrome -- RESOLVED
1222476 Notification with icon isn't shown -- NEW
1224283 Enable ServiceWorkers on non release builds for b2g -- NEW
1224711 Add custom domain DNS settings for -- RESOLVED
1225110 Support notification actions -- NEW
1226443 Run service worker soft update on refresh -- ASSIGNED
1228309 'online' event triggered when WiFi is turned on, before connecting to any network -- NEW
1228313 Information about offline/online events and property is confusing and sometimes conflicting between different MDN pages -- NEW

33 Total; 18 Open (54.55%); 14 Resolved (42.42%); 1 Verified (3.03%);