Google announced today that it is creating a new rendering engine, dubbed Blink, for the popular but controversial browser engine WebKit that powers browsers such as Chrome and Apple's Safari. The move effectively "forks" WebKit, splitting up a common code base that Google and Apple, among others, had shared.
Blink will be an open source part of Google’s Chromium project, one intended to simplify the architecture of WebKit and provide transparency to Google’s work on the standard.
The move to create Blink has been in the works for several weeks, Google said. and originated among the engineers working on Google’s WebKit team. The problem was that the same WebKit code base supports different ports of WebKit, thus slowing everybody down. If Google were to have its own open source rendering engine, the pace of innovation could increase. Theoretically.
“It has gotten to a point now where we think everybody could move faster if we didn't have to share the same code base for these different architectures,” said Linus Upson, VP of engineering on Google’s Open Web Platform team. “There is some advantage to sharing the same code base and you get efficiency of scale from doing that but there is also the cost of supporting different browsers, different ports, different architectures.”
Addressing the WebKit Monoculture
Several weeks ago, browser maker Opera said that it was ditching its own custom-built rendering engine Presto and going to WebKit and Chromium. This caused a minor firestorm among Web developers, particularly those afraid that Web competing Web standards were going to be a thing of the past and the standard would become WebKit by default. The argument was that other rendering engines, like Mozilla’s Gecko for Firefox and Microsoft’s Trident for Internet Explorer, would get pushed out of the market, especially in mobile.
Also, if WebKit had a monopoly on the Web, upstart browser makers using different rendering engine standards could be stifled.
By creating Blink, Google wants to assure browser developers that it's addressing some of those concerns. Upson said:
One of the things is that a few weeks back when Opera said it was going to start using WebKit and Chromium, a number of people expressed concerns that people expressed that that the Web, particularly the mobile Web, was becoming a WebKit monoculture and in that kind of world standards wouldn't matter because it just one implementation, the implementation becomes the standard.
We think that by doing this, it will really help strengthen standards on the Internet and address those concerns that people raised a few weeks back.
Google is trying to be a good Web citizen with Blink. It has set stringent guidelines for new features and APIs that emphasize standards, transparency and interoperability. Competition is also a good thing, Google says, because multiple rendering engines, like multiple browsers, will spur innovation and improve the health of the open Web platform.
“Everything we are doing is going to be open source, so it won't change the way we do things on a day to day basis,” said Alex Komoroske, product manager on Google’s Open Web Platform team. “It is not going to change how we work with other browser vendors, standards bodies like the W3C and IETF an things like that. Much in the same way when we launched Chrome, we still have people today that contribute to Firefox and also we share a lot of open source code between Mozilla and Chrome.”
With Blink, Google has been able to eliminate some of the constraints created by the single code base in a multi-process architecture. This has enabled Upson and his team to rethink many of the old problems that Google’s engineers had not solved because of the previous limitations.
“Now that we have come to grips with it, we have been brainstorming our wish list for the architecture that can speed ability and performance,” Komoroske said.
Blink is a step in the road for Google and WebKit. The code base will not change on Day One. But it offers freedom to make changes that were engineers previously would not have considered.
“Now, with that constraint changed, I am seeing tons of ideas percolate up. I am not sure which ones are going to be meaningful and have a huge impact and which ones will just be minor improvements but just watching the mindset change has been different,” Upson said.
The danger comes from fragmentation. Too many cooks in the WebKit kitchen could create forks that make it harder for developers to create applications that are compatible across browsers. That is why Upson and Komoroske are stressing that Blink and Chromium will be compatible and that Google will be very transparent with the changes it makes.
Some developers are optimistic about Blink.
“I think competition is a healthy thing in this arena,” said Dave Wasmer, an engineer with Boston-based mobile cloud services provider Kinvey. “With Opera's move to WebKit, lots of people were concerned about stagnation if browsers coalesced around a single rendering engine. As always, it is a balancing act. Too much fragmentation and proprietary, non-standard features, and we've got Browser Wars: Round 2. But Android has certainly helped push Apple to make iOS even better, and competition in browsers can certainly help. Overall, like I said, I'm cautiously optimistic.”
Is Blink good for WebKit and the Web? Let us know your thoughts in the comments.
Top image courtesy Shutterstock