Originally Posted by anonymouse
So if I use the Documented APIs to open a socket to a remote server, then issue commands over that socket, which causes an external executable to interpret that command, return a result and then display the result on the screen, that's fine. Because that's all within the scope of the Documented APIs.
And that's *probably* (because I have no idea) the extent of what opera mini is doing, but based on similar implementation on other devices it's *probably* not too far off the mark.
Yes, I have carefully noted your comment that "Other browsers or apps with web views are fine because they go through Apple's Documented APIs and built-in interpreter(s)."
I'm not sure what you mean by built in interpreters. I mean, the Objective C language could be the built-in interpreter. An app is not written solely with API calls. Any data received has to be processed or interpreted. That's where the intelligence of the App comes into play and becomes a key differentiator between one app and another.
(EDIT: The entire sentence in the agreement is "No interpreted code may be downloaded or used in an Application except for code that is
interpreted and run by Apple's Documented APIs and built-in interpreter(s)." I doubt this would be happening in Opera Mini anyway.)
If an app uses solely the Provided APIs to render an outcome, then what does it matter if what it's rendering is a web page or a jpeg, or text, for that matter?
Take Flickr App for example. It makes calls to the Flickr Server and displays the results. It's permissible even though remote code is being executed on the Flickr server. As you say, that's fine because it's using Documented APIs.
DUPLICATES CORE FUNCTIONALITY. That's the only provision that Apple needs to lean on.