Forum Discussion
What were the main reason(s) Microsoft chose Chromium over Firefox?
- Jan 09, 2020
I insist that these reasons are mostly from a business and technical point of view.
1. Integration
Its rare to find any applications using embedded Gecko.
XUL is Mozilla's UI markup language, similar to HTML.
Gecko has always been rather tightly bound with Firefox/XUL. If you did not want to build your interface in XUL then the embedder was carrying around a bit of extra code that was complicated. There have been some various attempts at making Gecko an embeddable interface independent engine.
Although In recent years, Mozilla has greatly been reducing the usage of XUL in Firefox.
I think Mozilla is right not to invest in embeddable Gecko. Even if they succeeded; on a technical level, Gecko + Xulrunner = pretty huge code base. And if they manage to get Servo into production anytime soon it would just be a waste of time anyway.
https://developer.mozilla.org/en-US/docs/Mozilla/Gecko/Embedding_Mozilla/FAQ/Embedding_Gecko
It's something that even Mozilla recommends against.
Due to limited developer time and resources, embedding seems to have gone largely out of focus and thus Gecko is indeed harder to embed than WebKit.
Servo aims to be more embeddable but the API is still in work. (more info in the next section)
2. Stability/Reliability
https://en.wikipedia.org/wiki/Servo_(software)
The link you've provided clearly states that Servo's "CEF support never reached a usable state and support was removed from Servo in early 2018".
But it does not necessarily mean that Servo is deprecated or an abandoned project.
https://servo.org/
https://github.com/servo/servo/wiki/Roadmap <== This should be sufficient
As you can see the project is under active development and aims to replace major components of Gecko with the ones written in Rust.
https://wiki.mozilla.org/Oxidation
3. Familiarity/Compatibility
While Firefox's extension store might be one of the best, its something inevitable that chrome has the most amount of extensions available and most newer extensions are mostly limited to chrome.
most of those 'newer' extensions are developed by the same people who don't read or care about web standards in general.
4. Monopoly
Like I have previously mentioned, while Chromium is a free and open source project developed by Google, modifying the source code shouldn't go unnoticed. Besides, it goes through many reviews and isn't instantly merged into their Stable branch which Chrome is built on.
I'm not saying that monopolies are good, but even Google's "dictations" are Open Standards and that is nowhere as bad as closed sourced ones (IE).
And browser built upon the same platform (Chromium) are not Forced to follow Google's standards, if They have significant Marketshare they can do what google did with Webkit. Fork it.
and regarding UA sniffing, most browser capabilities (tech's) could be 'spoofed' in a similar way.
From a technical and business perspective it was better to choose Blink over Gecko due to several reasons
1. Integration; It's harder to embed Gecko compared to Blink. (There's a reason everyone's going with Webkit/Blink) And since Microsoft acquired Github along with Electron, which is already using Chromium's engine at its core, improving and integrating the new Chromium-based edge should result in Electron apps being both faster and smaller in size.
Its worth mentioning that Progressive Web Apps are the upcoming alternatives to Electron. Microsoft already added support for PWAs in Edge, now they should work with other browsers vendors to add missing functionality, like file system access.
2. Stability/Reliability; With Servo around and major rewrites of the Gecko's components in Rust already in-progress, Gecko wouldn't really be a viable option
3. Familiarity; Chrome has the most amount of extensions available, something the classic edge has always lacked, building upon Chromium's Foundation should make the transition from other web browsers easier and smoother for the end-users.
4. Compatibility; Because of chromium's massive marketshare, most of web contents are built/optimized with chrome in mind.
Many sites are created and run by developers who haven’t read and don’t care about web standards; this is why all the effort to create a real standards-compliant browser fail, They either have to create fixes (hacks) for nearly every site (Almost Impossible) or switch to chromium.
Less browser diversity = Less targets to test for
Although having a monopoly in the market should generally be bad, chromium, unlike IE is not closed source and can always be forked.
The real question after a while should be: why would anyone choose to use a different browser other than the pre-installed one that is equal, if not better?
Hope this Helps!
Thraetaona wrote:From a technical and business perspective it was better to choose Blink over Gecko due to several reasons
1. Integration; It's harder to embed Gecko compared to Blink. (There's a reason everyone's going with Webkit/Blink) And since Microsoft acquired Github along with Electron, which is already using Chromium's engine at its core, improving and integrating the new Chromium-based edge should result in Electron apps being both faster and smaller in size.
Its worth mentioning that Progressive Web Apps are the upcoming alternatives to Electron. Microsoft already added support for PWAs in Edge, now they should work with other browsers vendors to add missing functionality, like file system access.
2. Stability/Reliability; With Servo around and major rewrites of the Gecko's components in Rust already in-progress, Gecko wouldn't really be a viable option
3. Familiarity; Chrome has the most amount of extensions available, something the classic edge has always lacked, building upon Chromium's Foundation should make the transition from other web browsers easier and smoother for the end-users.
4. Compatibility; Because of chromium's massive marketshare, most of web contents are built/optimized with chrome in mind.
Many sites are created and run by developers who haven’t read and don’t care about web standards; this is why all the effort to create a real standards-compliant browser fail, They either have to create fixes (hacks) for nearly every site (Almost Impossible) or switch to chromium.
Less browser diversity = Less targets to test for
Although having a monopoly in the market should generally be bad, chromium, unlike IE is not closed source and can always be forked.
The real question after a while should be: why would anyone choose to use a different browser other than the pre-installed one that is equal, if not better?
Hope this Helps!
" It's harder to embed Gecko compared to Blink."
Source for that?
"With Servo around and major rewrites of the Gecko's components in Rust already in-progress, Gecko wouldn't really be a viable option"
I would take a look at here first
https://en.wikipedia.org/wiki/Servo_(software)
Servo intended to re-implement the Chromium Embedded Framework (CEF) API. This would have allowed Servo to be used as a drop-in replacement for Chromium in applications using CEF, and would have positioned Servo as a competitor to Chromium in these cases.
3. Firefox has been around longer than Chromium and their add-on store is at the very least as rich as Chrome extension store, if not richer. quality over quantity. though I'm not even sure Firefox has lower number of addons compared to Chrome extension store.
4. Chromium, controlled by Google, creates monopoly. they sometimes even dictate web standards which is the rights of a totally different organization.
it's in fact for this very reason why Firefox would be a better option, because it wouldn't give more power to Google.
- ThraetaonaJan 09, 2020Iron Contributor
I insist that these reasons are mostly from a business and technical point of view.
1. Integration
Its rare to find any applications using embedded Gecko.
XUL is Mozilla's UI markup language, similar to HTML.
Gecko has always been rather tightly bound with Firefox/XUL. If you did not want to build your interface in XUL then the embedder was carrying around a bit of extra code that was complicated. There have been some various attempts at making Gecko an embeddable interface independent engine.
Although In recent years, Mozilla has greatly been reducing the usage of XUL in Firefox.
I think Mozilla is right not to invest in embeddable Gecko. Even if they succeeded; on a technical level, Gecko + Xulrunner = pretty huge code base. And if they manage to get Servo into production anytime soon it would just be a waste of time anyway.
https://developer.mozilla.org/en-US/docs/Mozilla/Gecko/Embedding_Mozilla/FAQ/Embedding_Gecko
It's something that even Mozilla recommends against.
Due to limited developer time and resources, embedding seems to have gone largely out of focus and thus Gecko is indeed harder to embed than WebKit.
Servo aims to be more embeddable but the API is still in work. (more info in the next section)
2. Stability/Reliability
https://en.wikipedia.org/wiki/Servo_(software)
The link you've provided clearly states that Servo's "CEF support never reached a usable state and support was removed from Servo in early 2018".
But it does not necessarily mean that Servo is deprecated or an abandoned project.
https://servo.org/
https://github.com/servo/servo/wiki/Roadmap <== This should be sufficient
As you can see the project is under active development and aims to replace major components of Gecko with the ones written in Rust.
https://wiki.mozilla.org/Oxidation
3. Familiarity/Compatibility
While Firefox's extension store might be one of the best, its something inevitable that chrome has the most amount of extensions available and most newer extensions are mostly limited to chrome.
most of those 'newer' extensions are developed by the same people who don't read or care about web standards in general.
4. Monopoly
Like I have previously mentioned, while Chromium is a free and open source project developed by Google, modifying the source code shouldn't go unnoticed. Besides, it goes through many reviews and isn't instantly merged into their Stable branch which Chrome is built on.
I'm not saying that monopolies are good, but even Google's "dictations" are Open Standards and that is nowhere as bad as closed sourced ones (IE).
And browser built upon the same platform (Chromium) are not Forced to follow Google's standards, if They have significant Marketshare they can do what google did with Webkit. Fork it.
and regarding UA sniffing, most browser capabilities (tech's) could be 'spoofed' in a similar way.
- HotCakeXJan 09, 2020MVPSpoiler
Thraetaona wrote:I insist that these reasons are mostly from a business and technical point of view.
1. Integration
Its rare to find any applications using embedded Gecko.
XUL is Mozilla's UI markup language, similar to HTML.
Gecko has always been rather tightly bound with Firefox/XUL. If you did not want to build your interface in XUL then the embedder was carrying around a bit of extra code that was complicated. There have been some various attempts at making Gecko an embeddable interface independent engine.
Although In recent years, Mozilla has greatly been reducing the usage of XUL in Firefox.
I think Mozilla is right not to invest in embeddable Gecko. Even if they succeeded; on a technical level, Gecko + Xulrunner = pretty huge code base. And if they manage to get Servo into production anytime soon it would just be a waste of time anyway.
https://developer.mozilla.org/en-US/docs/Mozilla/Gecko/Embedding_Mozilla/FAQ/Embedding_Gecko
It's something that even Mozilla recommends against.
Due to limited developer time and resources, embedding seems to have gone largely out of focus and thus Gecko is indeed harder to embed than WebKit.
Servo aims to be more embeddable but the API is still in work. (more info in the next section)
2. Stability/Reliability
https://en.wikipedia.org/wiki/Servo_(software)
The link you've provided clearly states that Servo's "CEF support never reached a usable state and support was removed from Servo in early 2018".
But it does not necessarily mean that Servo is deprecated or an abandoned project.
https://github.com/servo/servo/wiki/Roadmap <== This should be sufficient
As you can see the project is under active development and aims to replace major components of Gecko with the ones written in Rust.
https://wiki.mozilla.org/Oxidation
3. Familiarity/Compatibility
While Firefox's extension store might be one of the best, its something inevitable that chrome has the most amount of extensions available and most newer extensions are mostly limited to chrome.
most of those 'newer' extensions are developed by the same people who don't read or care about web standards in general.
4. Monopoly
Like I have previously mentioned, while Chromium is a free and open source project developed by Google, modifying the source code shouldn't go unnoticed. Besides, it goes through many reviews and isn't instantly merged into their Stable branch which Chrome is built on.
I'm not saying that monopolies are good, but even Google's "dictations" are Open Standards and that is nowhere as bad as closed sourced ones (IE).
And browser built upon the same platform (Chromium) are not Forced to follow Google's standards, if They have significant Marketshare they can do what google did with Webkit. Fork it.
and regarding UA sniffing, most browser capabilities (tech's) could be 'spoofed' in a similar way.
#1 sounds like a decent reason, so in a nutshell it's harder to make UI changes and personalization in Gecko engine compared to Chromium. since Microsoft wants to make lots of UI personalization based on user feedback, that makes sense.
#2 also sounds good, thanks for the links, the future for the Firefox and Gecko is bright, they are not going towards a dead end
#3 It's not a good reason, quality over quantity. it's like saying Android Google play is better than App store because it has more apps. 3 millions vs 2 millions.
but we see more malware embedded apps find their way into Google play's store
https://www.theregister.co.uk/2020/01/07/nasty_google_play_apps/
#4 if forking was that easy, Microsoft would've done it. who better than Microsoft can maintain a forked Chromium project in Github!
closed source browsers and dictating open standards are not even remotely related.
when you say closed source, you named IE but Google Chrome and this new Edge insider are also closed source.
- ThraetaonaJan 09, 2020Iron Contributor
"I just wanna put it there that using big/small/colorful fonts doesn't make your point any more valid."
It obviously doesn't magically make them more valid. I used all of those for the same reason we sort documents or write accordingly to the rules; Increased Legibility or simply pointing out the more important parts; But thanks for the suggestion.
3. Quantity/Quality
Having more content isn't directly related to quality, you can have both. And I'm not saying that chrome exclusive ones are better or worse. Just stating that -most- newer extensions are only written for chrome or have first class chrome support.
4. Open Source/Standards
That's true, Chrome Is not open source.
But it's built upon Chromium, google just bundles chrome with a few proprietary stuff, namely codecs and their own pdf viewer. that is nowhere close to what we call a 'web standard'
And based on what I have heard Microsoft Edge might be open sourced.
Also 'Forking' especially for a company like Microsoft that has created 2 different browsers in the past shouldn't be hard.
why would they Fork it when there aren't any conflicts, one of their goal's is 'reducing developer pain on the web' [Compatibility]
Remember that Google who decided to perform a fork did it because they had a different approach than Apple for how "multi-process" should be implemented. Google had an implementation that they didn't want to integrate into the Webkit branch - hence the Blink fork.