This is really a beautifully reasoned piece, Kathleen.
But I think what has me perturbed (and I haven’t really been one of the iPad trashers, truth be told), is the series of events that preceded it.
The truth is, the Mac has always been a drag to program. When I came back to the platform a few years ago (after a 10-year Linux hiatus), my first thought — on visiting the Apple developer site — was that absolutely nothing had changed. They were still viewing their dev program as if third-party developers were a kind of necessary evil. It’s true that they offer development tools, but the whole thing has always felt sort of — oppressive. “Yes! Develop apps for Mac. Just don’t depart from our vision in any way.”
When the iPhone came out, every coder I knew was dying to write for it. And this time, Apple figured that they could get away with being even *more* fascistic about the way they treat developers. You have to get the app approved? Are you kidding? They initially claimed that it was a security thing, but then they started removing dictionaries that had the word “fuck” in it.
So now the iPad comes along, and it’s amazing. It’s just beautiful. Everyone is excited. People will fall over themselves to write apps for it (again). And they will discover — as iPhone developers discovered, and Mac programmers before them — that it *sucks* trying to write programs for this platform, because Apple tightly circumscribes what you can do on it. But because it’s wildly popular, Apple will draw the conclusion that this is as the world should be. Screw the developers. It’s all about the *users.*
If you want to see where this ends, look at Verizon. They have done everything possible to make it so that very few people can actually write software for that platform. And so the phone OS just sucks. iPhone development is perhaps marginally less restrictive, but I think Apple will eventually realize that Verizon had it right. And by the time they realize that, everyone will have an Apple device and companies that don’t develop for the platform will be screwed.
All of this sounds great, from a certain perspective. Who would want to be against the users? Problem is, you can’t screw the developers and be for the users. Because the developers are creating apps *for* the users, and as along as that freedom is tightly curtailed by a company, that company is determining what that experience is like. I take your point about Web apps, but it wouldn’t surprise me in the least if Apple started doing something with “iPad-approved” sites. We’ve been there before, after all.
It’s not that you can’t program on the iPad. It’s not even that Apple makes it a pain to develop for the iPad. It’s that they give you a word processor, tell you what you can and cannot write on it, and then have the gall to tell you that you’re moving forward. Everyone is getting excited about the iPad, and with very good reason. It’s a really, really cool thing. But if it succeeds, Apple will take that as evidence that their view of the development community is the right one. I thought it sucked in 1986, and think it sucks even more today.