Skip the navigation

Apple, Mozilla chase Google with browser stability moves

New WebKit API layer separates processes, will make Safari more reliable, faster, say analysts

April 12, 2010 06:02 AM ET

Computerworld - Apple and Mozilla last week took a page from Google to beef up the stability of their respective browsers, Safari and Firefox.

Apple's move may also result in a faster future Safari that's able to use the multiple cores in most modern machines' processors, an analyst said.

Last Thursday, Apple developer Anders Carlsson announced WebKit2, an API (application programming interface) layer for Apple's version of the open-source WebKit browser engine. Carlsson, who works on Safari at Apple, also contributes to WebKit, the engine that powers Safari and Google's Chrome.

"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," Carlsson explained in a message on a WebKit mailing list. "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."

Google pioneered process separation when it debuted Chrome in September 2008. Chrome, for example, uses a separate process for each tab, a practice that helps the browser survive crashes by a plug-in running in one tab or the failure of a Web application in another. Such compartmentalization adds overhead, primarily in memory use -- each tab is essentially another iteration of the browser -- but can dramatically enhance stability.

"Clearly, process separation has value as Web sites and applications become more complex," said Ray Valdes, a Gartner analyst who follows browser technologies. "The increasing use of JavaScript and other dynamic behavior in [Web] applications means that they need to be managed in the browser in a manner similar to an operating system."

Although Chrome jump-started the concept in browsers, its implementation relied on proprietary technology it added atop the core WebKit engine. WebKit2, which until its unveiling last week was an Apple-only project, will be different, Carlsson and other company developers said.

"Chromium by design does not put any of the multiprocess logic in WebKit itself -- it just adapts WebKit so that it can be used as a component of a multiprocess application," said Maciej Stachowiak, who leads Apple's WebKit efforts, in another message on the mailing list. "The WebKit2 API provides that logic underneath the API boundary, so it's not necessary for every client application to implement it for themselves."

Chromium is the open-source project Google maintains that, in turn, feeds the Chrome browser.

"Simply put, Chromium WebKit did not provide what we needed to build an API that handles multiprocess and can sanely be used by many applications," Stachowiak added.

"This is a very good idea," said Valdes of the WebKit2 API framework. "It's definitely meant to improve both stability and security of Safari."

WebKit2 could also portend a much faster Safari, said John Pescatore, another Gartner analyst. "When you're looking at multicore machines, when each tab is a separate process, then each process -- each tab -- can be run on a separate core," Pescatore said.



Our Commenting Policies