(2009-11-23) Graham Appstore Dev Karma
Paul Graham explains why Apple Computer should care that developers think the AppStore is Evil.
They treat iPhone apps the way they treat the music they sell through iTunes. Apple is the channel; they own the user; if you want to reach users, you do it on their terms. The record labels agreed, reluctantly. But this model doesn't work for software. It doesn't work for an intermediary to own the user. The software business learned that in the early 1980s, when companies like Visi Corp showed that although the words "software" and "publisher" fit together, the underlying concepts don't. Software isn't like music or books. It's too complicated for a third party to act as an intermediary between developer and user... They get away with maltreating developers, in the short term, because they make such great hardware. I just bought a new 27" iMac a couple days ago. It's fabulous. The screen's too shiny, and the disk is surprisingly loud, but it's so beautiful that you can't make yourself care. So I bought it, but I bought it, for the first time, with misgivings. I felt the way I'd feel buying something made in a country with a bad human rights record. That was new. In the past when I bought things from Apple it was an unalloyed pleasure. Oh boy! They make such great stuff. This time it felt like a Faustian bargain. They make such great stuff, but they're such assholes. Do I really want to support this company?
There are a couple reasons they should care. One is that these users are the people they want as employees. If your company seems evil, the best programmers won't work for you... But the other reason programmers are fussy, I think, is that evil begets stupidity. An organization that wins by exercising power starts to lose the ability to win by doing better work... The other reason Apple should care what programmers think of them is that when you sell a platform, developers make or break you. If anyone should know this, Apple should. VisiCalc made the Apple II... And programmers build applications for the platforms they use. Most applications--most Start Up-s, probably--grow out of personal projects.
Can anything break this cycle? No device I've seen so far could. Palm and RIM haven't a hope. The only credible contender is Android. But Android is an orphan; Google doesn't really care about it, not the way Apple cares about the iPhone. Apple cares about the IPhone the way Google cares about search.
At least we know now what it would take to break Apple's lock. You'd have to get iPhones out of programmers' hands. If programmers used some other device for mobile web access, they'd start to develop apps for that instead... That would definitely happen if programmers started to use handhelds as development machines--if handhelds displaced laptops the way laptops displaced desktops... My current development machine is a MacBook Air.
Peter Paul Koch responds Apple is not evil. iPhone developers are stupid. Their problems with the App Store approval process are entirely their own fault and they deserve no commiseration. I hope the App Store approval process sticks around for a loooooooong time. His point is that developers should be making JavaScript-rich Mobile Web apps/sites. Interesting comment thread. People note that Android does not yet support App Cache (HTML-v5). Also see the comments about the limits of what JavaScript can accomplish on the IPhone: Audio, etc. (Hmm, nobody mentioned PhoneGap?)
-
Nov23: John Gruber gives more specifics on the shortcomings of WebApp-s.
-
Peter Paul Koch posts a follow-up. Do you want perfect UX, or do you want decent interoperability? Does it make sense for every single app to choose UX over interoperability? As I said above, I feel there's a category of apps where the latter might be more important... Flashback to eleven years ago. The graphic designer tells me to publish the entire body text as a JPG because her choice of fonts is not available on browsers. I, an intern having no say in the matter, do it, but feel dirty... We once again have to wage a war for the soul of a platform, and point out time and again that Web standards are the way to go if you're looking for interoperability (InterOp), and maybe even if you're not. We know the whole score by heart now.
Edited: | Tweet this! | Search Twitter for discussion