Update on Multi-process Firefox (Electrolysis) Development

On Nov. 4, 2011, we held a public call to evaluate options for improving Firefox responsiveness including the multi-process Firefox initiative (code name Electrolysis, also known as e10s). The outcome of this discussion was a decision to put the Electrolysis initiative on hold for the foreseeable future and focus on other initiatives aimed at improving responsiveness in the browser. As the Electrolysis program manager I would like to share the background around this decision.

The goal of Electrolysis is to separate the user interface process from the content processes (the portion of the browser that renders Web pages for display) with an aim to improve responsiveness in the user interface. There are a number of secondary program goals such as crash protection, support for multi-core machines, and sandboxing (isolating) content to improve security. (See Chris Blizzard’s goals for multi-process Firefox blog post for more details about the goals.) All of these items have technical merit and it was not the technical merit of the initiative that was under review.

Electrolysis is a huge undertaking. I can’t emphasize that point enough. Converting an established product, like Firefox, from a single- to multi-process architecture requires the involvement and coordination of many teams. Most recently I have been working with the accessibility, add-ons, front-end, graphics, and release engineering teams on various projects. Electrolysis requires a large investment of resources and time and has a long timeline for completion. How long? At this point we do not have a definitive answer as there are many unknowns that need to be investigated and addressed, such as how to ensure that add-ons can function in this new multi-process environment.

The list of responsiveness initiatives includes a number of smaller initiatives, such as out of process plug-ins (OOPP), Places-optimization, and incremental garbage collection. When looking at the investment in Electrolysis, it is quickly apparent that the talented people working on this program could instead be working on some of these smaller initiatives. We reviewed a short list of these initiatives and concluded that the results of working on the short term initiatives should provide significant responsiveness wins delivered in a shorter (known) time frame than Electrolysis. This means a more responsive Firefox will be available on your desktop sooner.

About Lawrence Mandel

Firefox program manager
This entry was posted in Uncategorized and tagged , , , . Bookmark the permalink.

42 Responses to Update on Multi-process Firefox (Electrolysis) Development

  1. This is actually the best news I heard at the MozCamp. While I see why Mozilla was working on e10s and how this undertaking has its merits, the prospect of having to support e10s in Adblock Plus on the desktop Firefox was giving me nightmares ever since we added support for multi-process Fennec. It is hard to throw away something that you’ve put much work into but in this case it is probably for the best.

    • Romani says:

      In terms of choosing “e10s enabled firefox without AdBlock” and “Old sluggish Firefox with Adblock” what do you think we choose? Of course e10sFirefox with NoScript! NoScript cut enough ads already.

  2. Diceman says:

    they never said it was thrown away, much of the core work that was laying the framework for Electrolysis is still going to land at some point.

  3. Anubis says:

    really nice news….
    Other major Browser have multi-process, Firefox doesn’t need it, because Firefox user can live with freezing UI….

  4. Erunno says:

    @Anubis

    The article states that there are viable alternatives to lessen the interface freezes which can be released to end users far earlier than Electrolysis. And it’s not like separating chrome and content is a silver bullet against either. I can reliably cause Chrome’s interface to stall by simply opening enough background tabs in parallel as there are apparently still some bottle-necks left in the browser process.

    This news will need some very good PR work otherwise the press will rip you apart though.

  5. jrbrusseau says:

    So basically. You’re not going to do implement multi-process architecture because it requires hacking on a established code base that can’t handle such a massive architectural change without breaking a major product and pissing off millions of existing users. Yeah, I had a feeling Electrolysis was too ambitious to be more than vaporware.

  6. John Smith says:

    This worries me. If Adblock Plus, one of the most actively-maintained extensions, is having “nightmares” coping with e10s, I wonder how well other extensions will fare.

    I’m also a bit disturbed by the decision to indefinitely ignore long-term goals, in favor of short-term goals. Yes, I’m aware that Mozilla lacks the resources that Microsoft and Google have to allow the juggling of multiple goals at once, but given how there doesn’t even seem to be any concrete plans of picking e10s up again, it makes one wonder whether Mozilla is committed to the long haul, or whether it has enough vision to do so.

  7. Jigar Shah says:

    Hmm..good and bad….if a tab consumed more resources…we dont know…kill whole FF. often happens with me…dont know if e10e was solution.

  8. Erunno says:

    As far as I could deduce from the discussions on Bugzilla and in the news groups the work they intend to prioritize is complementary to Electrolysis and not intended to replace it. For instance, IIRC access to the Places database (storing history, bookmarks and favicons) happens in the browser process irrespective of the content/chrome separation so making it completely asynchronous would have to be done anyway to avoid blocking the main thread and thus the UI. Same applies to other APIs which can’t or won’t be moved to their own processes.

  9. azakai says:

    @jrbrusseau

    > Yeah, I had a feeling Electrolysis was too ambitious to be more than vaporware.

    Firefox mobile shipped with e10s, so it is definitely not vaporware in general. But on desktop it has been harder than expected, yes.

    I think Mozilla could, if it wanted to, release a desktop Firefox with e10s pretty soon, *without* addons, developer tools, and a few other things. Because all the basic stuff like showing web pages works on Firefox mobile – which can be run on desktop machines. The code works. However, that would be a very bad idea obviously, it would be Gecko but not really Firefox.

    As someone that did a lot of work on e10s, it’s disappointing to see it not focused on. But the logic makes sense: There are quicker ways to get responsiveness improvements without the difficulties of e10s, and it makes sense to focus on them. This is the right decision I think.

  10. Al Borland says:

    Lettuce bee cereal, multi-process FIrefox will never happen.

  11. Many responders seem to infer from the article that e10s will “never” happen. What I read is that it won’t happen this week. Maybe not even this year. But never? I bet it will happen before I die, and I’ll be 61 years old in January.

  12. Pingback: Firefox not to become fully multiprocess in the near future • Mozilla Links

  13. Well Wisher says:

    Quitters never win.

    You guys will lose market share by the end of next month to Chrome. It is a critical time for Mozilla. Now is the time to be ambitious. This is a sad development actually. The more you delay with your improvements just because it is complex, the more Chrome is going to run away with your share of the cake.

    Something to think about!

  14. Ashley Cole says:

    That’s what the Russians said about their Moon Mission in the 60’s .. and look where it got them ..

  15. Pingback: Firefox отказывается в обозримом будущем от перехода на многопроцессную модель

  16. Pingback: Firefox no será multiproceso por el momento » SupporTedia

  17. Pingback: Firefox no será multiproceso por el momento - La Isla Buscada

  18. AFirefoxFan4Ever says:

    wrong move, i waited enough, i’m moving to a better alternative now = Chrome

  19. Pingback: Новости компьютерного мира - Firefox отказывается в обозримом будущем от перехода на многопроцессную модель

  20. Pingback: Firefox no será multiproceso por el momento | EmaCorp News

  21. Pingback: Si la vida fuera justa dejaría de llamarse vida » Firefox no será multiproceso por el momento

  22. Joe says:

    This is very disappointing news, Firefox has serious performance problems and with CPUs all being multi-core & hyper-threaded now a days, multi-process is the future. If Chrome ever improves it’s add-on extensibility, then I’m gone and I’ll never look back at FF.

  23. Mirror says:

    What about multi-threaded Firefox?

  24. seleko says:

    At least Mozz should think about UI in a separate thread.
    Its XXI but user still cant access UI when something is loading.

  25. Pingback: Firefox no será multiproceso por el momento | R-NET

  26. Pingback: Firefox no será multiproceso por el momento « ΔΠҜ ÛяǾ฿ØЯø

  27. Pingback: Firefox no será multiproceso por el momento | Jobbr es

  28. idoric says:

    It may be time to start from scratch and create a successor to Firefox, as Firefox was the successor of Navigator?

    • abral says:

      Wow, what overreaction for a delayed feature!

      • idoric says:

        It was not me who said that convert Firefox to be multi-process was an endless task. The Mozilla Foundation has started the project Eloctrolysis in May 2009, we are in November 2011 and its outcome is no longer on the agenda. Knowing that Google has released a multi-process browser in 2008, IMHO it seems legitimate to ask whether the solution is to do like them, and develop a multi-process browser from scratch.

  29. KilliK says:

    Terrible news,really terrible.

    I understand that the major reason which forced that decision is the fact is Mozilla is a non-profit company with limited funds and workforce.
    On the other hand that does not change the fact that FF lacks heavily in the department of responsiveness and that the competition offers multi-core support since 2008.

    Personally i am deeply disappointed with these news,because it was the only feature of the Firefox that i was waiting eagerly from Mozilla.

    And I must confess that,although i am a big fan of Firefox,nowadays i find myself using Chrome more frequently and enjoying the web experience with it a lot more,simply because it is so responsive and a lot snappier.

    For example, with Chrome i can open 20 bookmarks into tabs simultaneously and start browsing immediately with no delay at all,even though most of the tabs are still loading.and all that while running 20 addons.
    If i do the same thing with FF which also runs 20 addons,then the browser hangs up and i have to wait several minutes until it becomes responsive again so that i can start surfing.

    It is pretty clear that FF is way behind in the competition in this department and that lack of feature harms its web experience a lot.That’s why i was waiting for the implementation of the Electrolysis technology,because i wanted to surf without worrying about how many tabs i had opened.

    But after these disappointing news,i dont know,i think it is time for me to adopt Chrome as my primarily browser for good and leave Firefox only for some small tasks.
    I am sorry Mozilla,i am a fan of your browser (and you email client) since its version 2,but sometimes we must move on.and i think this time has come for me.

    • abral says:

      Firefox is multi-threaded, it offers multi-core support. The difference is that Firefox doesn’t run different tabs in different processes like Chrome, so if a website in a tab is slow, Firefox becomes slow.
      However with the Snappy project the responsiveness situation should improve a lot, even without e10s.

  30. Pingback: Electrolysis project on hold | Firefox Extension Guru's Blog

  31. Chrome_user says:

    Why not just take Chromium and Webkit code, tweak it, write some APIs or extend existing ones to make them add-on friendly and voila — new fast efficient browser for Windows and OS X

  32. sad says:

    Mozilla, your priorities are messed up. I’ve known that since that Electrolysis wiki entry went live and you put security right to the bottom as a potential future goal.

    Is it manpower or money? What about fund raising? What about engaging more community involvement? You are still #2, if barely, but there are millions out there who might want to support you. There are all the FOSS developers and even governments who want a strong browser that isn’t backed by a large for profit US corporation.

    Do I need to remind you that Firefox used to be #1 when it came to innovation, stability, usability AND security? Now you are not second behind Chrome. No, Firefox is the LEAST secure browser among all major players (IE, Chrome and Safari all have privilege separation and multi-process architecture).

    I’m very disappointed, not with the product or the fine people working on it, but with the decision makers. The market share is going down, the competition is acceleration and what do you do? You slow down the pace. That’s giving up before the fight even started. If you don’t think big you’ll achieve little and will be crushed. The version number policy is just a cheap trick.

  33. Rebus says:

    E10s was the reason I was sticking around Firefox, knowing that its biggest flaw is being worked on. In time of multi-core processors, giving up on this is a plain capitulation.

    I won’t torment myself with FF anymore – moving on to Iron (spyware free version of Chrome).

  34. evuraan says:

    Good job! keep dragging your feet on e10s, and keep loosing your remaining few ardent fanbois to other browsers, especially google chrome. Mozilla has been screwing around with all other optimization for ages, but all along ignored the most important one that’s crucial for end-user experience.

    In case you haven’t noticed, google chrome has already beaten

    Firefox. IOW, all this user experience enriching experiments really paid off(!). here’s a chart to peruse http://bit.ly/v9wssp

    Bravo!

  35. angryffuser_who_donates2mozilla says:

    isn’t Mozilla reviving a BILLION DOLLARS from google over the course of 10 years? Are you telling me that you can trow some cash from the 100 million dollars you’re going to receive annually to hire some more dev to work on this project? Opera, ie 10 and chrome all have this. This is pathetic

  36. Romani says:

    Still polishing little things? Optimizing database? Garbage collection? Sure, nice task, but that all that optimization can be really done just by moving profile into RAM-drive as i done. Huge gain in speed. It is time make big things! You fearing that Firefox will crash? i don’t scared, i using Nightly for years and got used to this.
    Ерешы is hard times now. IE is no more sluggish ancient browser, Chrome matured enough – it is not as light as it was now, but pretty much feature complete. Safari\Opera – i don’t care. I STILL think that Firefox is BEST browser because of extension, some nice tweaks and freedom to config. I have a lot of extension that make me like a superhero with bunch of gadgets and help do whatever i want, BUT i cannot say that FF is not sluggish sometimes. I upgrading processor, buys more memory but FF still slow and unresponsive. No good.
    I will stick with Firefox for a while but with this lacks of development another browser eventually will replace Firefox.
    And about amount of work you need to do for e10s – i can recall you created whole new engine Tracemonkey and little time ago you just dropped it. Not as effective as you expected it was. So, dropping Tracemonkey is OK, but e10s is a waste of work? oh, come on!

  37. AnthonyV says:

    I am sad. I recognize that this is a major expensive hurdle but if Firefox want’s to remain relevant then it has to cross this line and move on. I prefer Firefox as a browser for all kinds of reasons but the simple fact that Firefox will come to a dead stop as soon as a single tab is locked up bothers me to no end. I litterally encounter this multiple times per day at work while doing work.
    I don’t want to move on but if this keeps up I will be forced to. At this point I already use Chrome to load up specific pieces of web functionality (SSL Network Extender) which I can’t have go down and use FF for the rest because of the better access to my bookmarks and such.

    Maybe it is time to come up with a new version of FireFox, maybe “Firefox Extreem” or something but just do it. Even if it breaks everything just do it and prove to the community that you are serious. At that point you can look at compatibility issues and porting the missing functionality.
    Sometimes you need to make a decisive break with the past. This is one of those times.

Comments are closed.