disabling the desktop/Android Web Runtimes

Myk Melez myk at mykzilla.org
Mon Dec 14 23:45:30 UTC 2015


Folks,

I think we should disable the desktop and Android Web Runtimes in 
Firefox and Fennec.

The Web Runtime projects were initiated by Mozilla Labs in 2011 and 
developed by a Runtime Engineering team at MoCo that shipped the desktop 
runtime in 2012 and the Android runtime in 2013. They're designed to run 
"Open Web Apps," which in practice has meant "Firefox OS apps" hosted by 
the Firefox Marketplace.

Both runtimes were deprioritized by MoCo around the times they initially 
shipped, and they've seen little activity since. Bugs have gone unfixed, 
enhancements have gone unimplemented, and unit tests have broken and 
been disabled. Although their core functionality continues to work, 
their developer and user experiences are poor, and their technical debt 
is substantial and growing.

The Runtime Engineering team has also been disbanded, and its engineers 
have been reassigned to other projects. MoCo no longer invests in the 
runtimes, and it hasn't for years.

Nor has a significant community of other contributors evolved. App users 
and developers file the occasional bug, but code contributions are few 
and far between. And they're usually bustage fixes for 
Firefox/Fennec/Gecko changes that inadvertently break the runtimes, 
which makes the runtimes a burden on the developers of those projects.

I'm one of the early contributors to the runtimes, and I'm the module 
owner for the Desktop Runtime module (and the relevant peer for Fennec), 
which makes me ultimately responsible for them. I still think the 
runtimes could provide a good experience for developers and users who 
want to build and run web apps with deep native integration.

But it would take significant, ongoing investment to provide that 
experience, and there's no evidence of that happening. Absent such 
investment, and a commitment to maintain it, the benefits that the 
runtimes provide don't justify their risks and costs to developers, 
users, and other projects.

Disabling them isn't as simple as flipping a switch. It entrains other 
work, like updating the docs on MDN to stop describing desktop/Android 
as platforms for Open Web Apps and updating Marketplace to stop 
soliciting apps from developers and distributing apps to users on those 
platforms.

There's also the question of how to let users know that their apps will 
stop working and give them time to migrate to other apps (or to versions 
of those apps that run within the browser). And there's the question of 
what to do with the mozApps API on those platforms. I don't have all the 
answers yet, but I'm making this proposal now anyway in order to get 
input on it before making a final decision.

If I decide to disable the runtimes, I'll work with Marketplace, 
Firefox/Fennec, and Gecko/mozApps peers to identify and address the 
various dependencies, after which I'll complete the work to disable them 
and remove their code from the mozilla-central repository.

Let me know your questions, concerns, and other thoughts.

Regards,
-myk




More information about the firefox-dev mailing list