We all spend time looking for that tasty milestone where we’ve done twenty percent of the work and are enjoying eighty percent of the benefit. Some technologies have this 80/20 feel, some don’t, and around this subject swirl some of our most vituperative debates. The 80/20 Tribe’s offerings are denounced as “Just a toy!”, while they hurl back accusations of pedantry, big-system disease, and so on. Should we be listening with special care to the arguments of one side or another as we try to predict technology futures?
The Table · In this table scores of ten go to technologies like HTTP, a protocol without state or session that allows querying and updating resources and that’s all. A zero would be something like Xanadu, Ted Nelson’s no-holds-barred attempt to solve all the problems of hypertext in one fell swoop.
Discussion · I’ll start this essay with a nod to the famous letter-writer’s apology for a long letter, because he hadn’t the time to write a short one. Minimalism is hard; I’m not going to examine the reasons here, but the mental machinery involved in the design process naturally tends towards more rather than less.
Thus, there are almost no perfect Tens here. The standards and software around SQL/RDBMS spilled over the edges of the relational theory messily in several directions. Unix/C came with RATFOR, and a “General-Purpose Macro Processor” that was part of the problem not the solution, and so on. Java came with the execrable AWT 1.0, which was in practice considerably worse than having no UI toolkit whatsoever. And XML brought along NOTATION and unparsed entities and some other baggage that has effectively never been used but it’s probably now to late to leave behind.
The high scores given to both SQL/RDBMS and Java apply to the seminal early releases, not the messy sprawling edifices that these have grown into. It may be hard to believe, but when the early SQL evangelists hit the market lots of sectors dismissed them, with arguments along the lines of “Well that impoverished rows-and-columns vision of reality may be adequate for your needs, but my data is much richer than that!”
I don’t think the perfect scores given the WWW and the PC Client should be controversial. The Web contains almost nothing that is new or hadn’t been thought of before; it was distinguished by what it left out, perhaps most crucially the notion that links couldn’t be allowed to break. And as for the original “IBM PC,” it’s really hard to believe that it could have had one iota less functionality and ever gotten to first base. The processor was a joke, the I/O architecture a bad dream, and the OS was DOS.
I’ve given Open Source the average of all the other scores in its column, because it tends to just copy what works with little prejudice towards either minimalism or completism.
Conclusion · This one is a slam-dunk. Technologies that hit the 80/20 point win, and those that don’t lose, and that’s all there is to it; it’s hard to think of significant positive or negative failures. Whenever I’m backed into a corner and am forced to prognosticate, this is the first thing I turn to; and it works.