Generated Content by David Storey

Hey -o-, let’s go!

So the news we were all dreading came to pass. Opera will drop Presto, in favour of WebKit. Four becomes Three. Only one browser engine remains where the dominant contributions come from an independent vendor who don’t have a vested interest in a large native ecosystem. What does this mean for Opera, and the Web at large?

I Fought the Law, and the Law Won

This move is Opera throwing in the towel. It is saying “WebKit has become too dominant (specifically on mobile), and we can’t compete”. Think about that for a second. It isn’t viable to have an independently developed browser engine in 2013. No matter that you have some of the best developers in the industry, and great industry influence.

While many will say Opera’s influence is negligible, think back to the biggest changes in the history of the Web over the last few years. Moving from HTML to CSS based layouts? Opera was perhaps the first to have a useable CSS engine. Håkon (father of CSS, and Opera CTO) often says it was the reason he started to believe a browser could be made in Norway, not just the USA, and joined Opera. AJAX? Opera reverse engineered this from MS’ ActiveX based approach and were the spec editors through Anne van Kesteren. HTML5? Started at Opera with Ian Hickson and others. Responsive web design? Media Queries came from Opera, and were implemented for years before showing up in other browsers. What about native video on the Web? Opera again.

Should I Stay or Should I Go?

But why did it come to this? What pushed Opera over the edge, and made it decide to become a bit part player in the increasingly crowded WebKit fraternity, rather than be in control of its own destiny with its own engine? I think it is clear from previous moves from Opera. It had to change its user agent string to hide the true version due to sites not working when moving to a two digit version number. Faulty browser sniffing. It had to add support for -webkit- properties. Browser engine mono-culture on mobile (and even desktop in some cutting edge sites). I could go on.

I have first hand knowledge of browser compatibility work inside Opera, and it was always like being a salmon swimming against the tide. That we have standards is a bit of a fallacy. Devs used to code for only IE, then Firefox came along, and you had a IE path and a standards path. Except the standards path was basically a Firefox path, bugs and all. So you had to emulate Firefox. Or if the standards path worked, you had to beg the developer to give it to Opera, as they browser sniffed anyway. Then WebKit became the apple of the developer’s eye, and there becomes a proliferation of -webkit- only prefixes without fallback or regard for other browsers. Opera just wasn’t big enough in the right markets to weigh on developers minds. Unless it did something that was perceived to be wrong, then it was suddenly important.

Faced with that situation you can continue to swim against the tide, or say screw it and join the path of least resistance. I’m sorry to say, but we’ve all failed the Web, as this is WebKit not Web Standards. That is just the market reality.

Opera had to do what was best for their users (and shareholders), and let’s face it, except for the power users–of which Opera has many–the user has no idea what engine the browser is using, and shouldn’t need to care. Most will be none the wiser after the switch. Except less of their sites will block them from using it, and more of the shoddily built sites (of which most top sites are in one way or another) will just start working. Yey standards WebKit!

Armageddon time

Opera failed, I failed in my dev rel and web compatibility role. Influential developers failed to fully comprehend or care about the situation. The W3C failed. Other non-WebKit vendors failed. There is no point in pointing fingers. We all failed in some capacity. We all need to do better, starting today.

Death or Glory?

So what does this mean for Opera? Is it bad for Opera? Not necessarily. I think it could be very good for them. Even though they have over 300 million users, there is a lot of user churn. I guess we’ll finally find out if those not sticking around was because of compatibility issues or because of the product itself. There are no longer any excuses to hide behind. And some argue Opera is becoming an ad company rather than a browser vendor anyway.

On the other hand, its influence may wane somewhat. People in Opera used to often not count a browser as a browser if it was only a shell around another engine. Opera on iOS will certainly be this. On other platforms it remains to be seen if Opera will more passively just use Chromium and focus its efforts on value added features, or if it will actively add standards features with as much gusto as it does with Presto. Will WebKit give Opera the respect it deserves, or will it be like other vendors that struggle to get its patches into trunk?

What happens if Opera wants to go in a different direction to Google and Apple? It can create its own fork, but then it starts to become less compatible over time. It doesn’t have the influence of a Google to get away with that, and it removes the reasons to move to WebKit in the first place.

Four horsemen

What does it mean for the Web? We used to have a multitude of engines on the web. Hands up who remembers the iCab engine? Assimilated into WebKit. UC Web? Ditto. NetFront. You guessed it. BlackBerry, OmniWeb, the list seems almost endless. We ended up with four major engines, and now we have three.

Competition breeds innovation. You can trace the performance race back to the early stated goals of WebKit to always improve performance. What wasn’t shown on the Keynote slides was that Opera used to be leagues ahead in terms of performance at the time. WebKit and Apple used it as the standard which to beat. I have fond memories of the ACID tests and the friendly rivalry between WebKit and Opera on who would pass it first. People thought of this as browser grandstanding. But it motivated browser developers to work that little bit harder to fix complex bugs, improve rendering, and speed up the browser. As quickly as possible. When developers smelt victory they’d spend extra hours in the office getting that extra 1%. It was kind of like the olympics for browser geeks. Competition driving standards compliance. If WebKit wins out in the end, where will be the competition? Who gets their patch landed before another one?

There can even be competition between alternative proposals for solving a particular issue. This can cause comptibility issues, but can also lead to better APIs overall. Will there be less incentives if everyone ends up working on the same engine? That is hard to tell.

Three card trick

But, currently we’re down to three, not one. We have to hope that Mozilla and IE stick to their guns. Because right now the W3C requires two interoperable implementations for something to become a standard. That now becomes two thirds of implementations. If we lose another engine, one effectively has veto power. WebKit effectively has that now anyway on mobile, where once Opera switches over the Opera Mini backend to WebKit, it is rounding errors away from complete domination.

Gates of the West

Developers often claimed WebKit was the only relevant engine on mobile already. But it never was. With Opera Mini holding the top spot for a long time, and still being hugely dominant in countries such as India and Russia, this was just a wealthy western web viewpoint rather than a global viewpoint. True, for their use case no other engine might have mattered (except the lock in they were creating to create friction against change in the future, just like the IE6 days…), but there were many developers in the world where this was not the case. Could any developer in Russia or India only develop for iPhone and Android? I doubt it.

But this western viewpoint caused a multitude of issues for Opera, that effectively blocked its influence in developing markets to spread westwards, and down under. And, thus the play you see unfold today.

Last gang in town

So now, the torch is passed to Mozilla and Microsoft, as on the 13th day Opera become the Judas in the battle to avoid mobile monoculture. Microsoft becoming a saviour of the Web? It looked unlikely during the dark ages IE6 years, but they might just have become our best hope. They have the resources to put up a fight for feature parity with WebKit, and mobile OS marketshare with Windows Phone, plus Windows 8 puts the spanner in the works, as any desktop can become a touch platform. I know I’ll be cheering them on.

Mozilla were very late to the mobile party, and that is reflected in its tiny mobile market share. It may have needed Opera to stay strong more that it would care to admit. I was always disappointed Opera and Mozilla couldn’t co-operate more, and the trolling that came from certain corners. They both have shared goals for the most part. I think Mozilla saw web compatibility as an Opera problem, until it entered the mobile world and got hit with it themselves. The same mistake can’t happen twice. Mozilla and Microsoft really need to get talking on how to combat the WebKit threat. Especially now it can move even faster forward if Opera developers also contribute to the engine codebase. We can’t afford only one superpower, with the W3C relegated to the role of the UN.

I really worry for what this move means for the W3C long term.

I’m so bored with the USA

But, back to Opera again. Are there any hidden meanings in the announcement today? Could Opera be primed for a take over? A number of people lost their jobs (I’ve no idea how many, but a big chunk of my old team, and there are a lot of new faces on the Opera Alumni Facebook group). A move like this was always going to have human tragedy. Could they be “cutting the fat” before a takeover? There have been so many rumours over the years, but the former CEO never wanted to sell. Now the company is run by a sales guy.

WebKit developers are in major short supply. I remember the difficulty we had attracting and keeping WebKit talent at Motorola, and how hard Adobe are looking for developers. Opera (if they don’t eventually lay them off) have a large number of very talented browser engine developers, who know the specs inside out, and are in many cases on W3C working groups. These are transferable skills to the world of WebKit. If Opera gets any sort of influence in the WebKit community, they may just become a more valuable takeover target, and surely more bang for your buck than an Instagram.

Many people speculate about Facebook. Adobe could perhaps be an option. My dark horse prediction is Yandex.

Rudi can’t fail

We need to learn from the mistakes of the past. The Web is too important to stagnate again or to be held ransom to the politics and design goals of one single code base and project. The TAG at the W3C have just had a fresh injection of elected talent. Let’s not hand the keys to the WebKit project maintainers instead. Nothing against them at all; they’re great people. Just, diversity of opinion is one of the things that make the web great. And it is not just for people like us, that can afford shiny new iPhones. It is for the farmer in Africa, the factory worker in Bangladesh, the growing middle-class in China. Everybody. Diversity in the standards process tends to help with keeping these goals in mind.

Here Today, Gone Tomorrow

As well as a reduction in the gene pool of web rendering engines, there is a very human sadness with this move. I’ve no idea how many people lost their livelihoods with the move, but at least a bunch of my old team in Opera DevRel and people in the standards team. I hope people that wished Opera would go away and become bankrupt are happy with that news.

I’m not even sure the DevRel team I founded and helped to build still exists. In many ways it was like my baby, that I stepped away from to watch it grow up. It was, I believe, the first developer relations team focused on web technology. I fondly remember Andy Budd saying at @Media that he wished other vendors would take an active interest in the concerns of developers like Opera did (or words to that effect). The CEO of YouTube said something similar when working with them on Opera compatibility, before it became a Google concern.

We hired some amazing people, who were foremost web people, not marketeers or from other platforms. We understood the web, cared for the web, and fought for the web. We had a diversity in the team that would make a conference organiser green with envy. Not just male and female (although at one time we had more female dev rel in North America than male), but, a rainbow of races, creeds, social backgrounds, religions, what have you. It was like the United Nations, without the arguments, and much more inappropriate humour. It was a global second family (as was Opera at a whole), but I’m glad to say, every single one was hired because they were the best person for the job, not because of what was between their legs, or any other physical characteristic. I hope those that left today find a job in the web, as they’ll be missed otherwise.

We might not have ultimately succeeded in keeping the web open, but there will be a lasting influence. Every browser vendor now has its own developer relations team. Something we perhaps can‘t claim credit for, but at least influenced in a meaningful way. Many of those in Opera and the other vendor‘s DevRel teams have become active in improving the health of the web community, and members of working groups defining the standards we use every day. If that is my lasting legacy on the web, then it is at least something.

I Believe In Miracles

The best that can come of this? Maybe Opera will eventually open up the Presto codebase. Let it enjoy its twilight years in the sun. I don’t suspect it can survive without corporate backing, but there is a lot to learn from.

  1. aznburger reblogged this from dstorey
  2. seanmonstar reblogged this from dstorey and added:
    thorough breakdown...why Opera’s switch
  3. stereojam reblogged this from dstorey and added:
    on operas switch to WebKit and more
  4. dstorey posted this