views:

102

answers:

3

I have been toying with the idea of adding a programmable interface to my program, but was afraid it might not make it into the app store. Today I discovered that someone has a programmable program on the store: the Sophistimacalc programmable calculator: http://freescifistories.wordpress.com/sophistimacalc-manual/

But I've also heard of apps pulled from the store for having interpreters: http://smartcalc.coollittlethings.com/?p=3

http://www.9to5mac.com/c64-easter-egg-iPhone

So my question is: to what extent is programmability allowed in an app.

+1  A: 

Apple slightly revised the clause that disallowed other languages, to allow for exceptions if you requested them. As I understand it you need to send a question to developer relations explaining your idea. If it's at the level of a calculator or something education, there's a very good chance I think you could get a specific exception for your idea.

I was talking to someone at WWDC attempting to get an exception for a Scheme interpreter, but am not sure how that fared as I never followed up with him.

Kendall Helmstetter Gelner
I do know there is a clause to allow to requst for permission for interpreter used by the program, because so many games had interpreters built in. Now I am demanding some a more extreme, an interpreter exposed to the user (like my first example).
John Smith
+3  A: 

Hi,

I'm the author of SophistimaCalc. This program has had many updates and I've (thankfully) not had any problems with acceptance by Apple. I think it can generally be said that programmable calculators are okay (see for example all of the RPN calculators in the app store).

smartcalc unfortunately was submitted (originally) as a 'console' basic interpreter. I don't believe Apple is at all interested in having interpreted languages in the app store as a mere console interpreter (eg python, ruby, basic etc) rather than as part of a larger program (eg a calculator or the logic behind a game).

I'm not sure why there was so much fuss about the C64 basic "easter egg" because the emulator was essentially running in a sandbox that shouldn't have had access to the underlying operating system. In addition, the C64 emulator was built primarily for playing games rather than for programming. My sense is that C64 basic would have been too high profile thereby giving others a basis for submitting basic interpreters.

marovada
marovada: thank you very much for the insight. In my case the interpreter is a small part of the whole program. in fact I added it very late in the development of the program, so I should be fine. My take with the C64 is that they also might have had copyright infringement issues, but I can't verify.
John Smith
A: 

For everyone's info, Apple has very much relaxed its terms of use and apparently the C64 app is not allowed to include the basic interpreter.

Edit: See: Twitter Picture

The joke in the basic program is bit silly, but anyway...