Providing more proof that Google’s evil plan to take over the world is coming along nicely, both Apple (WebKit2) and Mozilla (Firefox Lorentz) are making modifications to their web browsers that mimic something Google’s Chrome already does. One of the reasons that Chrome is different and arguably more efficient than other browsers is in the way it separates everything into separate processes. Each tab is a separate process. Each extension is a separate process.
If you have ever visited a single web page that crashed your entire browser, you have experienced the very reason why this is important. Having everything seperate means you can kill the tab or extension that is having trouble without losing your whole browsing session.
Chrome was built from the ground up with this separation as a basis for it’s design. Chrome was also built with the intention of shaking up the browsing industry. Since Chrome came around with it’s simple design, process separation, and super fast javascript engine, just about every other major browser has seriously stepped their game up. This latest development is just another step along that path.
In their latest beta build, called Lorentz, Firefox has duplicated this same process separation. If a page goes wild because of some plugin issue, you no longer use your entire Firefox session or lock up your computer entirely. Firefox goes gray and notifies you of the issue first, giving you the option to try again or just close the tab. The sad robot face is pretty much identical to what you would see in Google Chrome.
Apple’s Webkit2 announcement is very interesting because Google Chrome, Safari, and a few other browsers are actually based on Webkit. It’s not a browser itself, but is a framework to build a browser on. What Apple has done is take this idea of seperate processes and incorporate it into that framework.
WebKit2 is designed from the ground up to support a split process model, where the web content (JavaScript, HTML, layout, etc) lives in a separate process. This model is similar to what Google Chrome offers, with the major difference being that we have built the process split model directly into the framework, allowing other clients to use it.
Simply by default, Safari and other software based on Webkit will already have this multi-process ability built into it and should become more stable and efficient because of it.