Rogue Amoeba’s Attacks on the iPhone SDK and Apple’s Business Logic

As I’m not a customer of Rogue Amoeba, I’m not a reader of Under the Microscope, RA’s blog on their software and Apple software development in general. [Notice I say "Apple" and not "Mac" because now you can develop for the iPhone/iPod Touch.] So when TUAW stopped being a wordy version of VersionTracker and posted about Rogue Amoeba’s take on Apple and code signing, I took an interest in it. [You see, I have this problem, and it's that I spend lots of money with this company in Cupertino that makes electronics. Ahem.] There are three pieces of interest here, I think.

First, UtM took on code signing in general:

Like most technologies, code signing itself is neutral, or ought to be. It can be used for good or evil. Code signing is basically a way to cryptographically prove the origin of a particular piece of code, nothing more.

Yeah, it’s just like any other tool. They go forward and talk about code signing in the main branch of OS X, where Apple seems to slowly be requiring code signing for all applications, which I think is generally a good long-term goal. RA objects to the path going forward, which is somewhat understandable:

Ultimately I think the trend is bad. Code signing itself is a neutral technology, but it gives incredible power to the system vendor, and that power is just waiting to be exercised and abused. I believe that the iPhone is serving as a testbed to see how users and developers will react to an environment with ubiquitous code signing and control. If it goes well I think we can expect to see our desktop Macs gradually move in this direction as well. Judging by how badly Apple’s developer servers were flattened during the SDK release it seems like there’s no way it won’t go well.

I’m sure it will be a gradual process. If 10.6 ships and suddenly nothing will run without Apple approval there will be a huge revolt among users and developers. In 10.5 it’s pretty much innocent. In 10.6, given what Apple has revealed, I would expect to start seeing some restrictions in place. Perhaps initially there will be some APIs which are only available to signed applications. At some point Apple will decide that there are some areas of the system which are too dangerous to let anyone in, even when signed. Perhaps you will begin to need Apple approval for kernel extensions, or for code injection, or other such things. Then one day Apple may decide that unvetted code is too dangerous. Maybe advanced users could still be allowed to use it, but a setting may show up, “Allow unapproved applications”. It will, of course, be off by default.

I think it’s reasonable to expect the arguments in the second paragraph to come true, save for Apple requiring approval on the apps. I don’t think that Apple is using the iPhone code-signing process to gradually close their ecosystem; I have this feeling that Apple is doing two things: 1) gradually opening the iPhone ecosystem and 2) placing themselves in the iPhone app revenue stream. The second point is obvious—Apple will take home 30% of the app’s sale price in return for hosting the download, processing the payment, etc.—but the first is probably not. Yeah, you can jailbreak your iPhone and do all sorts of geeky things with it,but most users aren’t going to—I certainly haven’t. Allowing apps into the ecosystem, even under Apple control, is an opening, not a closing, of the ecosystem. Maybe Apple never opens it any more than this, but in providing a won’t-break-your-warranty path and a fairly trustable path for users, this will be a net win for the user.

[And if you don't like it, well, there's gonna be this Android system that Google is doing that will be open, etc. And that'll be good, in its own ways. If someone builds a killer handset with it, it oughta grab some market share. Me, I welcome my Cupertino overlords.]

The second UtM post, a bit more iPhone focused, is on the limitations of the iPhone SDK, especially the no-background-apps bit:

I don’t mean to suggest that an application like Switcher should come from a third party on the iPhone, merely that such feats of magic are possible on open platforms. As it stands today, as a developer who much wants to take the iPhone to the next level, I must constantly watch to avoid running afoul of Section 3.3 of the SDK license. I must ask “does this go too far?”, and worry about pushing legal limits instead of mental ones. When Andy implemented Switcher, such thoughts never crossed his mind once, and he was able to create something spectacular as a result. We hope that Apple will see the potential of their great little device, and allow developers to push it to its utmost as well.

I think the issue here is that the assumption is that this is where the iPhone app line will be held. The post references Apple not allowing the first Macs to multi-task and how Andy Hertzfeld wrote Switcher to make it happen. And … well, I think that’s apt, but not in the way that RA wants—they seem to want it all, and want it now. I, as a user, well, I just don’t. The iPhone is a nascent platform—really quite revolutionary in terms of what can be done on a device that does everything it does and still have enough battery life to get you through the day. [Okay, enough derisive snorts.] I think that a 3rd gen iPhone might allow 3rd party, background-task apps. I really do. But to do so now is to do too much, too fast.

If I’d actually read The J Curve, I’d make some argument about how this argument applies here, too, and that Apple has to be a bit restrictive now, slowly opening things up over time. Or I could make an argument that Adam might appreciate, and note that, when leading, it’s always easier to start off the hard-ass and ease up than it is to get more restrictive after being Mr. Nice Guy. Both responses work on the same point: restrictions provide initial stability that allows for maturity, whether it’s in the classroom, the office, or the software world.

Maybe I just think too well of Apple.

And lastly, well, it seems that RA is taking the Mark Pilgrim approach and filing bugs about things that they don’t like with the iPhone SDK. I guess that, when all you have is a hammer …

Just my thoughts for now. I reserve the right to change my mind in the face of stronger counter-arguments.

Posted March 11th, 2008 in Apple and Macs by Geof F. Morris. Tagged: , , .

Leave a response:

Note: This post is over a year old. You may want to check later in this blog to see if there is new information relevant to your comment.

By submitting a comment here you grant this site a perpetual license to reproduce your words and name/web site in attribution.