The case against Opera Mini on the iPhone
Thu, Feb 18, 10
In 2002, Apple forked KDE project’s HTML layout engine KHTML and JavaScript engine KJS into WebKit which begot Safari. As usual, everyone thought Apple was either evil or ignorant for not choosing Gecko, everyone’s favorite non-IE rendering engine at the time. Apple rejected Gecko because KHTML/KJS offered less code, cleaner design, excellent standards compliance and faster speed.
Through its sustained commitment for nearly a decade not just to WebKit but also to WHATWG, HTML5 and various complementary aspects of the open web (canvas, H.264, SVG, etc.) Apple gave the open web community an increasingly credible alternative to proprietary platforms like IE, Flash and Silverlight.
Today, in the mobile business, every major platform but Microsoft’s does (or soon will) run WebKit as its primary web browser. The open source WebKit would certainly not be where it is today without Apple.
To Apple, though, WebKit is not merely a web browser. It bet its rich web-media rendering future on WebKit. Every Internet-connected Apple device, and likely Apple TV soon, runs on it. Even for the usual Apple anti-fans, WebKit, specifically its iPhone instantiation, is still considered the best browser on a modern, multi-touch mobile device.
Now comes Opera, mini Me
With amateur-time spectacles in airports that would make Adobe Flash evangelists proud, Opera now is daring Apple to reject its Opera Mini browser which it hasn’t submitted yet to the App Store:
“Opera is not based upon WebKit, no” confirms [Opera co-founder] Tetzchner “but it’s the world’s most popular mobile browser. Why would Apple not want the world’s most popular browser on the iPhone?”
So what’s not to like about Opera Mini? It says “50 million rides” in the ad above, it must be “the world’s most popular mobile browser”? If that’s the case, Apple should reject Opera for not being good at math: there are already more than 50 million iPhones/iPod touches sold, everyone of which actually relies on WebKit as its sole browser. Let’s consider the serious issues:
Proxy. It’s one thing for an app on the iPhone to query the web, talk to its own or others’ servers, but something entirely different for Opera Mini to proxy the entire web through its own proprietary servers. Yes, you read it right. Opera gets in between you and every single URL out there, from your bank to your school to your doctor’s office. You never communicate with any site directly, only through Opera proxy servers that first go to that URL, get a page, recompile it into its own markup language, compress and send it back to the mobile client that alone can understand it.
Security. When visiting encrypted pages, you have to allow Opera to get in the middle to decrypt and re-encrypt (via Opera Software), breaking what’s meant to be an end-to-end security chain. You need to ask yourself if you need another potential opaque layer of insecurity between you and, say, your bank account?
Scalability. In introducing the iPhone’s Exchange facilities, Apple stressed how it was more secure and scalable for a distributed system to deliver email than to rely on a single point of failure, like RIM’s centralized NOC proxies for BlackBerry devices, which have infamously suffered multiple failures over a number of years. Now imagine Opera, a tiny outfit in comparison, having a similar fate, except taking down the entire web for its users.
JavaScript. Opera Mini 5, the version which we assume will be submitted to the App Store, is currently in preview and is not the more capable one that requires Java J2ME runtime which Apple will clearly not approve. Apple gets dinged for not delivering the full Internet by excluding Flash, and yet I bet the very same Apple anti-fans won’t say a word about Opera not even trying.
In addition to recompiling each and every web destination into its own markup language, Opera also deliberately dumbs down its JavaScript support. After Opera gets a page from the real server, its onLoad JavaScript events are fired, but all such scripts are allowed only two seconds, and, for example, all interval and setTimeout functions are disabled. So if the original page was doing something time-related or took more than two seconds, too bad, the original page is compiled, compressed and sent to the mobile device incomplete. Consequences be damned. When on the device, there are only four events allowed to trigger JavaScripts, onUnload, onSubmit, onChange, onClick. Enjoy your full Internet, the Opera way.
Opera Mini may be a huge step forward for dumb WAP phones, but for a company that bet its future on the rich interactive features of HTML5 and JavaScript in WebKit, this Operatic intrusion is clearly a giant step backwards.
Persistence. One of the key capabilities in HTML5 is local storage, which allows web sites/apps to store varying amounts of data on the client side for personalization, preferences, data, syncing and off-line capabilities. Coupled with emasculated JavaScript support, Opera is looking into the WAP past instead of the HTML5 future here.
Interface. Pictures of the proprietary Opera Mini are not being made available, but the company said that the browser does not include such fundamental UI conventions on the iPhone as pinch-zoom. Apple has bet its fortunes on establishing the world’s first pervasive multi-touch UI platform, from Mac trackpads to iPhones to iPads. As we argued here two years ago, it would have been a mistake to allow Flash on the iPhone because it had no concept of multi-touch, regardless of any other issue. Nearly 100 million iPhone/Mac users are now familiar with Apple’s multi-touch gesture library, it’d be a travesty to allow a tiny player with a marginal interest in this platform and no experience in gestural UIs to pollute it now.
Unknowns. There are many of them:
- Will OS-wide copy and paste work as expected in Opera Mini?
- Will it allow multiple text and graphic items to be selected and copied with formatting intact to other apps?
- Will bookmarklets such as Instapaper or ReadItLater work as expected?
- What will happen to Opera when more and more device-specific functionalities (like GPS, accelerometer, background notifications, etc.) are integrated into WebKit?
- Apple’s said to receive $100 million/year for including Google Search in Safari. How does Opera interfere with that revenue?
I could name many more unknowns, but the fundamental problem with Opera Mini is this: other than a few geeks who want everything because that’s what defines them, have you ever met an iPhone user who complained about its browser? Most iPhone users I know bought an iPhone primarily because they loved the browser on it. Sure, who wouldn’t want a faster browser? If the iPhone got 3X faster this summer, will people stop wanting it to be even faster? Of course not.
I have no idea if Apple will reject Opera. But before people start jumping up and down about how evil Apple is, I hope they consider some of the issues posed by Opera, because so far the only advantage they promise, but haven’t yet publicly delivered, is speed. And speed isn’t everything, if the Wintel saga hasn’t taught us anything else.
