iPhone App Directory

What does "do not download any code" mean?

I've been wondering about since yesterday, and Manmio's tweets about submitting a C64 version with BASIC made me wonder even more about this section of Apple's new developer agreement:

In particular, we are relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code. This should give developers the flexibility they want, while preserving the security we need.

So what does it mean "do not download any code"?

Does that mean we might finally see some fun little development tools on the iPhone? Things like iziBasic and ViziBasic for the old Palm OS? Maybe Processing on the iPhone?

What do you think? 

9 comments:

Pierre said...

I would love to see development tools available directly on the iPhone. That would appeal to me enormously!

Having said this, it would certainly be interesting to have BASIC for the C64 app, but I'm not certain what I would do with it. I can't quite imagine writing my own basic programs, line by line on that little screen!

Pierre

ashley said...

Yeah I know what you mean about the screen size, but running on an iPad ... now there's a thought

Anonymous said...

I'm still wondering...i still don't understand that line... what does that mean... download what code? Doesn't the code on that level has to be complied before it can function properly... i could understand if they said download executable or something or some sort of triggering script that would cause problems...

Anonymous said...

Doesn't it simply imply that the app won't need to d/l any further code from the web post-installation that should enable it to function. In other words, no code from a remote (web-based) source that will inhibit or enhance the apps functionality, or allow for any involuntary alteration to the apps functionality. Basically, what Apples app approval team see is what the end user gets - there's nothing added, or nothing taken away that can't be unmasked within the compiled app through an in app purchase of extended features/levels or through performance related achievements. By and large I think it's simply a case of Apple insisting that there are no violations of the iDevice's security through unsolicited scripts or executables.

Unknown said...

Damn good question

Richard Lawler said...

It is really not very complicated.

Apple does not allow apps that can add functionality or run other programs either imported from another source or authored within an app on the iDevice.

That means apps may not download, copy or install code through plugins, scripts or any other mechanism such as a file or binary module.

As an example Flash-for-iPhone (AIR) apps may not download and run other Flash SWF files. In contrast AIR for Android does allow apps to download other Flash SWFs.

A general purpose BASIC or Python interpreter would not be allowed since it would clearly be able to download or import scripts or programs.

I suspect Apple wants to prevent any possible "meta-platform" that bypasses the App Store approval process and vending mechanism.

The one exception they allow is Javascript code which they allow to be downloaded and executed in iOS Safari/Webkit.

There have been a few apps allowed where the user can author or import simple "programs" within the capabilities of the parent app. I suspect these have "slipped through", and were not seen as a threat since these programs typically only allow "programming" within a very limited context. (Just in case these apps slipped through due to oversight, I won't give any examples.)

Apps may enable additional functionality through in-app-purchase. But the functionality must be shipped with the application, and then it can be unlocked.

Anonymous said...

I think the above is correct about not downloading code, that it refers to virus-like behavior, but the earlier part of that statement does seem to imply that third-party development tools are a possibility.

Unknown said...

I guess that C64 app with Basic will get denied again. sigh

ashley said...

Yep, probably