Joel Spolsky’s latest essay, “Strategy Letter VI,” offers a smart analogy between the desktop software wars of the 1980s — when companies like Lotus bet on producing code that could run on the slow, small-memory machines of the present, only to lose as PCs got faster, quick — and the Web-based software wars of today.
I think the following passage about Web-app development today could even be read as a (partial, qualified) endorsement of Big Ball of Mud:
The developers who put a lot of effort into optimizing things and making them tight and fast will wake up to discover that effort was, more or less, wasted, or, at the very least, you could say that it “conferred no long term competitive advantage,” if you’re the kind of person who talks like an economist.
The developers who ignored performance and blasted ahead adding cool features to their applications will, in the long run, have better applications.
[tags]joel spolsky, web development[/tags]
Post Revisions:
There are no revisions for this post.
I disagree with the premise. Lotus, Quattro Pro, WordPerfect, Corel products, and a whole lot of other software went by the wayside all around the same time. This is when MS came out with Win 3.1 and 95. Everyone started using MS products. Other products cost more and by the time they reduced their prices, it was too late. By the end, Quattro Pro, WordPerfect and a host of other packages were bundled together initially for about $50 and later for about $10 (CDN and in the 90’s that wasn’t much). Sometimes it was given away for free. Lotus died a little earlier, but it was just the first one to go. It would have went regardless. dBase was also king and where is it now? You can’t say dBase wasn’t filled with features.
Man, I lived through that period. It wasn’t pretty. While Doom did bring DX2-66’s to the mainstream, this only happened around 1993-95. You couldn’t play Doom on anything else unless you were ok with 3 fps. With applications, speed was less of a factor, but WordPerfect did suffer because people didn’t like that you could type faster than the computer would display. Only later versions fixed this. So I really don’t know what Joel is on about.
His later points make more sense where he talks about tools that compile down to native code of that particular platform, which happens to be browsers this time around.
I think that the failure of WordPerfect et al had more to do with their product direction and marketing than their technology. They’re a case study in In Search of Stupidity.
Considering that the need for planning and design is one of the things that Joel regularly emphasizes in his blog, I don’t think he’d come down on the “Big Ball of Mud” side of things.
My interpretation of what Joel was saying was that it is a mistake to work to overcome current technological barriers because they’ll be gone soon anyway and you could have spent your time making your application do more interesting and useful things. Even if your application barely runs now, you’ll be at an advantage when the particular hardware or software bottlenecks disappear because your product will have features everyone wants and those who spent their time optimizing will be catching up.
I think everyone understands what Joel is saying, but it’s pure fantasy. The early 90’s was a mass MS migration. My point is that it didn’t matter what you did. Everyone and their dog was buying MS products. MS was agressively targetting schools and universities (at least in Canada). If apps didn’t gain users at that precise time, you best close up shop cuz there’s no coming back from people using MS products.
To tell a company in the late 80’s or early 90’s to let hardware catch up was suicide and shows a complete lack of understanding in the computing marketplace at that time. The battle was to be won on the platform. It wasn’t about features. It was about who got their stuff out there first regardless of features. The exact opposite of what Joel talks about. MS products were crap in every sense of the word. But MS knew from the DOS days that no matter how bad it was, people would be VERY reluctant to change software packages in the future. And leveraging the OS with this goal in mind was key.
Today’s scenario is nothing like what was happening back then.