Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Browser engine forking isn't the end of the world

Glenn Fleishman | April 10, 2013
Announcements from browser makers last week may recall the bad old days of browser incompatibility, but this isn't IE6 all over again.

In this environment, every engine and browser project is under marketplace pressure to render pages as well as every other browser, since any substantial deviation could drive users to other options. Even on iOS, where Apple requires third-party browsers to use the WebKit engine (that goes for you, too, Firefox and Chrome), mobile users may switch the browser front-end or ditch an iPhone for another platform if they're frustrated enough by a not-very-compliant browser.

In this context, neither the Google announcement nor Mozilla/Samsung one gives me much pause. If anything, the fact that browser makers are heading in a different direction gives me hope for the kind of improvements that came in the disruptive wake of Gecko and then WebKit. Google isn't abandoning WebKit, and Mozilla and Samsung aren't planning some crazy move into incompatible standards. The competition is no longer about standards; it's about mobile device marketshare expressed through speed and eyeballs.

Google said that Blink, its WebKit fork, had to happen because WebKit is now an unwieldy ball of crufty code designed for many system types, most of them irrelevant to Google. The company said the first stage of Blink's transition will involve dropping 4.5 million lines of code from the WebKit code that Blink is starting from. (As noted above, Opera will adopt Blink, too.)

When WebKit2 was announced in 2010, Google and Apple moved to parallel development paths, even though Google kept using most of WebKit. Google had one method for "multi-process architecture," which handles different activities as distinct computing jobs to let each tab run as a separate and secure operation. A crash doesn't bring down the whole browser, and (ostensibly, anyway) a security exploit doesn't compromise all open tabs or the browser itself. In its handling of the same task, Apple's WebKit2 didn't adopt Google's code. Google says that working within Apple's constraints has slowed development down.

The Mozilla and Samsung announcement is more about the long game than any short-term disruption. At February's Mobile World Congress, Mozilla, which largely missed out on the move to mobile, announced Firefox OS, a Linux-based system that will boot on many current Android phones. The OS relies on some of the same free or open-source components as Android. For its part, Samsung is the only truly profitable handset maker besides Apple, taking about a third of the profit in the smartphone segment to Apple two-thirds--but it relies on Google.

Mozilla is writing the code for its new engine, Servo, in a new and more secure programming language called Rust that's just a few years old. Rust aims to enable programmers to write code that is far less susceptible to exploitation through the many common paths available in existing languages. It's also better designed for both the Internet and contemporary mobile devices to carry out many tasks efficiently at once. But it's not ready for the big time yet: At this point, Servo remains an experimental engine written in still-in-development Rust. Samsung's work with Mozilla to get Rust and Servo working on ARM chips is a long-range plan, with many months ahead before something production-worthy emerges.

 

Previous Page  1  2  3  4  Next Page 

Sign up for CIO Asia eNewsletters.