As I blogged last time, Apple would have preferred to wait for iPhone to be on Intel before opening the device up to third-party software. Thankfully though, Apple has done the right thing, and announced iPhone will be open to third-party software. I only blew a few blood vessels over this whole (insert nicer word for debacle here), so I’m feeling rather good about today’s events.
Now, some are wondering what the holdup is between now and February for that SDK to come out. The answer? A lot! First, people complained about iPhone being insecure. So, Apple made it more secure (and locked out third-party apps). In case you’re interested… here’s what Apple has to do:
1) Take the developer tools mainstream. Apple has Xcode, and will use it for iPhone. But, the hacked-together copies of Xcode Apple is using for iPhone aren’t exactly what you would call “reliable”. Yes, one of the problems with Mac OS X (and any OS for that matter) is that the tools that build it are invariably less reliable than the system itself. Xcode has made things a lot better, but the bottom line of this point is… Xcode wasn’t built in a day, nor will iPhone’s portion of Xcode be ready at the drop of a hat.
2) iPhone’s user mode. Right now, iPhone runs everything as the root user. It’s a single user device, and so long as the root user is “jailed”… this is fine. But, with third-party software… bricking a device can occur in mere seconds. So, Apple has to create a user (let’s just call it User), to go alongside root. On a desktop that can consumer gigabytes of memory and many more gigabytes of virtual memory… that’s fine. But on a mobile device, where you’re concerned with a megabyte of RAM, you’ve got to conserve, and that means looking at code to make tasks better. Considering these are tasks that both iPhone and Mac didn’t need improving on… it takes time to refine the OS itself.
The good news is that this code will be slipstreamed back to the Mac… so future versions of Mac OS X will likely see a bit of a memory reduction on multi-user environments.
3) Protected Memory & Signing. Apple already has digital signing of iPhone apps ready to go. In fact, as of 1.1.1, all iPhone applications authored by Apple are digitally signed. I suspect Apple will go the S60 route of having users to go, say, Settings > General > Software > Allow Unsigned Applications, which will then let users install software not signed by Apple and partners.
Oh, and Dashboard widgets will have a nice lead on SideShow… especially when widgets can talk between Mac and docked iPhone 🙂
This is likely the quickest massive renovation of a smartphone operating system ever… so don’t start complaining about the four months. And, with everyone expecting February… a Macworld launch makes for a great backup One More Thing…