Programming the iPad

Posted on March 1, 2010
Filed Under Commentary, iPhone/iPad | 5 Comments

No, not writing formal apps. I mean interactive languages like Basic, Python, Ruby or even Logo. Ignore the Code had a good post on this.

Macworld has an article on Apple’s shareholder meeting. Macworld reports that a shareholder asked Apple about «a simple programming language on the iPad». Strangely, Steve Jobs is quoted as saying «Something like HyperCard on the iPad? Yes, but someone would have to create it». I’m not sure where the misunderstanding is, but clearly, if somebody built something like HyperCard for the iPad, Apple would not approve it. Apple’s App Store rules do not allow apps which interpret code. One example for such a rejection is BasicMatrix, a BASIC interpreter for the iPhone.

In my opinion, this restriction makes the iPad problematic for usage in schools. Basic programming courses are an important part of a proper education. Programming helps kids understand how computers work, it helps them to understand logic, and it’s also incredibly empowering. What’s more, being able to write Excel macros or simple AppleScripts is a useful skill, regardless of what these kids eventually end up doing with their lives. Schools won’t be able to use iPads for such a course unless Apple changes this rule.

I think that Apple has overlooked this problem. While it’s incredible annoying, Apple was able to simply reject any app with a normal programming language. (Even a C-64 emulator was rejected initially due to having BASIC available) In fact the initial reason I jailbroke my iPhone was to have iPython running which is what I use for my calculator most of the time.

If the iPad is supposed to be more of a halfway place between the iPhone and Mac then Apple is going to have to come to grips with interpretive languages. Most spreadsheet users are going to want them. But as that blog post by Lukas Mathis to mentioned, schools are going to want some sort of programming language. Logo might be out of date now. However something should take its place?

Will Apple adjust? Probably not. They haven’t adjusted the app store model and that’s clearly unscalable — and only likely to get worse as the iPad increases its traffic. I think Apple is heading for a bit of a potential crash. Apple’s been on a roll so I wouldn’t want to underestimate their ability to deftly maneuver without fundamentally changing their practices.

Android is nipping on their heels though. I’m really curious as to how the initial Android tablets perform. Right now Android’s problem is too many platforms developers need to consider and a lack of general updates. (Too many phone carriers seem to think of the OS for a particular phone as static rather than something that needs constantly upgraded for a superior experience)


  • John Harrison

    I was wondering about an iPhone logo for my son the other day. He wants to “teach the computer to draw” and I thought that an iPhone logo would be a fun way to do it.

    The iPad is large enough to open up a lot of programming possibilities, including Apple’s own Quartz Composer. I hope that they back off of their concerns a bit.

  • giovanni degli antoni

    This is not a comment but a request of help, or a suggestion. For Ipad

    I need a tool to underline word for developement of dictionaries in the context (of a text).

    Dictionarie as complete as possible, able to activate the google wave ROBOTS.

  • Mark

    Isn’t a BASIC compiler what made the Apple II such a success?

  • CharlyV

    This is total bunk now. Processing has an IDE on iPad presently, which is the core of the Arduino IDE. There are serial cables you can buy to attach iPad to Arduino, as well as using the WiFi , Ethernet and BlueTooth shields. The Arduino IDE on an iPad is on its way and there is nothing that is going to stop that.

  • Clark

    Things have definitely changed in the past two years although honestly the limits imposed by Apple by sandboxing and app store rules still make it a bad situation. But there definitely are several versions of languages like Python, Logo and more.