Posted September 21, 2015
hyperagathon: Mozilla are assholes. They fully expect thousands of developers to basically rewrite their extensions - software that does not bring them profit in a majority of cases - just because they're still not through trying to be Chrome. Between Australis (if I wanted to use Chrome, I know where to find it), mandatory extension signing (did you have a private extension, maybe for your company? sorry), and killing off XUL in favor of a castrated / bastardized Chrome API (if it was possible to make a decent extension API with Google's approach, Google would have already done that), wasting resources on a language that somehow manages to be more complex and uglier than C++ (no small feat there), and being nasty, smug and condescending towards their users, they can go die in a fire for all I care.
I wouldn't go that far. I have to say I have very mixed feelings myself. On the one hand I love everything that Mozilla has done for open source to date and the Firefox browser is the one and only browser that meets my needs. I could never switch to any of the other browsers and feel at home, and I do have all of them installed and use them for web testing. So I have some allegiance to the brand and the organization. But it's also like a relationship in that it has it's moments of love and hate, of rejoicing and of bickering and shouting, then kissing and making up again. I've got over 50 active browser extensions including many of the top ones which use XPCOM and many of those I feel I can't live without, so I'm definitely on edge as to whether they'll get ported forward to the new APIs or if they even can be for sure. I'm not angry about it at least not yet since it's an unknown quantity at this point, but I do feel a little nervous to say the least. Also, while I love Firefox overall and what they've done over time, I have not been a fan of every single change and I have often cursed at some of the decisions they've made, but I either found a way to undo those changes via about:config settings, or via additional browser extensions. Things like tabs on top, the search toolbar changes, the Austrailis theme changes, disabling of the status bar, and so on and so on. But again, all of these things I've been able to undo via extensions or tweaking so that brings me back to feeling cool about it mostly because I know that nobody can reasonably expect to love every change that is made, and it isn't reasonable for everyone to expect the default configuration to be exactly what they personally want either. What's important to me as a more technical user is to do whatever for defaults for the average Joe, but please let me reconfigure it to what I want somehow and to that end I've found a way for 99% of things and am reasonably content even if I bicker from time to time about some of it. Again, it's a love-hate relationship but the make up hex is great. :oP
So, that brings us to the current roadmap of Firefox's evolution. I've been following the development for eons, since before it was Firefox even and keep track of their various experimental projects, Mozilla Labs stuff and various features they've planned for the future over time. I've seen many of those features come to fruition in the browser and work out fantastic, such as pdf.js as an example.
But here's where it gets mirky... One of the biggest features I've wanted to see for a very long time, is multi-process Firefox a.k.a Electrolysis or E10S for short. They've been working on that on and off for at least 6-7 years or more now, however the project got put on hold for a while a few times and has taken this long largely because it requires making some large fundamental changes to the way the browser operates internally and in such a manner that will cause a number of incompatibilities with extensions and they've wanted to steer clear of things that would break backward compatibility in any major way. So it got back burnered several times while they sidetracked to work on better performance and memory handling and other things which were needed but which could be done independently of Electrolysis. They milked that for several years now and felt it was time to reawaken Electrolysis and work out the remaining issues.
Now there are many out there who fear multi-process Firefox for various reasons but a lot of them just do not fully understand it and the technological pros and cons and just have fear of change. There are also some good reasons to be concerned about the change too, although most people who fear it don't really grasp them all that well. Suffice it to say though that all of the major browsers have moved or are moving to multiple processes because it provides well defined technological improvements to the overall browser experience including greatly enhanced performance on multi-core systems, greatly improved security, stability and reliability. They've weighed all this a long time ago and decided the reasons to do it greatly outweighed any reasons to not do it and I have to agree with them on that having studied it fairly extensively.
Having said that, unfortunately there are still core changes to the browser that need to be made which modify internal browser behaviour in a way that many browser extensions just simply will not work with. This is because the XPCOM/XUL extension interface basically opens up the entire browser internals to be twiddled with almost no limitations by any and every extension out there, making it next to impossible to change the browser's internal code over time without something breaking every release. That is very powerful and flexible but it is also quite unsustainable and either causes extensions to break and/or greatly limits what kind of technological improvements can be made to the browser. In short, we can't have it both ways as nice as that would be.
So, at some point they ultimately would have to do a major redesign to revamp the browser and make it more future proof and to do that pretty much guarantees some things are going to break because the existing design is so incredibly flexible that it is practically designed to break. All of the other browsers either avoided that level of exposure of browser internals to extensions all along, or moved away from it a long time ago - but none of them have ever been as popular as Firefox is in terms of extensions either so they didn't have nearly as many extension developers or end users to risk pissing off. ;)
Well, they've decided that the time to do this is now, and I agree - if major changes are going to happen it is better sooner than later as the longer the existing codebase moves on the more painful it will be to change it later, and ultimately if they don't change it they will end up losing to the other browsers in performance, security and reliability eventually, especially as the web moves forward with more and more dynamic content and rich multimedia experiences. The userbase has slowly been declining in recent years losing users to Chrome and to a lesser extent other browsers, and if that continues at some point it risks losing funding and that will result in dropping developers and ultimately the project dying. While it is an open project with volunteers, the majority of the work done on Firefox is by people paid to do it. The browser has to succeed in order for the organization to get funding through search engine defaults etc. in order to pay the developers to keep developing it. If that dries up then there is no more Firefox and that is worse than any restructuring they can do right now to try to make it more sustainable for the future.
<span class="bold"><continued below></span>
Post edited September 21, 2015 by skeletonbow