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