ryansutter.net
It's free thought time, baby.
iPhone Development

Last night I was on the drive home with my wife and we  couldn’t stop talking iPhone.  The big question we both had was “how do we write software for it”.

Now, our buddies over at Apple have given no clue, whatsoever, as to the answer to this question.  Here are the two, extremely vague, things we know at this point.

  1. The processor is being provided by Intel
  2. The iPhone runs some version of Mac OS X (see above)

This doesn’t tell us much, but it’s enough to go ahead with some speculation.  First, let’s talk processor.  The processor is almost certainly x86 compatible, probably some sort of ultra-low-power consumption new variant of the Core series of processors found in the MacBooks and MacBook Pros.  This article argues that this is likely on the basis of the fact that Intel sold off it’s other low-power embedded  technology (the ARM-based XScale) in 2006.  I agree.  Intel wants the world on x86, that is pretty clear.  More importantly, Jobs pointed out that Apple had been working on this project for years, and I think it is highly likely that Intel’s processor roadmap as it relates to this product in particular was the clincher in Apple’s switch to Intel.  Sure, it was for the Mac, but more importantly, it was for the iPhone.

Now, about the OS.  How stripped is it?  I would speculate that it’s not particularly stripped.  Remember, OS X is an evolved version of NeXTSTEP, which is about 20 years old.  The hardware that NeXTSTEP was originally designed to run on was sloooooooww by today’s standards.  25mhz processors!  I’m not trying to equate OS X Tiger with the primeval NeXTSTEP or to claim that it could run on a 25mhz processor.  OS X is a significantly more advanced OS.  However, if you kept the kernel it’s based on, developed a lighter-weight display renderer than Aqua (with it’s OpenGL stuff) and removed API calls that are irrelevant to this particular piece of hardware (which would probably include a LARGE number of subsystems that PC’s have that the iPhone lacks), a relatively complete version of OS X should have no trouble whatsoever running on the class of processor that Intel is capable of creating these days for these applications.  Just look at what it has to do in order to pull off the demo Jobs did yesterday.  That was a full-featured, multi-tasking, UNIX OS with some sort of UI display acceleration that just happened to be running on tiny hardware, not some mini OS X lookalike with a crippled feature set.

So, we’ve got a machine with an Intel X86 processor and OS X “Bobcat?” in a teeny-tiny form factor…  oh yeah, it’s also a phone.  My gut feeling is that Apple is going to open up development info for third-parties before June and that anybody who wants to write custom iPhone apps will be able to do so with XCode and their Mac within the year, but it’s unlikely they’ll give us developers the info before the June hardware availability date.

As soon as the possibility is announced, I’ll be there.  Anything leaks, I’ll blog it here.

Related posts

  • Anthony
    Apple VP Confirm no 3rd Party iPhone Apps

    http://www.tuaw.com/2007/01/10/apple-vps-confir...
  • tastyrerun
    Well, that's crappy.

    Guess we'll just have to hack around it. :-)

    I doubt they will be able to stop it. Hell, somebody got Linux running on iPods, right?
  • In the Keynote Jobs mentioned about Cocoa for iPhone.

    Cocoa is a Programing Enviroment for the X, so why the heck is it there if there is no 3rd party development?

    So I think yes, it will be open to 3rd party development. Bu they are not going to reveal this so soon, there is still 5 months until the shipment...

    For me the VP is contradicting Jobs, and personally Im more confident with Jobs words :P
  • tastyrerun
    I agree with you that Cocoa is going to be the environment, but it won't be that difficult to keep people off the iPhone.

    First, the iPhone appears to be based on the ARM processor. If Apple does not provide ARM compilation ability in XCode, developers will not be able to compile Cocoa apps for it.

    Second, the iPhone has new user-interface elements that obviously make use of new software libraries. If, again, Apple does not make those libraries available, developers will not be able to develop code for the iPhone.

    Third, the iPhone may be designed to only run/install applications with a certain digital signature or DRM. If Apple does not allow random third parties to sign their apps, they can prohibit them from getting apps running on the iPhone.

    So, as you see, it is entirely possible for Apple to keep the phone closed and they seem to be planning to do just that.
blog comments powered by Disqus