Strange things are afoot. 20 days ago, Opera submitted the iPhone version of Opera Mini, their mobile browser, to the Apple AppStore. 20 days later, it was actually approved, despite previous browser technologies and the like being rejected for "duplicating iPhone functionality". Strange indeed.
Having used Opera Mini before on many different devices, both touchscreen and traditional keypad based, I have long appreciated its raw speed, excellent rendering engine and intuitive navigation controls. But can it stand up to Safari on iPhone for browsing excellence? The answer: sort of.
Like its predecessors, Opera Mini for iPhone is blazingly fast. Using Opera's own proxies, web content is compressed to within an inch of its life to reduce bandwidth requirements, and the browser itself renders what it downloads so fast that the likes of Safari just can't keep up. Even on a GPRS only connection it is almost as fast as Safari on 3G for largely text based pages.
There are some other niceties to go with this incredible speed. The now ubiquitous, oft replicated Opera dashboard being one. Having all your favourite sites pop up at startup, or in new tabs, is a great way to get past the rather utilitarian interface of Safari and make it into an efficient web browsing product.
A new full screen mode is available that strips away the toolbars, leaving just the content. This is very useful because Opera Mini does take up somewhat more screen real estate than Safari due to the way the page titles and URL bar are rendered.
Another throwback to previous incarnations of the browser is the "small screen" rendering mode. This attempts to interpret and convert the HTML to prevent space hogging sites from scrolling off the sides of the device. It works relatively well, although sites with side bars can end up requiring a lot of scrolling to get to the content when there are a mass of links at the top of the document. Theoretically, though, this mode should be pretty much obsolete. The zoomable, multi-directional scrollable, large screen interface of the iPhone should make large pages easy to navigate, right?
The famous Opera rendering engine looks very nice. When it's zoomed to 100% size. Small than that, though, and it's quite literally an unreadable mass of roughly text-shaped blobs. Compare the BBC News homepage on Safari and Opera when zoomed out to show the whole page. Safari has readable headlines and, if not readable, then at least recognisable subheadings. It makes an effort to render actual text. Opera, on the other hand, does not. It replaces all text with fuzzy blobs, making navigating the page impossible until you zoom right in.
And zoom right in is all you can do. Even the multitouch pinch-zoom doesn't work as expected. There are exactly 2 zoom levels. Entire page, or full size. Full size looks nice, but there's just not enough of the page visible to make it possible to navigate around. It's like trying to navigate a complex maze while looking through a toilet roll tube. Suppose we want to zoom in on just the central column on content to be able to read the text without necessarily committing to any one small area of the page.
The iPhone handles this nicely. A double-tap to zoom in, and a bit of pinch zoom to reveal the exact area required. Perfectly readable. Opera, we pinch-zoom and ... oh. Well, we can see part of the text, but now we have to scroll around to see what we're looking at.
An interesting thing to notice is that the two browsers have different content, despite being loaded at pretty much the same time. This is because the Safari version of BBC News is the UK page, whereas Opera got the "international" version because the proxy is located in the US. Location aware apps (even Google, which tries to give you local results) will be affected by this rather subtle oversight.
There are some other UI nasties in there to get you. Elastic scroll is simply not implemented, so scrolling quickly to the top of the page just stops dead without the characteristic "bounce" implemented in the iPhone SDK. Kinetic scrolling also uses Opera's own UI toolkit so feels subtley different to every other iPhone app. Flicking the page to scroll fast feels "muddy" somehow. It scrolls fast, but stops too quickly and too suddenly. Scrolling large pages takes far more "flicks" than in other apps.
Tabbed browsing is implemented in a pretty nice way, with a preview-based tab bar popping up at the bottom of the screen and giving and almost CoverFlow like view of the open tabs. Unfortunately, I have got quite used to the full screen previews presented by Safari which I find more like turning pages in a book than switching between tabs. Opera only shows a preview of the top left corner of the screen. It's nice, and feels quick in use, although I get the impression that it's a perception rather than any real speed increase over Safari's method due to the UI's immediacy.
So in the end, how does Opera stack up as the iPhone's second browser? Pretty well, if you consider it as an alternative to, rather than a replacement of, Safari. The browsing experience of Safari is far and away better than that of Opera, but Opera has it beat on raw speed. If I want to search for something, look something up, or just idle my time away while stuck somewhere that doesn't have a decent 3G signal, Opera Mini is there to help. For everything else, there's Safari.