I expect by now you’ve heard that Opera (my employer for the last four and half years) has announced that its browsers will, in future, use the WebKit rendering engine. I wrote the announcement, and what follows here is my personal take on it. It’s on my personal blog precisely because it does not reflect the opinion of my employer, wife, kids or hamster.
Opera’s Presto engine was a means to an end; a means for a small, European browser company to challenge the dominance of companies who, at that time, hoped to “win” the web through embracing, extending and extinguishing web standards.
Presto showed that it was possible to make a better browser while supporting standards. Other vendors have followed this path; the world has changed.
These days, web standards aren’t a differentiator between browsers. Excellent standards support is a given in modern browsers. Attempting to compete on standards support is like opening a restaurant and putting a sign in the window saying “All our chefs wash their hands before handling food”.
Rendering engines are now highly interoperable – largely due to the progress commonly known as “HTML5″, begun by Opera in 2004, then joined by Mozilla, in order to protect the web from proprietary platforms, keep it open and promote interoperability.
It seems to me that WebKit simply isn’t the same as the competitors against which we fought, and its level of standards support and pace of development match those that Opera aspires to.
It isn’t run by a single organisation; a report on WebKit this month says “it is also noteworthy how the diversity of the project is increasing, with new players starting to show a significant activity.”
It therefore seems silly to compete against it. Instead, we’ll join and use our experience and resources to improve it further.
Although a small organisation, we’ve always played an active role in developing standards – CSS, Media Queries, HTML5, native video being high-profile examples. This is important to me; I’ve worked in my own small way for 10 years now to help protect and advance the web and want to work for an organisation that does too. So when it was announced internally that we would switch to WebKit, I worried that standards work might stop.
I asked the CEO and Engineering lead at an all-hands meeting if we will continue that work. They replied that we absolutely will continue to work on standards, and we’ll submit changes to advance WebKit. Our CTO, Hakon Wium Lie confirmed it by demonstrating internal WebKit builds that have some interesting new standards support. Today we contributed a small, symbolic patch that can bring all WebKit browsers’ CSS multi-column support to Presto’s level.
One rendering engine will go. Some lament that. Some of those who lament it seemed never to test in it, excluded it from their demos, or actively blocked it.
I’m both English and a man. That means I have no emotional life at all (so consider this carte blanche to be incredibly rude to me in the comments) but even with those two significant handicaps, I’ve found myself with a pang of regret that the Presto rendering engine will disappear. I’ve experienced that feeling before – eighteen months ago when having a final walk around the house that had been my family’s home for a decade, before getting into the car and following the removal van to the new home that we’d dreamed about.
Of course, a browser is much more than a rendering engine. Very few consumers of the web choose a browser because of its rendering engine – they just expect it to work. And if it doesn’t work as well as native apps, they’ll choose native apps.
Opera has 300 million active users —almost a third of a *billion* people— many of whom would otherwise have no access to the web. For many users around the world, a browser is more than a tool to browse the web. Sometimes it’s a school when you can afford none, sometimes it’s the only line to an outside world shut off by an oppressive regime.
The web needs to win. Browsers are highly interoperable, because all vendors know that if they’re not, they risk being overtaken by proprietary platforms. It used to be Flash and Silverlight that threatened the web. Today’s threats are proprietary app platforms and locked-in “eco-systems”. Tomorrow, new threats will rise.
Developers who care about the web will code to the standards, test across browsers and block none. We all want the same: we want the web platform to grow, to remain open, to become ubiquitous by being the no-brainer development platform of choice for all.