Since then they got Rust off ground, servo yielding good fruits, firefox cool n quiet.
Once again kudos.
They have absolutely no excuse for falling this far behind. They squandered a lot of money, while neglecting their core business (their web browser).
I still hope they’ll keep it up. I have been a Firefox fan ever since beta 1. Hopefully they can recover their market share loss.
They developed (well... became the first and most significant major backer of) an entirely new programming language, purely for the purposes of building a better browser. And then devoted tons of resources for years into developing Servo, a massive and complex project that is only being realized now. I'd rather they think big and be ambitious like this, than be yet another stagnating tech company kept alive by former glory.
Also, it's unfair to argue that they have neglected the browser. Firefox is a massive legacy codebase that couldn't be cleaned up without breaking A LOT OF THINGS, and at every step in the process they faced people begging them not to break their things, despite the alternative being the continued rot of Firefox's internals. But they did try, for years, to move forward without breaking everything - it just came at the cost of glacially slow and cautious progress.
I've made a couple small contributions to Firefox. Though I'd been a Firefox user for years, this never occurred to me until I looked at the source in 2015 and saw TODO comments to upgrade a C++ operation to something available in C++11 (that's C++ released in 2011) when Firefox dropped Windows XP support.
I was surprised at the time that so much of the code was ES6. My mentor pointed out that web app companies might need to wait a few years for users to mass-adopt ES6 browsers. On the other hand, Firefox can use ES6 everywhere in its own code where JS makes sense, since it's only going to be running on latest Firefox JS engine.
I think Firefox hit full ES6 compatibility first among the browsers because there was this extra incentive to modernize the codebase.
Chrome didn't have to build off of the Netscape source, so it didn't have the same legacy problems in 2008 that Firefox did. I think Mozilla has done a remarkable job keeping pace with Google, taking this into account.
Nit: The standard was finalized in 2011 - August 2011 to be more specific, so quite late in the year. Full compliance in various compilers was not achieved for quite some time after that - MSVC being quite problematic in that regard.
Major projects - esp. those compiled on multiple systems across several compilers, like Firefox - absolutely could not just go ahead and start using C++11 in 2011.
I was really into native development around that time, and C++11 was the first time I was exposed to the complexities and gotchas around standardization vs. implementation. I've stopped paying as much attention since, but I believe C++14 fared much better.
A number of ES6 additions were initially Firefox extensions (though some standard-track features like comprehensions also got removed).
FWIW internal firefox code has had ES6-like concepts before ES6 itself; and many of these made it into the final spec in some form.
Wasn't it Webkit that hit that first? Whereas Firefox at the time was just 93%.
https://twitter.com/webkit/status/728643624464883712?lang=en
https://www.contentful.com/blog/2017/04/04/es6-modules-suppo...
https://wiki.mozilla.org/Mozilla_Foundation_Projects
The foundation has a crazy long history of funding open source and various pursuits. Comparing their style of execution to google is just rediculously unfair on so many levels.
The foundation had engaged in tax evasion over the money raised through the corporation and ended up settling with the IRS by paying a $1.5 millions fine[1], they had provisioned $15 millions for this fine, suddenly they got a few unexpected millions to spend on whatever.
I agree that comparing mozilla to google makes little sense as mozilla was working for google in exchange for 85-95% of their revenue. Without google paying mozilla for their users privacy, mozilla would have had to find an actual business model and would not have had the option to wander away from their core product.
On the other hand, without mozilla google would have been mostly the same though would have probably missed some data about millions of users .
[1]: https://www.cnet.com/news/mozilla-gets-lucky-settles-irs-aud...
The seperation is purely legal and financial, no?
They've also been criticized for years for their business model being too dependent on a single income source contrary to their values. They did nothing about it until it became clear that they were losing the game. IMHO this is bad management for years.
First, OS manufacturers who have unlimited power to steer users toward their own browsers. This was true in the Windows days, and it's an order of magnitude more true in the mobile world where one of the leading platforms, iOS, won't even allow "real" versions of competitors' browsers onto their devices.
Second, they're at the mercy of purveyors of web content. How screwed would Firefox be if a couple of major sites like Facebook and Youtube started treating FF like a second-class citizen? FF already kind of feels like a second-class citizen sometimes; as far as I know Google Hangouts still doesn't work on FF: https://support.mozilla.org/en-US/kb/google-hangouts-tempora...
So, in the long run, Mozilla is going to have to do something about their tenuous position.
Realistically, they can't blow the doors off of incumbent browsers (Edge, Safari, Chrome) like they did back in the IE6 days. That was a once-in-a-lifetime opportunity. Microsoft, having achieved dominance, had literally disbanded their browser team despite the fact that IE6 was atrocious. But that will never happen again. MS, Apple, and Google each have gobs of engineering talent allocated to their browser efforts and the only way Mozilla can excel its way to the front of the pack is if the other three major browser vendors simultaneously slack off at once and give FF an IE6-like opening.
Also, the importance of the browser is decreasing. Watch kids on phones. It's all apps. They don't do jack shit in a web browser. A web browser is something they use, at most, to look up homework answers.
The world is a better place for Mozilla's presence and I hope that, while keeping FF strong, they manage to figure out an Apple-like second act at some point.
They said that for Netscape too (compared to Mozilla/Firefox). At what point do they start writing nice extensible code?
Webkit based browsers don't seem to have the same issues.
But at least they tried. Everyone else just gave up and either accepted Apple's overpriced walled garden or handed over their deepest secrets to Google.
First off their goals, effectively OLPC the phone. A cheap "smartphone" built on web tech that allowed the owner to modify the software as he saw fit.
This then clashed with the partners they found, carriers that had zero interest in owner-modifiable phones.
It was doomed from the start, but it allowed some execs to pat themselves on the back and tell their fellow gallery dwellers that they had done something for the third world...
It was never going to work, and didn’t. Should never had a cent spent on it.
And without grave mistakes ?
Seriously get a reality check.
- Theodore Roosevelt
Maybe it was unrealistic to expect it to work out - one relatively small company fighting with Google and Apple - but I guess some people are optimists and want to believe that the world can be made into something else than corporate dystopia or whatever.
Wanting to believe in something is a thing, neglecting your core product and users to bet on a personal belief is something else.
2. I thought they were bloody stupid ideas.
I'm not convinced that investing in ideas I think are stupid because things I have previously thought were stupid did well is a sound strategy. All it shows is I'm bad at predicting what will do well, so it makes more sense for me to invest broadly across as many markets as possible.
There isn't, of course. But that wasn't why it failed. It failed because it didn't answer any questions that weren't already answered, except for some (like "more privacy") that too few people wanted an answer to, to have a market. And that part, unfortunately, was utterly predictable.
Think low end android phone (of the time!) running software that was 10x slower than android's.
It's really hard to describe how slow it was if you didn't personally use a firefox os phone. There were times when it felt significantly slower than a 386 running windows 3.11.
Considering this is HN, and not Slashdot, probably several readers...
They are not a business, they are a non-profit organization. And their aim is not to simply build a better browser, but to preserve the open web, and put control in the hands of the users. Granted, phoneOS was a failure, but given their mission, they had to try.
Notably this non-profit organization had provisioned $15 millions anticipating that the IRS might get into how a non-profit was actually for profit, it eventually happened and the foundation ended up getting a $1.5 million fine for their google income before setting up the for profit corporation scheme[1].
[1]: https://www.theregister.co.uk/2010/11/18/google_still_mozill...
The non-profit organization foundation
Nobody is perfect, and making a good and desirable product is hard.
Mozilla has revenue of $420M p.a - I don't know what they spent on Firefox OS but it would have been a big bet (hundreds of millions?). At the same time their Firefox marketshare was reduced.
Plus, I think that view - that FF marketshare was reduced, therefore they weren't investing in it enough - is shortsighted. The improvements that have been landing on FF lately are the result of work being done for a long time. And you can't just dump more money into a project and expect it to be finished sooner - see The Mythical Man-Month.
2011 to 2014, that's 4 years. Enough for firefox OS to gobble hundred millions of dollars.
Edit: Although, thinking about it, it's really ironic how the Google project inspired by Firefly got canceled way too early.
If I launched an app that got over a hundred million downloads and had many millions of monthly users I certainly wouldn't call that a failure!
I belive, that some tasks cannot be accelerated by additional money. There are tasks that needs time. Money may allow to deal with subtasks in parallel by many developer teams, but in complex system it leads to a lot of conflicts between parts of system, and only time can allow to settle them.
Browser is such a complex system. Old browser with massive amount of legacy is more so. Moreover if you develop the hole new language for upgrading, it becomes surprizing that mozilla have done it in less than 10 years.
I can't hate them for some of the projects they tried. FirefoxOS was actually something the world really fucking needed. We need an open mobile OS.
They've used their $100-160 million (it has grown over time) budget for a lot of things in the last several years. Off the top of my head:
* Legal battles * Advocacy for open standards like HTML5 * Web literacy projects like webmaker and MDN * LetsEncrypt * Bugzilla * Thunderbird * NSS * Spidermonkey * Rust * PDF.js * Firefox OS * Development and support for open VR web standards * Supporting other, non-Mozilla open source projects like Tor and NTP
Remember that the goal isn't the success of any particular software product. It's pushing the debate and forcing other vendors to adopt and stick with OSS and open standards.
In short: yes, Firefox has lagged behind chrome in the last few years in terms of speed. But remember when IOS didn't support HTML5, or any competing apps? Remember when no one was serving the global south with mobile web capable devices? Remember when HTTPS adoption was at 3% and going nowhere? Remember when CSS meant days of per-browser testing and tweaks? You're welcome.
Mozilla Corp. is taxable and had revenues of $329.5 million in 2014 per Wikipedia. Most of that money came from Google in exchange for making Google the default search engine in Firefox. Open internet and goodwill aside, Firefox is very much their core business.
Which I might say, it has been the only Android browser supporting extensions and quite a nice browser overall ;-)
Does Microsoft make a browser for Android? Does Apple?
And a lot of technologies and standards that were developed as part of Firefox OS still are very much around today.
In terms of standards, they did a lot of work for camera and microphone integration, which they now needed again anyways with Google having pushed WebRTC to a web standard.
In terms of technology, the biggest thing is probably Asynchronous Panning and Zooming (APZ). Basically offloading scrolling, zooming and window resizing on the desktop to a separate thread.
If you remember how horribly laggy scrolling on Android Firefox was prior to Firefox 46, APZ is what fixed that.
And it's one of the main-reasons why desktop Firefox with multiprocess immediately felt so much better. (Released in Firefox 48, but extensions needed to be updated to be compatible with multiprocess, so most people here probably didn't experience multiprocess and APZ on the desktop until around Firefox 51.)
I remember one reason Chrome gobbled up a lot of marketshare - it was the browser to install because it had Flash built in. Google definitely leveraged that, and then slowly roped people into the Googlesphere from there once they had the browser as your new default.
We collectively need to factor this into our product choices and stop encouraging the sneakiest of them all.
But how exactly is bundling Flash player sneaky?
Or are you alluding to some sort of bait and switch that was executed to suck people into the Google sphere? If so, please explain! Chrome was never marketed as a privacy-minded browser, was it?
For example, there is apparently a $40B rural Internet access bill that Dems are pushing. I love greater access to the internet but I'm more than a little skeptical.
The side reason is firefox made counterproductive and unnecessary changes: removing the status bar, australis UI, removing the ability to disable script, dropping alsa support and many other useful features removed proving that user have no freedom of choice and no say. While adding unwanted things (DRM, pocket, hello, etc.) and not fixing broken things.
Some power users and long supporter would have sticked with firefox despite google's marketing, had it not piled bad move after bad move and not listening to its users.
And no, these UI changes were not made at the expense of fixing memory and performance issues.
The reason why they didn't fix those memory and performance issues, is because it would have required introducing the (now introduced) multiprocess architecture.
That would have required breaking all extensions (which is now being done with Firefox 57, along with breaking them to switch to a new extension API). So, that would have pissed off power users even more.
And also just in general, you have to understand that power users are not that important for market share. They make up maybe 1%. If they bring their friends and family all along, then maybe 15%.
There's a big number of users that are able to choose their own browser, but are not power users by any means. For example, around 40% of Firefox users don't have any extensions installed [1].
[1] The figure is from Sep 2015, but I don't think things have changed much since then. And if anything, the trend has so far been for this number to increase. https://bugzilla.mozilla.org/show_bug.cgi?id=1229949
After decades of FF I will soon abandon it when it no longer runs vertical tree tabs.
Chrome didn’t start from scratch (they used WebKit to start) and they didn’t overtake them overnight. Mozilla couldn’t decide what their focus should be for many years, and in that time Chrome grew thanks to Google’s infinite wallet. They made worthwhile risks that didn’t work out in the end, and during this period their core product stopped improving and they eventually needed an extensive and expensive rewrite.
I think the lesson here is this: if you’re going to invest in experimental products, don’t forget about keeping your core technology up to date.
Then they should have focused on XML and giving the world an XML based web-browser, trying to drive XML further. XML would have had a much better chance on the web, if web-servers could have responded to URL encoded XPaths (or even XQueries in POST/GET), serving back XML Fragments which could have been XMLIncluded by the browser. They could have lobbied that.
Now we've got HTML5...
With computers having become faster, together with development thrown at it, that's not really an issue anymore, but developers have also realized these days that XML is far from human readable, and for the majority of applications it has been used for, simply a bad idea.
A rich set of lessons in what tends to happen with corporate uptake of a "common good".
If Apple hadn't open-sourced WebKit, it's unlikely Chrome would have happened.
Edit: Actually, KHTML is licensed LGPL, and that's a viral license if you make a derivative work. So I suppose Apple was forced to open source their changes when it finally went to market.
When LGPL code is linked with non-free code and the resulting work is distributed LGPL only requires that the changes to the LGPL code be open and that the object files for the non-free code are provided so that users can exercise their LGPL rights with regard to the LGPL portion of the work.
Apple could have separated out much of their work into separate files that contained no non-Apple code and that dynamically linked with the KHTML LGPL code and they could have kept those files closed. They would only have had to open the changes to the LGPL code.
If we accept the terminology that GPL is a viral license then LGPL is more of an immune system than a virus.
First, they didn't publish anything for years. Then only obfuscated source dumps with all comments removed for many years.
It took ages until they published some source code, even longer until they opened their repository.
By that time KHTML was long dead, and development had centered on WebKit.
No, Apple is no saint in this story.
> No, Apple is no saint in this story.
Nowhere did I say or imply that Apple was a saint. All I said was that LGPL allows linking with closed code and distributing the resulting work without having to make the closed code open, and that Apple could have structured WebKit in such a way as to keep most of their code from having to be made open.
This is the main difference between GPL and LGPL, and a big reason why the FSF now discourages the use of LGPL.
> The reason webkit is known today, and not KHTML, is because Apple ignored their LGPL requirements.
> First, they didn't publish anything for years.
They published their KJS changes in June 2002, shortly before they released products using it. They published their KHTML changes shortly after Safari was announced.
> Then only obfuscated source dumps with all comments removed for many years.
Citation needed. My recollection is that they published their code in the form that they used it internally. The difficulty for the KHTML developers in incorporating Apple's code was (1) WebKit was designed to do what Apple needed, which was not necessarily what KDE needed, and so the two were diverging, and (2) Apple was making a lot of changes that touched a lot of code making it hard to break it down to individual improvements that could be incorporated independently.
This made integration impossible.
If it were just as easy (or even comparably easy) to carry on (and maintain) development via external linkage, LGPL would have been long useless.
Nope, they started with webkit and wininet for networking which together might be make a good browser demo.
[1] https://addons.mozilla.org/en-US/firefox/addon/vimium-ff/
- Yanking does not work at all.
- "Follow in new tab" (F) does not work. (EDIT: Working now, so maybe I did something weird yesterday.)
- "Open" (o) does not respect search keywords. "wikipedia Test" gives me a search for "wikipedia test" instead of the Wikipedia page for "test".
- Most of the shortcuts don't work on a blank page, or on "about:" pages. For example, when I open a new tab with "t", then change my mind and press "[Esc]x", it doesn't work. Nor does any other letter command.
I filed a bug for the first one, and it seems to be related to shortcomings in FF's clipboard API for WebExtensions, so I suppose that at least the last issue in my list is also related to what the browser allows WebExtensions to do. But at this point, I don't really care about filing more bug reports. I'm looking for alternatives instead. (Any suggestions?)
So if it's in Firefox, it's Vimium-FF. (And I'm using Firefox, in case that wasn't clear.)
That said my dev edition self-updated last night and... holy shit, the new Firefox flies!
One of the worst Chrome bugs was a short sighted attempt to remain compatible with a bad decision by netscape.
https://productforums.google.com/forum/#!topic/chrome/DpOXzA...
I may actually make the switch.
I never left Firefox though, it's been my primary browser for ~12 years. Fuck Chrome! I can say without a doubt that 57.0b4 is more performant than any Chrome / Chromium version that I've begrudgingly used to check if my client's sites are cross-browser compatible.
But for me, it's the conflict of interest that makes the real difference. Fundamentally, Google as a company makes it's money by selling information about me and my behavior on the internet. That's it's objective. Firefox exists to promote open standards, OSS, and privacy on the Internet. If chrome at the moment doesn't seem to be contributing towards Google's objective, that's by definition only a temporary state of affairs. And I know which objective I would rather support.
If you're interested in helping me figure out what's going on here, feel free to send me a performance profile.
It's always a good idea to back up your profile first (where your bookmarks/passwords/etc. live), especially when downgrading:
https://support.mozilla.org/kb/back-and-restore-information-...
Would you be willing to provide us a performance profile? Instructions are here: https://developer.mozilla.org/en-US/docs/Mozilla/Performance...
Feel free to email it to me if you don't want to post the link publicly. I'm mconley at mozilla dot com.
Other than that Nightly is amaze balls.
Favoritism isn't the only reason for these things. What often happens is that the website devs all use one browser and nobody tests it.
It's not like Google wants their sites to be broken on other browsers either (I presume), it's just that many teams at Google aren't bothered.
IIRC Firefox has the same WebRTC APIs as Chrome, so this might be reliance on browser-specific nonstandard behavior.
(Or it might not. It's worth looking into, but I can't because it seems like you need to ask for an FB live invite to investigate)
Edit: Figured out how to do it. Seems to work fine in Firefox Nightly.
That is exactly the point the GP post makes. These things are supposed to be standardized and the standards well described, so basic things should work everywhere without any testing. But somehow for web, it is acceptable and accepted as status quo, even after years and years of smashing our heads against the wall of nonstandard, browser-specific features.
There are also cases like where Google's U2F library doesn't work with Firefox's U2F implementation because Firefox's window.u2f is immutable, as a newer (IIRC draft) spec dictates, whereas it isn't in Chrome, and the library does `var u2f=u2f||{}` which errors in Firefox.
Firefox also supports https://developer.chrome.com/multidevice/android/customtabs .
It also has a very nifty feature (IIRC off by default) where if you click on a link instead of switching to Firefox it shows a "Tab opened in Firefox" toast which you can tap on to switch to. This means I can for example click on the links in an email whilst still reading it, and then switch to the browser later to read them all. This does make opening links two taps by default (tap on the link, and then tap on the toast), but there's no tap-hold so it's fast and nice. Plus my workflow prefers opening tabs that i look at later, not immediately.
Note that none of the Quantum work has been turned on for mobile Firefox yet. I hear it will be coming online in nightly this cycle, targeting Firefox 58.
I do have to find the webextension equivalent of half my add-ons though.
The thing that is not on mobile Firefox is Stylo.
> And since it's Chromium based I don't see the sluggishness I do in Firefox for Android.
The point of the article is that you'll be able to have a quick experience with Android, without using that one tracker called Google.
Interesting because for me it's the exact opposite: Firefox is fast but when I need to open Chrome (webview or full) it's a slow and painful process (tested on two phones, one 3 year old). Maybe it's because Firefox has everything cached and Chrome needs to load from network... Not to mention full screen, aggressive ads :)
For instance, it takes me exactly one click to open a link from the HN app I'm using in Firefox.
Trying the beta now though, fingers crossed!
And ublock origin must have saved me hundreds of euros and days of time already. (God the internet with ads and trackers is terrible. Gizmodo has a dozen trackers, one of them is called summerhamster. True story).
Notice that they could not support Android 4.4 because they would require using geckoview.
Also, there is no way a browser of only 4MB can contain a whole web engine. The only Android browsers that get so small depend on webview.
Consider this, even the old Presto based Opera Mobile clocked in at 15MB on Android.
(1) Though I'm sure it's better than that.
Also chrome has had privacy oriented counterpart since the early days such as srware iron[1].
(Mind you, Chrome/Webkit did a similar thing 5-10 years ago wrt. JS performance. Basically, this is the good kind of back-and-forth competition we're seeing.)
Disabled Encrypted Media Extensions (EME)
Disabled Web Runtime (deprecated as of 2015)
Removed Pocket
Removed Telemetry
Removed data collection
Removed startup profiling
Allow running of all 64-Bit NPAPI plugins
Allow running of unsigned extensions
Removal of Sponsored Tiles on New Tab Page
Addition of Duplicate Tab option
Locale selector in about:preferences > General
https://www.waterfoxproject.org/I've moved to waterfox which offers support for the legacy addons and this move actually fixed a few of the annoying bugs I had with firefox. Among which speed was not one.
BTW, also using DDG for search, Outlook for email.
The reason that Firefox switched to webextensions was in order to switch to a formal extension API that could be supported long term, instead of the old open integration API which made it difficult to readable without breaking all sorts of extensions.
There reason they adapted the web extension API that chrome uses, was because it largely made sense, was already pretty fleshed out and would allow extension writers that were already familiar with that to also target Firefox.
I don't think they've been "waiting" to solve the UI issues: it's been years of slowly deprecating old systems like XUL, and implementing new systems like e10s. That's been years of anger or at least angst for extension developers, as much backwards compatibility was broken one piece at a time.
The fruit after all that hard work is the new UI.
The truth is that they were in a dilemma situation where they had to choose between not killing all extensions or fixing performance by introducing a multiprocess architecture (which required breaking all extensions).
So, the first thing they did was to simply wait. The performance issues were not that bad yet, so it just didn't yet weigh up to kill all extensions.
Eventually they started work on the multiprocess architecture. That was around 2012, if I remember correctly. They've been doing that in the background without visible results for the public for a long time. It's considered the biggest architectural change that Firefox ever went through, so yeah, that just takes time. Cleaning up technical debt that Chrome never had.
And then they also figured, if they already break all extensions, they should also switch to a new extension API in the same breath (because the old one has had big problems for as long as its existed). So, then they implemented that, too, in the background, in parallel, just to be able to throw it all on the table one day, so that extension authors would only have to rewrite their stuff once.
Indeed, I'm one of the people who has suffered from losing legacy Firefox extensions (find me a substitute for LeechBlock, please!), but I can see how much of a burden it was for the developers to compete on performance and security, which I value more. I'm hopeful that Firefox will continue to add sane extension APIs to help close the gap with what was previously possible without regressing to the old quagmire. Fingers crossed, but they've done well delivering so far with 57.
Having to break legacy extensions due to internal changes is understandable. It would have reduced stress for the users if the new API was shipped first, then the changes made and the old one broken, though. Heck, they even thought of it first and did that - you may remember Jetpack. It never picked up steam because the APIs were too limited and too many people ended up resorting to the old APIs, though. Even now with WebExtensions they're shipping lots of new API extensions want in the same release that drops support for the old ones…
Oh, and they had multiple breakages as more and more things went out of process, not one giant one. That's life, really; things take time to build. I believe part of the pushback is that people just finished porting to e10s only to find that their new code will need to be rewritten again for WebExtensions.
I never said I agreed with it.
But here I am, running Nightly because holy shit this thing flies. Their work has paid off and they're not even done yet. Webrender is coming, it's not quite stable enough for daily use yet (mostly just graphics glitching and integration performance issues as far as I could see), but there's a lot of work being done and it's only getting better.
Their whole "Project Quantum" eliminated the UI performance issues that used to plague the browser and they're improving security sandboxing all the time.
To those who loved the power and control like myself, they still offer a ridiculous level of configuration flexibility and extension APIs - while no longer as powerful as they were - are still better than other browsers on the market today.