Your browser may have trouble rendering this page. See supported browsers for more information.

This page shows the source for this entry, with WebCore formatting language tags and attributes highlighted.

Title

The Next Opera Next Browser

Description

<img attachment="opera_512x512.png" align="left">Opera started a public beta-testing program a few years ago called <i>Opera Next</i>. Whereas the stable version naturally moved along more slowly---but always rock-solid---Opera Next often had a more up-to-date HTML/CSS renderer (code-named Presto) and Javascript engine (code-named Carakan). Opera recently anounced that future versions---Opera Next <i>Next</i>---would be built on the WebKit HTML/CSS renderer and Google's open-source V8 Javascript engine instead. <h>Why is it good news?</h> This is, I think, good news for both Opera users and Opera as a company. <a href="http://www.brucelawson.co.uk/2013/opera-and-webkit-a-personal-perspective/" author="Bruce Lawson">Opera and WebKit: a personal perspective</a> is of the same mind, writing pragmatically that, <iq>Opera’s Presto engine was a means to an end</iq>. The browser landscape has changed significantly since IE dominated the world with over 90% market share in 2004. IE now has less than 50% worldwide browser share (desktop share is 54%), but Chrome and Firefox each have about 20% as well. Users for some sites, like Wikipedia, are divided up much more evenly between Chrome, Firefox and IE with Safari and Opera making up about 10%. The point is, that the browser market is considerably different than it once was---and all participants are actively working against documented W3C standards and specifications. Sure, there are still browser-specific CSS prefixes and some highly specific implementations (e.g. the file API from Google) but they mostly stick to a process and all browser vendors have input into an open process. And Gecko and WebKit code is open source. As Lawson puts it so well, <bq>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”.</bq> <h>Why WebKit?</h> All of which is why Lawson (he's the guy who wrote the press release for Opera's move to WebKit) writes, <bq>[i]t 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.</bq> The Trident code-base---the renderer for Microsoft's browsers---was and still is closed-source. While it has been much more actively developed in the last couple of years, back in the bad old days of IE6, the code base was stagnant, lacked innovation and had little to no standards support. WebKit is certainly not any of these things. If you follow the <a href="https://www.webkit.org/blog/">WebKit changelogs</a>, it's clear that the majority of changes are to implement an HTML5 feature or to improve performance or to use less memory for common tasks. This is a vibrant, highly active and open-source project with developers from at least two large development teams---Apple and Google---actively contributing to it.<fn> Opera adding their cadre of excellent engineers to the mix can only be a good thing---for everyone involved. They've already written that they plan to port their superior HTML5 forms support to WebKit, a very useful feature on which other participants were <a href="http://caniuse.com/#search=forms" source="Can I Use?">dragging their feet.</a> <h>Running just to stay in place</h> A while back, Opera made a valiant attempt to get the whole browser running in a hardware-accelerated mode and almost made it, but had to pull back just before release because of stability issues on some machines. The mode is still there if you want to enable it. Flow layout is great and WebGL also made it in, but the implementation lagged. As did many other features. While Opera was first to implement a few features---like HTML Forms or their excellent SVG support---they were having trouble keeping up and implementing every working draft and standard. I wonder whether the Opera dev team took a look at the <a href="http://caniuse.com/#compare=chrome+26,opera+12.5">Comparison on Opera vs. Chrome</a> and despaired of ever catching up. For the first 3/4 of the page, Opera and Chrome are dead-even. And then things go downhill for Opera from there: 3D Transforms, filter effects, masks, touch events, border images, device-orientation events. These are all things that are standardized (working drafts anyway) and that I have used---or wanted to use---in current web projects. They probably had to make hard choices about where to invest their time, energy and money. Some have tried to argue that the departure of the Presto engine will adversely affect standards acceptance. The article <a href="http://arstechnica.com/information-technology/2013/02/hey-presto-opera-switches-to-webkit" source="Ars Technica" author="Peter Bright">Hey Presto, Opera switches to WebKit</a> writes the following: <bq>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 [...] felt that asking Web developers to stick to standards was [...] 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.</bq> The developers over which Opera had influence were most likely already coding to standards. The move to WebKit isn't going to change any of that. Opera's 2% of the market was not enough to even get any developers to test with it, and many products clearly got managerial approval to just stick an <c>if (Opera) { fail(); }</c> statement in their web sites to prevent their site from appearing buggy in an untested browser. It's hard to see how Opera's move will change standards development or acceptance. <h>Why Opera?</h> I don't think that most users chose Opera because of its renderer. In all honesty, there were very few cases where Opera rendered a site better than other browsers---and enough examples where Opera did not render as well, whether due to missing functionality or deliberate crippling by the site. <h>Innovation</h> Opera has led the way with many non-renderer innovations. <ul> Tabbed browsing Speed dial Browsing sessions (tabs+history) Popup blocking Restart from last browsing session (with history) Mouse gestures Searchable window list (essential when dozens or hundreds of tabs are open) </ul> These features were all pioneered by Opera and many have since been adopted by other major browsers (either natively or through extensions). It's certainly a good thing to think that the development team that brought you these innovations and features will be spending less time on HTML5 minutiae and more time on browser features like these. <h>Performance</h> Among many of its users, the Opera browser is renowned for more prosaic "features": it's a fast, lightweight browser which can handle a ridiculous number of open tabs, opening from a cold start in seconds. It is also very stable, rock-solid in non-test releases. On top of that, Opera has, hands down, the smartest and fastest history-navigation and caching implementation out there. It's the first thing colleagues notice when they try Opera: the perceived back-and-forth navigation speed is much better. <h>Other features</h> In no particular order, here are some other features I find useful (or have used in the past): <ul> I've found Opera Link to be very useful to synchronize installations. I use the customizable search providers a lot and like that I can toggle between them with a keyword I don't make a lot of modifications, but I appreciate the highly customizable user interface for a tool in which I spend so much time. Ditto for the newsfeed reader, which is one of my main research tools. Site-specific preferences are useful, bookmarks and notes (both synced via Link) as well I've used the integrated torrent client in the past. Ditto for the mail client, which I used only briefly for mail (it's the same client as the newsfeed reader, so I use the interface---just not for mail) I never used widgets much, (almost) never used the IRC client, never used Unity (except to play around at the beginning) and haven't used the news reader in years but used to rely on it quite a bit. I only recently switched from the built-in password manager to the LastPass extension, I used to use the build-in content blocker more aggressively but now much less I never see popups, so that must be working. I wouldn't want to browse without plugins-on-demand or fit-to-width or user-CSS-only mode for really ugly pages. You can add your own Javascript and CSS to all sites or individual sites. It's a tiny browser, but has so many settings, configurable via opera:config. You can also browse and configure your application caches, local databases, etc. Accessibility support is well ahead of the other browsers, with integrated voice, color schemes and have I mentioned that <i>everything is configurable</i>? As a developer, I think the Dragonfly style-inspection, element-selection (guides!) and profiling are all better in Opera than in the major competitors. In networking, they've been at the forefront with pipelining support, Opera Turbo for slow connections and SPDY </ul> This isn't meant to convince anyone; I just felt like listing the features for which I use Opera that really have nothing to do with the renderer or Javascript engine. I, for one, am looking forward to seeing what Opera does with its newfound time and energy.<fn> <hr> <ft>The Chrome team has a stated goal of pushing changes in Chromium back upstream to the WebKit main line. Apple has historically done a lot of this as well. I'm not sure what the situation is now, so take my statement with a grain of salt.</ft> <ft>This is not to say that I haven't considered the possibility that Opera will, instead of moving the high-level dev staff to working on WebKit patches, simply drop them from the staff in order to save money. Their press release didn't indicate that they were slimming down, but then it wouldn't, would it? Time will tell.</ft>