This was originally posted on my old, defunct Tumblr
It’s clichéd, but a nerd is defined by his computer, and you need to understand why.
First, a majority of the folks on the planet either have no idea how a computer works or they look at it and think “it’s magic”. Nerds know how a computer works. They intimately know how a computer works. When you ask a nerd, “When I click this, it takes awhile for the thing to show up. Do you know what’s wrong?” they know what’s wrong. A nerd has a mental model of the hardware and the software in his head. While the rest of the world sees magic, your nerd knows how the magic works, he knows the magic is a long series of ones and zeros moving across your screen with impressive speed, and he knows how to make those bits move faster.
The nerd has based his career, maybe his life, on the computer, and as we’ll see, this intimate relationship has altered his view of the world. He sees the world as a system which, given enough time and effort, is completely knowable. This is a fragile illusion that your nerd has adopted, but it’s a pleasant one that gets your nerd through the day.
– Rands in Repose: The Nerd Handbook
One of the most striking things about the controversy surrounding Apple having amended Section 3.3.1 of the iPhone developer agreement is that the developer reaction is entirely irrational, at least from a purely business sense. In fact, if you’re an iPhone or web developer, it’s a positive development! From the Gruber piece referred to by Steve Jobs:
WEB DEVELOPERS: No change. The iPhone remains completely open to web apps. The difference between the web, as a competitor to native iPhone apps, from something like Flash is that the web is not controlled by anyone. There is no platform vendor for the web — and Apple has complete control over WebKit, its implementation for the web.
IPHONE DEVELOPERS: No change. If you’re a developer and you’ve been following Apple’s advice, you will never even notice this rule. You’re already using Xcode, Objective-C, and WebKit. If you’re an iPhone developer and you are not following Apple’s advice, you’re going to get screwed eventually. If you are constitutionally opposed to developing for a platform where you’re expected to follow the advice of the platform vendor, the iPhone OS is not the platform for you. It never was. It never will be. (And, in one sense, this is good news for existing iPhone developers: their skill set is now in even greater demand.)
Moreover, the iPhone retains it’s best-in-class SDK and UI toolkit, and the App Store itself with it’s predisposed-to-buy user base is simply unmatched. The approval process remains problematic from a developer perspective, but if anything, that situation has improved, and Thursday’s iPhone 4.0 announcement contained thousands of new API’s. On any sort of objective metric iPhone developers are better off than they were a week ago.
But oh!, the angst. To choose but one relatively rational and widely-linked post at 37signals:
Lots of developers, me included, have had such a gut-turning reaction to Apple’s new policy that we have a hard time thinking and speaking rationally. The emotions take over and we start screaming “fascists!”
(A Twitter search for Apple Fascist should do the trick).
Wait, 37signals? The company that makes some of the most kick-ass web applications anywhere? You know, ones that don’t need app store approval and work flawlessly on the iPhone in a way they never worked on mobile phones before? That 37signals?
What’s their problem? What is everyone’s problem? (Other than Adobe, who brought this on themselves).
Why are non-Flash developers going to the mat for a technology that they themselves hate? It just doesn’t make sense.
And that’s where the Nerd Handbook comes in. I prefer the term “geek” to “nerd” myself, but there’s a lot I can identify with in that post, especially the bit about being defined by my computer. I’m not a developer, but I know more about tech than most of my peers, and I know how a computer works. More importantly, I know enough to know that the iPhone really is a computer. I know that it runs the same operating system as my MacBook Pro (note the fact I made sure to include Pro), and I know that the development environment is little different than the the development environment for any other platform.
And so, when Apple dictates what tools can be used and what apps are permitted, I can empathize with this geek angst.
They are restricting what I can do with my computer. They are limiting my freedom. They are telling me what I can and cannot do.
Suddenly, the quick resort to cries of “Fascism!” is at least somewhat related to reality. For most geeks, including those who are completely unaffected by 3.3.1, like 37signals, the fact Apple is restricting what they can do on a computer is fundamentally wrong.
There’s just one problem: the iPhone isn’t a computer. It’s a phone.
At least, that’s the way that 98% of the population thinks of it. It’s a marvelous phone to be sure, one that may very well have changed the way they live, but it’s still a phone.
And the apps? They’re awesome! Who woulda’ thunk you could put apps on your phone? You certainly couldn’t three years ago! And the App Store is so easy! Why on earth would you want to go on the scary Internet and get a virus when you’re looking for an app? It’s awesome!
This is the way that normal people think of the iPhone, and it is completely orthogonal to what developers think – and more importantly, downright upsetting to their notions that the iPhone is a computer. But the fact of the matter is that while these normals are underrepresented on the blogs and forums frequented by geeks, they are the vast majority of the 85 million that that has bought iPhone OS devices, and it is their preferences that is driving Apple’s policies – and make no mistake, there are significant upsides to the end user and to developers1. The iPhone simply doesn’t crash, the battery is sufficient, and applications are generally consistent and usable. All of these are derived in part from policies that upset developers.
In some sense, this entire brouhaha makes me think of the eternal divide between engineering, who makes a product, and marketing, who knows the user. It’s a conflict that plays out in every tech company every day, and while in some cases the engineers win, at Apple they don’t.2
The move is also an obvious one from a strategic sense. For more on that, I highly suggest this comprehensive overview by Jason Snell at Macworld. Also make sure you check out the pieces by John Gruber and Louis Gerbarg linked to in this post. ↩
I would argue Apple is actually a third kind of company, one driven by design, but what that means in the “engineering-driven/marketing-driven” paradigm is another post (or something more substantial?) for another day. ↩