First the homegrown hacks showing its weak points, then a serious Safari security breach, and now here's a picture of the iPhone in single-user mode after a crash at an AppleStore. Is this the last sign of a pending disaster or just another hint for Apple to change things? Apparently, there are no disasters pending: the iPhone is a solid machine. However, Apple needs changes indeed.
[UPDATE: people, the image is real. But even if that wasn't the case, the article still stands. This is not about this screen, it's about the iPhone SDK and the homegrown iPhone development efforts] First, keep in mind that this screen is just an exception. The iPhone is a remarkably solid piece of engineering for a version 1.0 product. The bugs and holes are more or less normal for a 1.0 product. Yes, I wish that Apple spent some more time and money to heavily test their jesusPhone and make it completely problem-free, but that's a chimera for any device. The market pressure was too big, yet the company did a good job. However, with all the hype surrounding it and all the fans eager to push the limits, the assaults were bound to happen.
The fact is that without Apple's help, brilliant programmers are doing an outstanding job at opening the iPhone for great possibilities but also showing its imperfections and problems. These revelations have only started and they are really serious. We know Apple is working against the clock to fix them, but unfortunately they are probably working to close the other holes, too—the ones that will eventually allow people to do even-more-amazing stuff with the iPhones, no matter what Cupertino tries to do.
All this late ruckus got me thinking again about Steve Jobs' announcement at the last WWDC. Do you remember his arguments about not releasing (yet) a complete SDK for the iPhone? Let's review them again:
Argument 1: Apple doesn't want third-party apps because they can break the iPhone. The company wants stability. Reality: See picture above. It's bound to happen in any complex system, with or without third-party applications—just like with a desktop Mac OS X system.
Argument 2: To avoid the problems and allow you to do things, you can build great Web 2.0 apps. They are as good as Apple's native iPhone apps and they are sandboxed in Safari, so you can't harm the iPhone or access its data and hardware. Reality: The "sandboxed" Safari gets completely busted with a single web page, allowing hackers to take total control over data and calls.
Argument 3: Besides security and stability, Apple wants to provide a seamless, coherent user experience, rather than the mess that is happening in the Windows Mobile phone world. Reality: Hackers crack open the iPhone file system and then create the first "Hello World" app. Changes are happening and they are going to keep happening.
Apple is right that Windows Mobile is a mess because of this, but it's a user-chosen mess, just like a computer could be a mess, too, depending on the person who owns it. Side-stepping this mess hasn't avoided the problems we are now seeing. And then, applications for the iPhone will emerge without Apple blessing, probably introducing real problems because the developers will be working in the dark.
To avoid this and the Windows Mobile mess, the only way to go is to introduce a development environment with strict UI rules and even a certification program. You can even argue that, to reduce security problems, they will also need to open much of the iPhone, just like Safari and Mac OS X's core.
Some users will be happy to enjoy the box as it is. But at the end, what really matters is what other people may dream to do with the iPhone, not only what Apple —with their limited resources&mdash think. I know it sounds preachy and naive, but to allow people make real those dreams is what will make this platform not only amazing, but insanely great. [Poop for Brains]