Wednesday, July 8, 2009

Firefox to get added stability with multi-process browsing

firefox35 Multi-process browsing is quite handy; it is already enabled in Google's Chrome browser and Microsoft's Internet Explorer 8, and it means that each page runs in a separate process which leads to added security and stability, because if one page goes bad, it doesn't affect the others. This new feature is now coming to Firefox users in the future, through a project Mozilla is calling Electrolysis, according to Ars Technica.

A prototype has already been assembled featuring said project, and a list of Mozilla's benefits can be found below, taken from this blog post:

  • Increased stability: if a plugin or webpage tries to use all the processor, memory, or even crashes, a process can isolate that bad behavior from the rest of the browser.
  • Performance: By splitting work up among multiple processes, the browser can make use of multiple processor cores available on modern desktop computers and the next generation of mobile processors. The user interface can also be more responsive because it doesn't need to block on long-running web page activities.
  • Security: If the operating system can run a process with lower privileges, the browser can isolate web pages from the rest of the computer, making it harder for attackers to infect a computer.

Mozilla had explored the possibilities of this in the past, tossing ideas around the developer community, but apparently it didn't go anywhere until Microsoft and Google implemented it into their respective browsers. However, it won't be an easy task at all to get Firefox working this way. Here's the current plan on what to do to tackle it, taken again from the previously linked blog post:
  • Sprint as fast as possible to get basic code working, running simple testcase plugins and content tabs in a separate process.
  • Fix the brokenness introduced in step one: shared networking, document navigation and link targeting, context menus and other UI functions, focus, drag and drop, and probably many other aspects of the code will need modifications. Many of these tasks can be performed in parallel by multiple people.
  • Profile for performance, and fix extension compatibility to the extent possible.
  • Ship!


A screencast has been posted by Firefox developer Chris Jones, which you can download here in the .ogg format. It shows the functioning prototype of the browser, and demonstrates that when a page crashes, only the content disappears and the user interface remains just swell. He said, "Notice that only the 'content' disappears when the page crashes; the user interface itself keeps running as if nothing happened. This is a big step forward. With Firefox protected from buggy pages and plugins, more fun is possible. This video shows me pressing a 'Recover' button that relaunches the page that just crashed. There are many more possibilities for recovering from these errors, and I'm excited to see what our user interface folks cook up."

Please note that the team is currently working on Windows and Linux versions of this new feature initially, as apparently they are more comfortable in those environments, and a Mac version will come later once they work around difficulties. Be sure to keep an eye on this, Firefox users, because it will certainly improve your browsing experience.

 

source: www.neowin.net

No comments: