Creative Commons: http://www.flickr.com/photos/cyron/105110722/sizes/s/in/photostream/
In the movie Casino Royale James Bond chases a villain up into the scaffolding of a tall crane. It makes for amazing cinematography, a great fight, and heightens (no pun intended) a scene that would have been a relatively standard bar room brawl. But the chase and fight didn’t start there. They started somewhere below and they worked their way there. As it turns out logical arguments, which hopefully have less blood and risk than physical fights, need to be restrained to the lowest possible point of agreement. Otherwise it’s like having a fight on a crane that is floating in mid-air. Since that doesn’t exist outside of the Matrix, let’s assume that’s either not possible or a bad idea.
Opera is a business. Business offer users/customers/beings/entities solutions. But they do that based on a business model. In the excellent book “Running Lean” the auther, Ash Maurya, points out that the business model is what the company is actually selling. Whatever the solution may be, it is based on the business model. If the business model is stable, and a workable business, then the solution can be discarded as time requires it and paradigms shift and a new solution can be put in place on top of the business model. Opera just changed their solution, but not their business model. The jump to webkit is based on offering a solution that they think is viable based on their business model. That’s good business sense.
Web developers are assuming that this change is based on some weird desire to kill the Internet, or destroy diversity. This is a bit presumptuous. If anything my 13 years in the industry has taught me it is that diversity fails to go away. For the sake of argument when I went to BD Conf and saw a wide range of qualified speakers deliver presentations on web development they complained consistently that just because someone had Android and Android had a webkit based browser you couldn’t assume anything. Why is that?
The answer is because every version of Android has its own twist from the handset vendor or the service provider. And then there are the old devices. Those don’t seem to go away. Partially because of two year contracts and hand-me-downs, and partially because some phones work ‘well enough’ for users and they don’t care; But they DO want your website to work on their mobile devices. Many, many devices work with Opera Mobile or Opera Mini and those users take for granted that sites will be workable. Except that over and over again I see developers only testing on iOS or Android and calling it good enough. You can’t gripe about the philosophy of this business change from Opera if you are only paying them lip service. Use Opera on the desktop, the mobile, and even the Wii and test on it if you’re actually passionate about their solution offerings.
One last detail is this: RIM/BlackBerry [disclosure: they are my former employer] is using Chromium for their browsers and has been for a while. They are using the same code base, but they are not shipping the same code. How can their BB10 browser score higher on HTML5 tests if they are? Opera will not be shipping the identical code. They will ship variances. They will update on different cycles. They will do what their business model defines as a good procedure.
Don’t get angry at Opera and state that they’re ruining diversity – they’re not. They’re changing their solution based on the details of the business model, which you may not know specifically. They may have a really great reason to do so that has nothing to do with following Android, iOS or BlackBerry/RIM. Opera has long known it needs to differentiate itself in the market to stay alive and competitive – that’s a major part of their business model. We need to argue about more relevant things like which James Bond movie is best because unless we’re part of the leadership of a browser vendor who knows our business model, we really can’t call those shots anyway.
You’ll excuse me, though, I have to get back to writing backwards compatible, future friendly, cross-platform, web standards compliant code. Code that works in all the variations of WebKit.