Biz & IT —

Hey Presto, Opera switches to WebKit

Opera's browsers will now be based on Google Chromium.

Norwegian browser developer Opera has announced that it is going to end the use of its own rendering engine, Presto. Over the course of 2013 the company will switch its browser products to use WebKit, the rendering engine used in Apple's Safari and Google's Chrome. Specifically, Opera says that it will base future software on Chromium, Google's open source project that contains most, but not all, of the code used in Chrome.

Opera will show a preview of its first Chromium-based smartphone browser at Mobile World Congress in Barcelona later this month.

The browser company, which boasts of having 300 million users, says that it has already made its first contribution to WebKit: a set of patches to make WebKit's handling of CSS columns as capable as Presto's.

Opera's announcement didn't provide any explicit reason for switching. Opera CTO Håkon Wium Lie said that WebKit had good support for standards and good performance, but the same is true of Presto. Opera has stuck it out with its own engine for this long; why switch now?

While unstated, the reason is likely to be the growing WebKit monoculture, especially on the mobile platforms where Opera is most widely used. Android and iOS both use WebKit-powered browsers. Content on the mobile Web is widely designed for WebKit alone, and many sites depend explicitly on WebKit-proprietary features. This is often the case even when standard, browser-independent equivalent features are available. The result of this is that Opera users can be left behind, faced with sites that don't display correctly—even though, with a modicum of care and attention on the part of Web developers, the content should work fine.

Opera could have gone the route that Microsoft has chosen, trying to educate Web developers and providing tools to make cross-platform testing and development easier, but perhaps the company was familiar with Norwegian king Cnut the Great's demand to the tide that it cease rising, and felt that asking Web developers to stick to standards was similarly futile. Historically, the company has tried to do just this, but its success at influencing real Web developers has been limited; for all the emphasis placed on standards, many developers don't, in practice, care about them.

Mozilla developer Robert O'Callahan expressed disappointment with Opera's decision, saying that it was a "sad day for the Web" and suggesting that Opera might find its ability to influence Web standards reduced. He also said that it makes Mozilla's job harder, as that group too is endeavoring to promote Web standards over "coding to Webkit."

The decision also called to mind the blog post made a year ago by Daniel Glazman, co-chair of the World Wide Web Consortium's CSS Working Group, imploring developers to use standards and not make WebKit and its features a monopoly.

I was a promiscuous Opera loyalist, using many browsers, but always using Opera as my main browser. I even paid for it before it became free. The UI was brilliantly flexible and there were a couple of great skins. However, around version 10, they had added too much cruft to the UI that I had to remove after each major update and I just started to use Chrome all the time, especially as the address bar search became more useful. I often wondered how the Chrome devs almost read my mind as to how I had set up my Opera UI.

Well this is a bummer. Not that WebKit isnt a good rendering engine, but it means Opera has basically thrown in the towel. It will be nice for web developers to have one less browsing engine to code for.

This seems like a smart move. Few of Opera's users use it because they care about the underlying technology - they use it because they liked the features. They can now focus on that while expending a ton less resources keeping up with the increasingly complex task of maintaining a modern web layout engine.

I was a fervent opera supporter for years, but ultimately when the software can't do what you need it to on a daily basis who cares why - it becomes time to switch.

I was a promiscuous Opera loyalist, using many browsers, but always using Opera as my main browser. I even paid for it before it became free. The UI was brilliantly flexible and there were a couple of great skins. However, around version 10, they had added too much cruft to the UI that I had to remove after each major update and I just started to use Chrome all the time, especially as the address bar search became more useful. I often wondered how the Chrome devs almost read my mind as to how I had set up my Opera UI.

As a decade+ Opera loyalist I've found the amount of fiddling I've had to with default UI options has been going down for years; I think it's been a few years since the last major update that made me go "WTF! How do I turn this bit off!". They appear to have gotten over the urge to come up with weird UI things to differentiate themselves a while back, and I've been using more or less the same navigation buttons + separate URL and search box configuration for the last half dozen years.

i don't understand why people keep saying this. for users nothing will change, the same great features and looks will remain, the change takes place under the hood. presto has never been a key-feature, those are more likely turbo, the integrated mail and torrent client, the tweakability, etc - all of that is there to stay. actually, i welcome the switch to v8 as javascript engine, opera's own carakan has been leaping behind for years - and face it, javascript has been in the main focus of most browser developers, that's where the improvements took place lately.

personally, i'm not unhappy with the move. apart from legacy ie, opera was the only browser (for me) that created problems rendering html properly. also, i don't share fears that webkit will become *the* dominant platform. for once there are lots of differences within webkit alone (see below), and of course it is -unlike presto or any other part of opera- open source and the developers behind the webkit are big time competitors with different interest.

The critical difference is that WebKit is an open source project with many eyes and contributor across corporate boundaries. That makes it fundamentally superior to Trident and the like.

The dangers of a monoculture are worth noting, for sure. But from a web developer's perspective, coding to WebKit makes a hell of a lot of sense, and it's pretty clearly the best rendering engine at this point.

Similarly, V8 is open source, and arguaby the best JavaScript engine. I wouldn't mind seeing V8 gain adoption in other browsers. You can make fuzzy comparisons to IE all you want, but WebKit and V8 offer measurable improvements for web developers. As long as these tools are actively contributed to from outside their host companies, I think their adoption is a net win for the web.

Having just started getting into web development myself I've been more than slightly miffed at having to figure out why things aren't working across all browsers. I'm doing all my testing with Chrome and the results I'm getting look outstanding on Chorome/Safari/iOS/Android. So for a newbie like me this is great because I can build once and rest assured that a good portion of users are covered.

Monoculture. People start designing for one rending engine instead of the standards.

That's like saying that it's a bad idea for almost all cars to be built to run off of 87 octane gasoline. The notion that everyone is using the same solution for a given task isn't always a bad thing.

Except when those in charge of the solution start deviating from the standards, of course.

Gasoline/petrol in this analogy, along with tyres and other consumables are more like the source code that goes into your browser. The rendering engine/JS engine is more like the drivetrain/suspension/floorpan. Some floorpans, engines and components work across a range of vehicles, but there is no one-size fits all and sometimes you can have a competitive advantage by having something different.

So basically all those hundreds of -o- css prefixes I added to our website code to keep Opera users happy was basically pointless then?I don't even use Opera and this change makes me annoyed.

But you already did the work so why are you complaining? Technology marches on. It's as if someone on the board here was complaining with v.10 of IE because they did a lot of work for IE 5 and they can't be bothered to update their code. For newbies like myself this news is a godsend because it really helps shorten testing and removes a lot of headaches. If only IE could come on board we'd be all set.

I believe Opera will keep all this stuff. Remember how WebKit became way better because Google started using it? I'm hoping Opera using WebKit will be similarly awesome. Also see John Resig's post linked above.

I'm seriously disappointed with your move here Opera. One of your claimed strengths is that you have always coded your own libraries and then coded your browser atop them claiming a 10% or better improvement in performance. You've developed browsers for devices before there was mainstream excitement about smart this and that. I've used your browser on my Nintendo DS and Wii too.

I've been an occasional user of Opera for a long time, since I believe they went free with an ad supported version of the browser. Yes I use Chrome nearly exclusively, but that's because it seems to have the fastest display of Java sites, and the speed of display of Java is essential to my work, even a wasted 50-100ms matter. I used Opera too on my Nexus One and RAZR 2 V8m, it was amazing what that ancient phone could do with Opera before smartphones became mainstream, from properly rendering desktop websites, to streaming video and internet radio. I remember you Opera "accidentally" breaking through the great firewall in China when you accelerated websites. Good job there.

This decision, it feels like your death Opera. How can I put it any other way, this takes away nearly every reason I had to care about you and what you did. Webkit is great, but multiple independent browsers are needed to maintain the balance of the web.

I have mixed feelings about this. I switched to Opera because I don't trust Google. Version 12 of Opera hasn't been great--slow start up times being the biggest issue. So if I can have the privacy of Opera with some of the speed improvements of Chrome, Opera may provide the best of both worlds.

As a long-time web developer and someone who paid for Opera licenses back in the day, I'm amused by the vocal Opera support today: where was all of that energy when it came to making websites compatible with Opera?

I see this as slightly disappointing but ultimately pragmatic decision: no matter the merits, Opera has failed to catch enough developer mindshare to fund a competitive browser engine. WebKit is a thriving open-source project and it seems more likely that they'll be able to innovate on top of it faster without having to do all of the incredibly expensive development, testing and optimization for an entire browser engine simply to have a comparable starting position when building something new. It's easy to underestimate just how much work it requires to stay in the game and Opera is by far the smallest competitor in that field. See https://docs.google.com/presentation/pu ... hLm2Gi__F0 if you don't have a complete understanding of what a modern browser stack has to do.

On the subject of compatibility, I would argue that they'd accomplish more working on some sort of auditing feature which allows sites to work as users expect but reports when a site is either needlessly using now-standardized CSS features with -webkit- prefixes or has -webkit- without compatibility fallbacks and aggregating the results for site owners, toolkit developers, etc. Users who get an inadequate experience are just going to switch to a different browser anyway so there's no point in trying to force the issue at that level.

This makes me sad. I am hopeful that it will mean they can focus their resources on what they do best - interface, configuration, and customization - but history suggests that these sorts of moves rarely pan out that way.

Every time I fire up Chrome, I find myself somewhat lost - where are all the options I'm used to in Opera? My biggest fear is that this is what I'll be stuck with.

Monoculture. People start designing for one rending engine instead of the standards.

That's like saying that it's a bad idea for almost all cars to be built to run off of 87 octane gasoline. The notion that everyone is using the same solution for a given task isn't always a bad thing.

I think this is a good analogy.

I think that where the dominant platform is open source the need to have a standards based approach is greatly reduced. Anyone can work to make a more efficient WebKit browser, just like anyone can design a more efficient gasoline engine.

And in the case of Microsoft they can keep on trying to design something that runs on diesel (insert joke here about particulate pollution).

So please explain what Opera will offer now that it'll be a skin over the same rendering engine as Chrome and Safari? What is their business plan?

Remember: WebKit is what interprets HTML and CSS; V8 is what executes JavaScript. *Every* part of the browser which you actually interact with is separate – and a great area for innovation – and they have significant control over what's exposed to HTML, CSS and JavaScript or low-level plumbing like the network stack. Opera's selling point has mainly been their UI features – sure, it's not a slow browser but it's not notably faster than Chrome, Safari or Firefox – and they'll still have control to build almost everything they're doing now.

i don't understand why people keep saying this. for users nothing will change, the same great features and looks will remain, the change takes place under the hood. presto has never been a key-feature, those are more likely turbo, the integrated mail and torrent client, the tweakability, etc - all of that is there to stay. actually, i welcome the switch to v8 as javascript engine, opera's own carakan has been leaping behind for years - and face it, javascript has been in the main focus of most browser developers, that's where the improvements took place lately.

personally, i'm not unhappy with the move. apart from legacy ie, opera was the only browser (for me) that created problems rendering html properly. also, i don't share fears that webkit will become *the* dominant platform. for once there are lots of differences within webkit alone (see below), and of course it is -unlike presto or any other part of opera- open source and the developers behind the webkit are big time competitors with different interest.

Its not just about performance. One of the really nice things about Opera is its security. Now yes some of that is "perceived" security through obscurity. But I have had far less issues with it than other browsers in this regard.

Now that everybody and their mother is using WebKit, one zero day exploit is going to affect a large chunk of the web. Diversity is a good thing.

I've been using Opera since version 6, and am writing from Opera now. The decision is somewhat saddening, but makes a lot of sense to me. I use Opera because of the features and the UI. If they can swap out the web engine for WebKit without a significant degradation in experience (I'd expect some things would get better and others worse, but basically a wash), I genuinely don't see the incentive for them to keep pouring effort into Presto, and as a user, I won't be any worse off either. Before the browser wars heated up, their effort was rewarded by technical superiority, but now, it's only enough to keep pace. So why not switch? That's not a small if, though: I wonder how closely bound together Presto and the rest of their UI framework are. Do they have to rewrite big parts of the browser UI if they switch to WebKit? Or can they just swap out the part that renders web pages?

It is sad that a fully competitive browser engine, up to now on par with the rest of them in every respect, will all of a sudden stop evolving and die off. Maybe they could open source it? Not sure what the future prospects of that would be -- if the people who developed it don't keep developing it it's probably going to rot all the same -- but at least it wouldn't just fall off the face of the Earth. Would be a nice memorial, if nothing else. And what's the harm?