Opera Mini Not Rejected? [Updated]
This particular case, however, may not be entirely accurate according to further research by John Gruber.
My understanding, based on information from informed sources who do not wish to be identified because they were not authorized by their employers, is that Opera has developed an iPhone version of Opera Mini - but they haven't even submitted it to Apple, let alone had it be rejected.
In a nut, it works like this: You request a URL in Opera Mini. Opera Mini makes the request to a proxy server run by Opera. Opera's proxy server connects to the web server hosting the requested URL, and renders the page into an image. This image is then transmitted (in a proprietary format called OBML - Opera Binary Markup Language) to the Opera Mini client. Opera Mini displays the rendered image on screen. This may sound convoluted, but apparently the result is very effective - its faster to transmit, because only OBML (a compressed binary format) is transmitted to the mobile device over the phone network, and far faster to render on slow mobile processors.
However the current version of Opera's Mini browser for other platforms is coded using Java (and BREW) which is not supported on the iPhone and is against the terms of the SDK. In order for Opera Mini to be made officially available, the program would have to be ported to C/Objective-C.
Update: Upon further investigation, the differences between the New York Times and John Gruber's accountings may be based in semantics rather than substance.
An Opera employee blog seems to indicate that Apple is indeed using anti-competitive reasoning for keeping the Opera Mini browser off the iPhone. However, neither the employee's blog entry nor the New York Times article indicate that the browser was officially submitted to the App Store and rejected, the point to which Gruber took issue. It remains possible that Apple and Opera have been communicating via channels outside of the App Store submission process.