Intent to remove: Fennec

547 views
Skip to first unread message

James Willcox

unread,
Sep 19, 2019, 3:56:16 PM9/19/19
to dev-platform, mobile-firefox-dev
Folks,

As you may be aware, Fennec has been frozen on 68 ESR with the expectation
that Fenix will become the new Firefox for Android in 2020. For reasons of
hygiene and simplification, I propose that we begin removing Fennec from
mozilla-central as soon as feasible. There are a few known blockers
currently being tracked under bug 1582218. If you know of any other issues,
please let me know and/or file blockers.

Obviously, we will not be removing anything related to GeckoView. This
means that mobile/android/geckoview/, MOZ_WIDGET_ANDROID, etc. will all be
sticking around. Only the Fennec frontend and any platform code that needed
to disambiguate Fennec from GeckoView at runtime[0] will be targeted.

Thanks,
James

[0] https://searchfox.org/mozilla-central/search?q=jni%3A%3AIsFennec&path=

Kris Maglione

unread,
Sep 19, 2019, 3:59:09 PM9/19/19
to James Willcox, dev-platform, mobile-firefox-dev
This sounds like a stellar plan.

-Kris
--
Kris Maglione

Of all the preposterous assumptions of humanity over humanity, nothing
exceeds most of the criticisms made on the habits of the poor by the
well-housed, well-warmed, and well-fed.
--Herman Melville

mark.e...@gmail.com

unread,
Sep 23, 2019, 4:45:14 PM9/23/19
to
As a happy Fennec end user with no direct involvement with Mozilla, I'm decidedly unhappy about the direction Mozilla seems to be going here. I don't expect this complaint to have any effect on plans, but FYI.

Dirkjan Ochtman

unread,
Sep 24, 2019, 3:47:13 AM9/24/19
to mark.e...@gmail.com, dev-platform
On Mon, Sep 23, 2019 at 10:51 PM <mark.e...@gmail.com> wrote:

> As a happy Fennec end user with no direct involvement with Mozilla, I'm
> decidedly unhappy about the direction Mozilla seems to be going here. I
> don't expect this complaint to have any effect on plans, but FYI.
>

Have you actually tried Fenix (Firefox Preview)? How did it fall short of
your usage of Fennec?

Kind regards,

Dirkjan

Bobby Holley

unread,
Sep 24, 2019, 12:42:50 PM9/24/19
to Kris Maglione, James Willcox, dev-platform, mobile-firefox-dev
+1. This is a big milestone, and reflects countless hours of hard work
building our next-generation mobile stack. Congrats to everyone
involved!

On Thu, Sep 19, 2019 at 12:59 PM Kris Maglione <kmag...@mozilla.com> wrote:
>
> This sounds like a stellar plan.
>
> -Kris
>
> On Thu, Sep 19, 2019 at 02:55:56PM -0500, James Willcox wrote:
> >Folks,
> >
> >As you may be aware, Fennec has been frozen on 68 ESR with the expectation
> >that Fenix will become the new Firefox for Android in 2020. For reasons of
> >hygiene and simplification, I propose that we begin removing Fennec from
> >mozilla-central as soon as feasible. There are a few known blockers
> >currently being tracked under bug 1582218. If you know of any other issues,
> >please let me know and/or file blockers.
> >
> >Obviously, we will not be removing anything related to GeckoView. This
> >means that mobile/android/geckoview/, MOZ_WIDGET_ANDROID, etc. will all be
> >sticking around. Only the Fennec frontend and any platform code that needed
> >to disambiguate Fennec from GeckoView at runtime[0] will be targeted.
> >
> >Thanks,
> >James
>
> --
> Kris Maglione
>
> Of all the preposterous assumptions of humanity over humanity, nothing
> exceeds most of the criticisms made on the habits of the poor by the
> well-housed, well-warmed, and well-fed.
> --Herman Melville
>
> _______________________________________________
> dev-platform mailing list
> dev-pl...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform

mark.e...@gmail.com

unread,
Sep 24, 2019, 1:07:31 PM9/24/19
to
Heh. No, I haven't tried Fenix, which I realize also makes it a bit harder to take my complaints seriously :)

Having said that:

- I am very happy with the current Fennec app and its UI, and don't understand why Mozilla feels a need to drop that product and create a new one from scratch. I know there's mentions of a "GeckoView" piece that sounds like it makes embedding easier, but I don't know why that can't be plugged into the existing Fenix codebase.
- I have a _bunch_ of addons installed in Fennec. uBlock Origin is by far the most critical, but I have a number of other quality-of-life addons as well. Based on the articles I've seen, Fenix does not yet have any extension support, so I can't even justify trying it out.

There was a long HN discussion thread at https://news.ycombinator.com/item?id=20295694 a few months ago, which has a number of criticisms of this migration process. I would generally agree with the criticisms in that thread, regarding Fenix vs Fennec, and general Mozilla priorities. Given Mozilla's long-declining market share, throwing resources into rewriting the Android app for no obvious benefit seems like a waste, vs improving the desktop app further.

Kris Maglione

unread,
Sep 24, 2019, 1:41:44 PM9/24/19
to mark.e...@gmail.com, dev-pl...@lists.mozilla.org
On Tue, Sep 24, 2019 at 10:07:28AM -0700, mark.e...@gmail.com wrote:
>- I am very happy with the current Fennec app and its UI, and
>don't understand why Mozilla feels a need to drop that product
>and create a new one from scratch.

We're not creating a new one from scratch. Many of the component
parts of Fenix already existed, and the core is basically the
same as Fennec. That said, there are many reasons:

1) GeckoView, which is a more or less drop-in replacement for
Android's WebView, is designed to be used by any application
which needs to embed web content on Android, including
potentially other web browsers. It's an important part of our
core mission to make sure the web remains a viable living
standard, with multiple competing implementations, to avoid the
sort of stagnation and vendor lock-in we saw when IE6
essentially ruled the world.

2) We also already needed to maintain WebView-based browser
front-ends for configurations where shipping our entire
rendering back-end was not viable or practical. Given that we
already need to maintain these separate, already-compatible
front-end and back-end implementations, having to maintain an
entirely separate browser with a completely different front-end,
and a lot of different back-end glue, is just not a good use of
resources.

3) GeckoView and the Fenix front-end are much more modern
frameworks than Fennec. They were architected from the ground up
using all of the knowledge and experience that we've gained
developing Fennec and a number of other experimental browsers
over the years. The result is that they are not only much easier
to develop and maintain, but also much faster and more resource
efficient.

4) The current Fennec browser, unlike Fenix and our desktop
browsers, is very much single-process by design. Web content
runs in the same process as the browser UI. The native Java UI
allows us to use threading to work around some of the
performance problems inherent in this sort of design, but it
doesn't give us any of the security properties of process
isolation, which are becoming increasingly important in the age
of Spectre attacks. If we wanted to continue maintaining Fennec
apart from Fenix, we would need to drastically rearchitect it to
support process isolation for web content. And, given that
Fenix and GeckoView were designed to handle this from the start,
again, that would just not be a good use of resources.

--
Kris Maglione

UNIX is simple. It just takes a genius to understand its simplicity.
--Dennis Ritchie

Botond Ballo

unread,
Sep 24, 2019, 2:29:38 PM9/24/19
to mark.e...@gmail.com, dev-platform
On Tue, Sep 24, 2019 at 1:10 PM <mark.e...@gmail.com> wrote:
> - I have a _bunch_ of addons installed in Fennec. uBlock Origin is by far the most critical, but I have a number of other quality-of-life addons as well. Based on the articles I've seen, Fenix does not yet have any extension support, so I can't even justify trying it out.

Note that this "intent to remove" email refers only to removing Fennec
code from our mainline development branch. It does not mean stopping
to ship Fennec right away. Fennec continues to be shipped from our ESR
68 branch, and will continue to do so until Fenix is considered ready
to replace it. My understanding is, extension support will definitely
be part of that.

Cheers,
Botond

mark.e...@gmail.com

unread,
Sep 24, 2019, 2:43:39 PM9/24/19
to
Yeah, this kind of detail was really missing from the public statements :) I don't expect consumer-facing PR posts to go into nitty-gritty technical details, but it wasn't apparent that there was really anything more going on besides "nope, we're just going to rewrite it and move all the UI around in the process". Appreciate the info.

Jared Hirsch

unread,
Sep 24, 2019, 9:12:08 PM9/24/19
to mark.e...@gmail.com, dev-platform
Hey Mark,

Since you've traveled this far down the rabbit hole already, seems like I
should just _casually mention_ that contributions are welcome ^_^

You can learn about Mozilla's next-gen Android browsers and browser
components here, if you're interested:

https://mozac.org/contributing/
https://mozac.org/blog/
https://github.com/mozilla-mobile/fenix
https://github.com/mozilla-mobile/android-components

If Android hacking isn't your thing, the contributor docs on MDN can help
you explore other projects:

https://developer.mozilla.org/docs/Mozilla/Developer_guide

Feel free to ping me, too, with any questions.

Have fun!

Jared

mark.e...@gmail.com

unread,
Sep 24, 2019, 9:23:00 PM9/24/19
to
Haha :) I both appreciate the "request to get involved" aspect, as well as the subtle "STOP WHINING AND CONTRIBUTE SOMETHING USEFUL!" aspect... I've repeated that phrase more times than I can count myself :)

I actually am a maintainer of the Redux JS state management lib, so A) that already sucks up all my free time, and B) I'm mostly a JS and Python dev, and while I've done Java in the past, it's not my strong point (and really I'd rather not ever write Java again if I don't have to).

Nicholas Alexander

unread,
Oct 4, 2019, 5:05:01 PM10/4/19
to dev-platform, James Willcox, mobile-firefox-dev
Hi all,

On Thu, Sep 19, 2019 at 12:56 PM James Willcox <jwil...@mozilla.com> wrote:

> Folks,
>
> As you may be aware, Fennec has been frozen on 68 ESR with the expectation
> that Fenix will become the new Firefox for Android in 2020. For reasons of
> hygiene and simplification, I propose that we begin removing Fennec from
> mozilla-central as soon as feasible. There are a few known blockers
> currently being tracked under bug 1582218. If you know of any other issues,
> please let me know and/or file blockers.
>
> Obviously, we will not be removing anything related to GeckoView. This
> means that mobile/android/geckoview/, MOZ_WIDGET_ANDROID, etc. will all be
> sticking around. Only the Fennec frontend and any platform code that needed
> to disambiguate Fennec from GeckoView at runtime[0] will be targeted.
>

I just queued landing Bug 1580356
<https://bugzilla.mozilla.org/show_bug.cgi?id=1580356> which removes Fennec
(Firefox for Android) build support, source code, and various hangers on.
A Nightly-simulation try build was happy
<https://treeherder.mozilla.org/#/jobs?repo=try&revision=af5eb485915d4bc2a29f21e9f4e5ae0d8b2c0632>
so hopefully it sticks.

Please file follow-up depending on that ticket and blocking Bug 1582218
<https://bugzilla.mozilla.org/show_bug.cgi?id=1582218>.

Good night and good luck,
Nick
Reply all
Reply to author
Forward
0 new messages