Live data from Hacker News

Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

news.ycombinator.com

121–130 of 191 posts

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#121
post #109
post #75

Earlier quoted context omitted.

That non embeddability is probably also a major reason why there isn't a significant node competitor based on spidermonkey. I get wanting to focus on Firefox as a whole, and that making components more independent can add quite a bit of work. But at the same time, if it was easier to use gecko in other browsers, and spidermonkey as JS environment outside the browser, I wonder if that would increase usage of and inter…

This was the biggest fumble of the Mozilla strategy in the last 20 years. Instead of focusing on the developer market, particularly after the appearance of WebKit, they bet (half) the farm on a quixotic quest to build a mobile OS from scratch. By attempting to gain a level of control that was always unlikely, they endangered their own survival.

KaiOS though has had success. If anything FxOS was ahead of its time and targeting a market too small.

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#122

While embedding Gecko in desktop applications is not as straightforward as embedding Chromium, Mozilla's GeckoView project makes it easier to do this on Android: https://mozilla.github.io/geckoview/ GeckoView is the foundation of Firefox for Android and Firefox Focus. The SmartCookieWeb-Preview browser, which supports sideloading Firefox extensions on Android, is also based on GeckoView: https://github.com/CookieJarA…

But then again on Android the OS already provides a Webview implementation for usage by apps, so while on Android Gecko might be more easily emebeddable than on Desktop, it's then hobbled by the fact that on Android the choice for app developers is either using the default Chrome/Blink-based Webview provided by the OS at absolutely no size-penalty, or else thinking about shipping a full browser engine with your app a…

Can this be offered as a library that many apps could share?

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#123
post #75

Gecko and servo are both not easily embeddable. Servo isn't a finished rendering engine yet and the browser I saw that could exclusively use servo was not compliant enough and since mozilla fired the servo team there is no certain future for it anymore. Projects that tried to make servo embeddable are all dead and gone (see https://github.com/paulrouget/servo-embedding-example for example) So yeah last time I tried t…

That non embeddability is probably also a major reason why there isn't a significant node competitor based on spidermonkey. I get wanting to focus on Firefox as a whole, and that making components more independent can add quite a bit of work. But at the same time, if it was easier to use gecko in other browsers, and spidermonkey as JS environment outside the browser, I wonder if that would increase usage of and inter…

Spidermonkey is quite embeddable by itself [1]. On Linux things like polkit, couchdb, mongodb use it. Still, the compilation process seems to download the whole firefox tarball and only compiles the JS related parts [2, 3].

[1] https://spidermonkey.dev

[2] https://archlinux.org/packages/extra/x86_64/js78/

[3] https://www.linuxfromscratch.org/blfs/view/svn/general/js78....

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#124

It seems like everyone has reached much the same conclusion: there may be many factors, but the real killer and root cause is that Chromium is well suited to being embedded, and Gecko is not. So hey, any companies out there interested in bringing back a little diversity in browser engines? Or just making a tiny dent in Google's dominance for the greater good? Consider funding work to make Gecko better suited to embed…

> the real killer and root cause is that Chromium is well suited to being embedded, and Gecko is not.

When Firefox was new, it was trivial to embed Gecko. There was an ActiveX-Widget that you could just drag to your VB or C# form and get a browser. There were also a bunch of browsers which were just wrappers around Gecko (K-Meleon or Galeon). It was also possible in other environments, though maybe not so easy - StarOffice/OpenOffice included Gecko, too. One reason this was possible is that from the beginning, Gecko was built with components in mind. XPCOM was very much like COM and allowed you to have a stable C++ ABI. Your classes are basically structs with a known memory layout and function pointers, and you use interfaces to access them.

Unfortunately it was a bit overengineered, and component technologies fell out of favor and were removed from many projects (XPCOM, COM, BONOBO, UNO...). I think it was a overreaction to the excesses of object orientation in the 90s- Microsoft is moving back to the opposite direction with WinRT. Anyway, the modularity was removed from Firefox/Gecko on purpose in order to simplify the code.

Webkit comes from a similar heritage (Kparts). I think the reason why there are embeddable Webkit widgets is just because people did the work to create them - QtWebKit, WebView2, ..., not because Webkit is inherently more embeddable. In fact, the multi-process nature causes a bunch of problems. You can't just reach into the DOM from your native code, but you have to inject JS to manipulate it, and so on.

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#125
post #75

Earlier quoted context omitted.

That non embeddability is probably also a major reason why there isn't a significant node competitor based on spidermonkey. I get wanting to focus on Firefox as a whole, and that making components more independent can add quite a bit of work. But at the same time, if it was easier to use gecko in other browsers, and spidermonkey as JS environment outside the browser, I wonder if that would increase usage of and inter…

Spidermonkey is quite embeddable by itself [1]. On Linux things like polkit, couchdb, mongodb use it. Still, the compilation process seems to download the whole firefox tarball and only compiles the JS related parts [2, 3]. [1] https://spidermonkey.dev [2] https://archlinux.org/packages/extra/x86_64/js78/ [3] https://www.linuxfromscratch.org/blfs/view/svn/general/js78....

Another helpful link for your stack

https://github.com/mozilla-spidermonkey/spidermonkey-embeddi...

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#126
post #109
post #75

Earlier quoted context omitted.

That non embeddability is probably also a major reason why there isn't a significant node competitor based on spidermonkey. I get wanting to focus on Firefox as a whole, and that making components more independent can add quite a bit of work. But at the same time, if it was easier to use gecko in other browsers, and spidermonkey as JS environment outside the browser, I wonder if that would increase usage of and inter…

This was the biggest fumble of the Mozilla strategy in the last 20 years. Instead of focusing on the developer market, particularly after the appearance of WebKit, they bet (half) the farm on a quixotic quest to build a mobile OS from scratch. By attempting to gain a level of control that was always unlikely, they endangered their own survival.

I would have made that same mistake if I was making decisions for Mozilla at the time. It's such an elegant, logical and tempting ideal to turn the browser into the OS. Too bad it didn't work out.

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#127

Earlier quoted context omitted.

In 2013 Mozilla spent $197M on software development and $30M on general/administrative. In 2020 it was $242M and $137M. The future-focused servo team was not the place to cut a couple million.

> In 2013 Mozilla spent $197M on software development and $30M on general/administrative. > In 2020 it was $242M and $137M. > The future-focused servo team was not the place to cut a couple million. Wasn't it just after 2013 when the replacement politically-correct CEO got quadruple the pay of the not-politically-correct engineer CEO?

That's a bit of an oversimplification, it's not like they had a choice between adequately funding R&D projects or Doing Political Correctness and chose the latter. Besides, remember that Eich was appointed in 2014 and had only a short stint at CEO, so I don't think you can attribute the 2013 figures to him

I think all of us on HN are a bit saddened about Mozilla cutting back on the Rust and Servo teams, but political-correctness isn't the reason behind that. Let's not turn this into one of those discussions.

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#128

It seems like everyone has reached much the same conclusion: there may be many factors, but the real killer and root cause is that Chromium is well suited to being embedded, and Gecko is not. So hey, any companies out there interested in bringing back a little diversity in browser engines? Or just making a tiny dent in Google's dominance for the greater good? Consider funding work to make Gecko better suited to embed…

Consider funding work to make Gecko better suited to embedding.

Well, with that said, Mozilla is the wrong shepherd for Firefox given that they laid off 25% of their workforce last year.

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#129

Mozilla’s priorities are questionable, I’m not sure anyone outside the company knows. I’ve long resisted using a Chromium browser but Firefox has languished for far too long. I’ve been using Arc for maybe half a year now and I don’t plan on going back. Without a team working on Servo, Mozilla is lost IMO.

Recently Mozilla decided it does not want donations :)

Great for woke bs, not so great for actually funding and developing browser.

Re: Ask HN: Why do new browsers use Chromium instead of Firefox as their base?

#130

Earlier quoted context omitted.

But then again on Android the OS already provides a Webview implementation for usage by apps, so while on Android Gecko might be more easily emebeddable than on Desktop, it's then hobbled by the fact that on Android the choice for app developers is either using the default Chrome/Blink-based Webview provided by the OS at absolutely no size-penalty, or else thinking about shipping a full browser engine with your app a…

Can this be offered as a library that many apps could share?

No idea. With flash this certainly used to work (i.e. Adobe distributed an APK with the Flash plugin, and other browsers including Firefox were able to use the library contained therein), but of course Flash has been discontinued for quite a while now and I don't know whether a similar approach might still work with the most recent versions of Android.

In any case though this would raise the backwards compatibility constraints on Mozilla quite a bit, and I'm not sure whether they'd be willing to take on that burden. Of course even now they can't go around breaking GeckoView-APIs all willy-nilly, but when it does happen, it "only" affects app developers the next time they want to recompile their app with a newer GeckoView version.

If GeckoView was being distributed as an independently, user-installable library instead, any breakage at all becomes a big no-go, because users naturally expect their existing GeckoView-using apps to keep working regardless of which updated version of GeckoView they might happen to install.

Post reply on HN