pgstrata
Apple's Mistake
2

November 2009

3

I don't think Apple realizes how badly the App Store approval process is broken.

4

Or rather, I don't think they realize how much it matters that it's broken.

5

The way Apple runs the App Store has harmed their reputation with programmers more than anything else they've ever done.

6

Their reputation with programmers used to be great.

7

It used to be the most common complaint you heard about Apple was that their fans admired them too uncritically.

8

The App Store has changed that.

9

Now a lot of programmers have started to see Apple as evil.

10

How much of the goodwill Apple once had with programmers have they lost over the App Store?

11

A third?

12

Half?

13

And that's just so far.

14

The App Store is an ongoing karma leak.

3–4

I don't think Apple realizes how badly the App Store approval process is broken — or how much it matters that it's broken.

5–9

The way Apple runs the App Store has harmed their reputation with programmers more than anything else they've done. The old complaint was that Apple's fans admired them too uncritically. Now a lot of them see Apple as evil.

10–14

How much of that goodwill have they lost? A third? Half? And that's just so far. The App Store is an ongoing karma leak.

2–14

Apple doesn't realize how badly the App Store approval process is broken, or how much it matters. It's the worst thing they've ever done to their reputation with programmers, who now see them as evil.

16

* * *

17

How did Apple get into this mess?

18

Their fundamental problem is that they don't understand software.

19

They treat iPhone apps the way they treat the music they sell through iTunes.

20

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.

21

But this model doesn't work for software.

22

It doesn't work for an intermediary to own the user.

23

The software business learned that in the early 1980s, when companies like VisiCorp showed that although the words "software" and "publisher" fit together, the underlying concepts don't.

24

Software isn't like music or books.

25

It's too complicated for a third party to act as an intermediary between developer and user.

26

And yet that's what Apple is trying to be with the App Store: a software publisher.

27

And a particularly overreaching one at that, with fussy tastes and a rigidly enforced house style.

28

If software publishing didn't work in 1980, it works even less now that software development has evolved from a small number of big releases to a constant stream of small ones.

29

But Apple doesn't understand that either.

30

Their model of product development derives from hardware.

31

They work on something till they think it's finished, then they release it.

32

You have to do that with hardware, but because software is so easy to change, its design can benefit from evolution.

33

The standard way to develop applications now is to launch fast and iterate.

34

Which means it's a disaster to have long, random delays each time you release a new version.

35

Apparently Apple's attitude is that developers should be more careful when they submit a new version to the App Store.

36

They would say that.

37

But powerful as they are, they're not powerful enough to turn back the evolution of technology.

38

Programmers don't use launch-fast-and-iterate out of laziness.

39

They use it because it yields the best results.

40

By obstructing that process, Apple is making them do bad work, and programmers hate that as much as Apple would.

41

How would Apple like it if when they discovered a serious bug in OS X, instead of releasing a software update immediately, they had to submit their code to an intermediary who sat on it for a month and then rejected it because it contained an icon they didn't like?

42

By breaking software development, Apple gets the opposite of what they intended: the version of an app currently available in the App Store tends to be an old and buggy one.

43

One developer told me:

44

As a result of their process, the App Store is full of half-baked applications. I make a new version almost every day that I release to beta users. The version on the App Store feels old and crappy. I'm sure that a lot of developers feel this way: One emotion is "I'm not really proud about what's in the App Store", and it's combined with the emotion "Really, it's Apple's fault."

45

Another wrote:

46

I believe that they think their approval process helps users by ensuring quality. In reality, bugs like ours get through all the time and then it can take 4-8 weeks to get that bug fix approved, leaving users to think that iPhone apps sometimes just don't work. Worse for Apple, these apps work just fine on other platforms that have immediate approval processes.

47

Actually I suppose Apple has a third misconception: that all the complaints about App Store approvals are not a serious problem.

48

They must hear developers complaining.

49

But partners and suppliers are always complaining.

50

It would be a bad sign if they weren't; it would mean you were being too easy on them.

51

Meanwhile the iPhone is selling better than ever.

52

So why do they need to fix anything?

17–18

How did Apple get into this mess? Their fundamental problem is that they don't understand software.

19–27

They treat iPhone apps the way they treat the music on iTunes: Apple is the channel, they own the user, you reach users on their terms. But software is too complicated for a third party to sit between developer and user. And yet that's what Apple is trying to be: a software publisher, and an overreaching one with fussy tastes and a rigidly enforced house style.

28–40

Apple's model derives from hardware: work on it till it's finished, then release it. But software is easy to change, so it benefits from evolution. The standard way now is to launch fast and iterate, which makes long, random delays a disaster. By obstructing the process that yields the best results, Apple makes programmers do bad work.

41

How would Apple like it if, on discovering a serious bug in OS X, they had to submit their fix to an intermediary who sat on it for a month and then rejected it over an icon they didn't like?

42–47

By breaking software development, Apple gets the opposite of what they intended: the version in the App Store feels old and crappy, and bug fixes take 4-8 weeks to approve — leaving users to think iPhone apps sometimes just don't work.

48–52

Apple's third misconception is that the complaints aren't serious. But partners and suppliers always complain. Meanwhile the iPhone is selling better than ever. So why fix anything?

16–52

Apple's fundamental problem is that they don't understand software. They treat apps like music, acting as a publisher — but software is too complicated for an intermediary, and it must be launched fast and iterated, not finished and released like hardware.

54

They get away with maltreating developers, in the short term, because they make such great hardware.

55

I just bought a new 27" iMac a couple days ago.

56

It's fabulous.

57

The screen's too shiny, and the disk is surprisingly loud, but it's so beautiful that you can't make yourself care.

58

So I bought it, but I bought it, for the first time, with misgivings.

59

I felt the way I'd feel buying something made in a country with a bad human rights record.

60

That was new.

61

In the past when I bought things from Apple it was an unalloyed pleasure.

62

Oh boy!

63

They make such great stuff.

64

This time it felt like a Faustian bargain.

65

They make such great stuff, but they're such assholes.

66

Do I really want to support this company?

54–57

They get away with it, in the short term, because they make such great hardware. I just bought a 27" iMac. The screen's too shiny and the disk surprisingly loud, but it's so beautiful you can't make yourself care.

58–66

But for the first time, I bought it with misgivings — the way I'd feel buying something made in a country with a bad human rights record. Buying from Apple used to be an unalloyed pleasure. This time it felt like a Faustian bargain. They make such great stuff, but they're such assholes.

54–66

Apple gets away with maltreating developers because they make such great hardware. But buying a new iMac felt for the first time like a Faustian bargain — they make great stuff, but they're such assholes.

68

* * *

69

Should Apple care what people like me think?

70

What difference does it make if they alienate a small minority of their users?

71

There are a couple reasons they should care.

72

One is that these users are the people they want as employees.

73

If your company seems evil, the best programmers won't work for you.

74

That hurt Microsoft a lot starting in the 90s.

75

Programmers started to feel sheepish about working there.

76

It seemed like selling out.

77

When people from Microsoft were talking to other programmers and they mentioned where they worked, there were a lot of self-deprecating jokes about having gone over to the dark side.

78

But the real problem for Microsoft wasn't the embarrassment of the people they hired.

79

It was the people they never got.

80

And you know who got them?

81

Google and Apple.

82

If Microsoft was the Empire, they were the Rebel Alliance.

83

And it's largely because they got more of the best people that Google and Apple are doing so much better than Microsoft today.

84

Why are programmers so fussy about their employers' morals?

85

Partly because they can afford to be.

86

The best programmers can work wherever they want.

87

They don't have to work for a company they have qualms about.

88

But the other reason programmers are fussy, I think, is that evil begets stupidity.

89

An organization that wins by exercising power starts to lose the ability to win by doing better work.

90

And it's not fun for a smart person to work in a place where the best ideas aren't the ones that win.

91

I think the reason Google embraced "Don't be evil" so eagerly was not so much to impress the outside world as to inoculate themselves against arrogance. [1]

92

That has worked for Google so far.

93

They've become more bureaucratic, but otherwise they seem to have held true to their original principles.

94

With Apple that seems less the case.

95

When you look at the famous 1984 ad now, it's easier to imagine Apple as the dictator on the screen than the woman with the hammer. [2] In fact, if you read the dictator's speech it sounds uncannily like a prophecy of the App Store.

96

We have triumphed over the unprincipled dissemination of facts.

We have created, for the first time in all history, a garden of pure ideology, where each worker may bloom secure from the pests of contradictory and confusing truths.

97

The other reason Apple should care what programmers think of them is that when you sell a platform, developers make or break you.

98

If anyone should know this, Apple should.

99

VisiCalc made the Apple II.

100

And programmers build applications for the platforms they use.

101

Most applications—most startups, probably—grow out of personal projects.

102

Apple itself did.

103

Apple made microcomputers because that's what Steve Wozniak wanted for himself.

104

He couldn't have afforded a minicomputer. [3] Microsoft likewise started out making interpreters for little microcomputers because Bill Gates and Paul Allen were interested in using them.

105

It's a rare startup that doesn't build something the founders use.

106

The main reason there are so many iPhone apps is that so many programmers have iPhones.

107

They may know, because they read it in an article, that Blackberry has such and such market share.

108

But in practice it's as if RIM didn't exist. If they're going to build something, they want to be able to use it themselves, and that means building an iPhone app.

109

So programmers continue to develop iPhone apps, even though Apple continues to maltreat them.

110

They're like someone stuck in an abusive relationship.

111

They're so attracted to the iPhone that they can't leave.

112

But they're looking for a way out.

113

One wrote:

114

While I did enjoy developing for the iPhone, the control they place on the App Store does not give me the drive to develop applications as I would like. In fact I don't intend to make any more iPhone applications unless absolutely necessary. [4]

115

Can anything break this cycle?

116

No device I've seen so far could.

117

Palm and RIM haven't a hope.

118

The only credible contender is Android.

119

But Android is an orphan; Google doesn't really care about it, not the way Apple cares about the iPhone.

120

Apple cares about the iPhone the way Google cares about search.

69–70

Should Apple care what people like me think? What difference does it make if they alienate a small minority?

72–84

One reason: these users are the people they want as employees. If your company seems evil, the best programmers won't work for you. That hurt Microsoft in the 90s. The real problem wasn't the people they hired; it was the people they never got. And you know who got them? Google and Apple. If Microsoft was the Empire, they were the Rebel Alliance.

85–92

Why are programmers so fussy about their employers' morals? Partly because they can afford to be. But the other reason, I think, is that evil begets stupidity. An organization that wins by exercising power loses the ability to win by doing better work. I think Google embraced "Don't be evil" to inoculate themselves against arrogance.

93–97

That's worked for Google. With Apple, less so. Looking at the famous 1984 ad now, it's easier to imagine Apple as the dictator than the woman with the hammer — the dictator's speech sounds uncannily like a prophecy of the App Store.

99–101

The other reason Apple should care: when you sell a platform, developers make or break you. If anyone should know this, Apple should. VisiCalc made the Apple II.

102–110

And programmers build for the platforms they use. Most applications — most startups, probably — grow out of personal projects. Apple itself did: Wozniak made microcomputers because that's what he wanted. The reason there are so many iPhone apps is that so many programmers have iPhones and want to use what they build.

111–116

So programmers keep developing iPhone apps even as Apple maltreats them. They're like someone stuck in an abusive relationship: so attracted to the iPhone they can't leave, but looking for a way out.

117–120

Can anything break this cycle? The only credible contender is Android — but Android is an orphan; Google doesn't care about it the way Apple cares about the iPhone, the way Google cares about search.

68–120

Apple should care because these alienated users are the people they want as employees — and the best programmers go where the work is good, since evil begets stupidity. And when you sell a platform, the developers who build on it make or break you.

122

* * *

123

Is the future of handheld devices one locked down by Apple?

124

It's a worrying prospect.

125

It would be a bummer to have another grim monoculture like we had in the 1990s.

126

In 1995, writing software for end users was effectively identical with writing Windows applications.

127

Our horror at that prospect was the single biggest thing that drove us to start building web apps [blocked].

128

At least we know now what it would take to break Apple's lock.

129

You'd have to get iPhones out of programmers' hands.

130

If programmers used some other device for mobile web access, they'd start to develop apps for that instead.

131

How could you make a device programmers liked better than the iPhone?

132

It's unlikely you could make something better designed.

133

Apple leaves no room there.

134

So this alternative device probably couldn't win on general appeal.

135

It would have to win by virtue of some appeal it had to programmers specifically.

136

One way to appeal to programmers is with software.

137

If you could think of an application programmers had to have, but that would be impossible in the circumscribed world of the iPhone, you could presumably get them to switch.

138

That would definitely happen if programmers started to use handhelds as development machines—if handhelds displaced laptops the way laptops displaced desktops.

139

You need more control of a development machine than Apple will let you have over an iPhone.

140

Could anyone make a device that you'd carry around in your pocket like a phone, and yet would also work as a development machine?

141

It's hard to imagine what it would look like.

142

But I've learned never to say never about technology.

143

A phone-sized device that would work as a development machine is no more miraculous by present standards than the iPhone itself would have seemed by the standards of 1995.

144

My current development machine is a MacBook Air, which I use with an external monitor and keyboard in my office, and by itself when traveling.

145

If there was a version half the size I'd prefer it.

146

That still wouldn't be small enough to carry around everywhere like a phone, but we're within a factor of 4 or so.

147

Surely that gap is bridgeable.

148

In fact, let's make it an RFS.

149

Wanted: Woman with hammer.

123–127

Is the future of handheld devices one locked down by Apple? It would be a bummer to have another grim monoculture like the 1990s, when writing software for end users meant writing Windows applications. Our horror at that drove us to build web apps [blocked].

128–130

At least we know what it would take to break Apple's lock: get iPhones out of programmers' hands. If they used some other device for mobile web access, they'd develop apps for that instead.

131–139

You couldn't beat Apple on design, so a rival would have to win by some appeal specific to programmers — say, an application they had to have but that's impossible on the iPhone. That would happen if handhelds became development machines the way laptops displaced desktops, since you need more control of one than Apple lets you have.

140–143

Could anyone make a pocket-sized device that also worked as a development machine? Hard to imagine, but I've learned never to say never — it's no more miraculous now than the iPhone would have seemed in 1995.

144–149

My development machine is a MacBook Air; half the size and I'd prefer it. Still not phone-small, but we're within a factor of 4, and surely that gap is bridgeable. In fact, let's make it an RFS. Wanted: Woman with hammer.

122–149

A future locked down by Apple is a worrying prospect — another grim monoculture. To break the lock you'd have to get iPhones out of programmers' hands, perhaps with a phone-sized device that also worked as a development machine.

151

Notes

152

[1] When Google adopted "Don't be evil," they were still so small that no one would have expected them to be, yet.

153

[2] The dictator in the 1984 ad isn't Microsoft, incidentally; it's IBM. IBM seemed a lot more frightening in those days, but they were friendlier to developers than Apple is now.

154

[3] He couldn't even afford a monitor. That's why the Apple I used a TV as a monitor.

155

[4] Several people I talked to mentioned how much they liked the iPhone SDK. The problem is not Apple's products but their policies. Fortunately policies are software; Apple can change them instantly if they want to. Handy that, isn't it?

156

Thanks to Sam Altman, Trevor Blackwell, Ross Boucher, James Bracy, Gabor Cselle, Patrick Collison, Jason Freedman, John Gruber, Joe Hewitt, Jessica Livingston, Robert Morris, Teng Siong Ong, Nikhil Pandit, Savraj Singh, and Jared Tame for reading drafts of this.

152–155

The dictator in the 1984 ad isn't Microsoft; it's IBM, which seemed more frightening then but was friendlier to developers than Apple is now. The problem is not Apple's products but their policies — and policies are software, which Apple can change instantly. Handy that, isn't it?

151–156

The dictator in the 1984 ad isn't Microsoft but IBM, which was friendlier to developers than Apple is now. And the problem is never Apple's products but their policies — and policies, unlike hardware, can be changed instantly.