Apple’s lack of iPhone app standards: maybe not such a bad thing
8 September 2008 1:59 pm UTC
I spent the weekend at C4 in Chicago, where I heard some complaining about Apple’s practice of removing apps from the App Store without first providing a set of guidelines for developers. The majority opinion seems to reflect what Erica Sadun said recently on TUAW:
Until Apple offers developers a firm set of guidelines, developers will continue to be ticked off by seemingly arbitrary rejections. . . . Apple needs to step forward, and do so soon, with a clear set of guidelines that explain to developers exactly what to expect when they press that “submit” button for their new app.
Erica and others know a lot more about software development than I do, and they might well be right. We all have an innate, acute sense of injustice, and secret rules by their very nature send a jolt to our injustice neurons.
Sometimes, though, life isn’t fair, and sometimes there’s a reason why life isn’t fair.
As a developer, I concede my inexperience. I have twenty years less development experience than the people whose opinions I value. What I do have is twenty years more experience practicing law, and I can tell you a few things about rules and regulations that you might not have had the opportunity to observe.
Justice Holmes wrote, “Whenever the law draws a line there will be cases very near each other on opposite sides.” United States v. Wurzbach, 280 U.S. 396, 399, 50 S.Ct. 167, 74 L.Ed. 508 (1930). The establishment of a line—what lawyers call a bright line—means that people are free to get just as close as they possibly can to the line without crossing it. As a consequence, human nature being what it is, a bright line becomes an attractor. Behavior patterns that otherwise would have been distributed equally across a spectrum will tend to clump together near a bright line.
In civil law, that result is acceptable. If a tax law says you can deduct $500, then by all means go ahead and deduct the full $500. That’s OK. Get right up against that $500 line. Just don’t cross over it and try to deduct $501.
In criminal law, we have to step back and think a moment. Do we really want to allow people to get as close as they possibly can to murder, as long as they stay just a hair’s breadth on the good side of the line? Certainly not. So in the criminal area we see laws that establish degrees of guilt with graduated penalties. If you almost but not quite committed first degree murder, you might be guilty of second degree murder, or reckless homicide, or wanton endangerment, or some other offense.
The principle that we can enunciate is this: if you can tolerate people congregating around a bright line, draw a bright line. If you want a line that keeps people away, you have to draw a gradient instead of a bright line.
NSGradient now makes it much easier to draw a gradient in computer code, but in legal codes, it’s still hard. Think about it. When you write a block of code, whom do you have to satisfy? First and foremost, the compiler; not eleven compilers selected by the President, the compiler. Fine. Anything else? Well, if the block is to be used only in the context of other code you are writing, then it has to provide the expected result to the rest of your code. That’s easy enough. If you’re writing a framework, then you have to account for a larger set of considerations. But it’s a finite list, and a short one at that.
Writing a law is hard. I’ve done it. I know. You have to satisfy a wholly unknown and unpredictable set of circumstances that will be adjudicated by an unknown and unpredictable set of arbiters. Can you imagine writing code when you don’t know what platform it will run on, or which compiler it will run through? That’s sort of the challenge of writing a good law. (I wasn’t particularly good at it myself, but I never met anyone who was.)
That is why a whopping proportion of the laws that affect you and me are not codified. It’s just too hard to write out a single set of rules that will hold up (that is to say, will satisfy our innate sense of justice) when applied to the magnificent variety of fact patterns that human activity creates.
What we have instead is the common law.
Justice Holmes’s The Common Law—a splendid book that is read, tragically, by only a tiny percentage of lawyers— describes how common law, unlike the bright lines of codified law, evolves and advances just as life, language, and culture do. Common law by its nature is adaptive. Codified law is not. One is not inherently better than the other. We need both. And we have both.
When I look at the App Store situation, I do not see a process that invokes words like “secretive and arbitrary,” “seemingly arbitrary”, and “out of thin air.” I see a system of common law. I see a set of decisions made on a case by case basis that will over time congeal into a set of gradients. Not bright lines, which attract activity toward the forbidden zone, but gradients, which repel activity from the forbidden zone. It’s not a great system. It’s frustrating and imperfect. But, as history validates for those of us acculturated in English/American jurisprudence, it’s not bad.
Yes, certainly, Apple could announce a rule “No fart humor.” Some people would interpret that rule as a green light for defecation and urination humor. So Apple could refine the rule into “No applications that deal primarily with solid, liquid, or gaseous human ejecta.” Then someone would be afraid to write an application that provides first aid advice to deal with severe vomiting. You think writing computer code is hard? Well, writing human code is mighty hard. Given the imprecision inherent in human language, it’s often impossible. The sharpest minds in the world can’t do it.
It’s very difficult for me to comprehend a situation in which a developer with, let’s say, 50% of the average human allotment of intelligence and responsibility would experience genuine uncertainty about the fate of an application submitted to the App Store. The developers who complain about the lack of guidelines, as far as I can tell, are not complaining on their own behalf, but on behalf of an imaginary population of fart-app-writers whom they deem to be at risk of some future injustice.
Count me as one developer who says, you fart-app-writers are on your own. You’ll get no support from me.
Leave a Comment
8 September 2008 5:16 pm
Great post!
I couldn’t agree more and it is exactly this sort of unique perspective that allows our society to continue to function.
Very insightful!
Keep up the good work.
Eugene Gordin
18 July 2009 1:15 pm
Hear, Hear!
It’s too bad that writing like this doesn’t make it into the tech columns at CNET or PC World. It seems that the non-proliferation of Common Law is rivaled only by Common Sense in cases like these.
Aaron Robinson