Mozilla has launched a new project called Electrolysis that aims to bring multiprocess browsing to Firefox. According to Mozilla, splitting up the page rendering workload into multiple processes will improve the browser's performance, security, and stability. The developers have already assembled a prototype that renders a page in a separate process from the interface shell in which it is displayed.
Mozilla has explored the possibility of adopting a multiprocessing approach for Firefox in the past, but the idea didn't gain serious traction in the Firefox developer community until it was implemented by Google and Microsoft in their respective web browsers. Google's Chrome browser uses a separate process for each page, an architectural approach that facilitates much more effective security sandboxing and prevents page-specific rendering glitches from crashing the entire browser. Chrome even includes a process manager tool that can be used to see the status and resource consumption of each page.
Jones says that his prototype represents the work that the Electrolysis developers have done to meet the requirements specified by "phase I" of Mozilla's multiprocess roadmap. To bootstrap the development of the IPC system, Mozilla is using some code from Chromium, the open source development version of Google's browser. The developers are contemplating the possibility of replacing existing Firefox components, such as the browser's network stack, with additional code from Chromium.
The experimental development work that is being done by various contributors on the Electrolysis project was recently consolidated into a single version control repository. The developers hope to have nightly builds ready for developer testing soon, but they caution that it will not yet work on Mac OS X. They are looking for volunteer Mac developers to participate in the project.
Electrolysis is going to be a truly enormous project. It's not clear yet if it will be ready in time for the next release of Firefox, which is codenamed Namaroka. The work on Electrolysis will be done parallel to Namaroka development, so it will not impede other plans to improve the browser. The early Electrolysis prototype and other parts that have been implemented so far are highly impressive. The project is off to a very promising start and has the potential to bring a lot of value to the Firefox browser and its users.