Monday, September 24th, 2007
Aaron Newton and Jep Castelein wrote in pointers to a recent Joel “on software” Spolsky’s essay, which this time around has an Ajax focus.
His whole essay revolves around this observation:
Using the history of DOS and Windows applications as his guide, he makes three conclusions based on this point:
- First, the observation that a slow application today may not be slow tomorrow:
[Historically, the] developers who ignored performance and blasted ahead adding cool features to their applications will, in the long run, have better applications.
- Second, we’re likely to see some sort of uber-Ajax toolkit emerge. It will be slow, but see the previous point:
If history repeats itself, we can expect some standardization of Ajax user interfaces to happen in the same way we got Microsoft Windows. Somebody is going to write a compelling SDK that you can use to make powerful Ajax applications with common user interface elements that work together. And whichever SDK wins the most developer mindshare will have the same kind of competitive stronghold as Microsoft had with their Windows API.
- Third, once this happens, the applications with custom-rolled UI toolkits will be obsolete:
And while youâ€™re not paying attention, everybody starts writing NewSDK apps, and theyâ€™re really good, and suddenly businesses ONLY want NewSDK apps, and all those old-school Plain Ajax apps look pathetic and wonâ€™t cut and paste and mash and sync and play drums nicely with one another. And Gmail becomes a legacy. The WordPerfect of Email. And youâ€™ll tell your children how excited you were to get 2GB to store email, and theyâ€™ll laugh at you. Their nail polish has more than 2GB.
I did smirk a bit when reading this bit:
You can follow the p-code/Java model and build a little sandbox on top of the underlying system. But sandboxes are penalty boxes; theyâ€™re slow and they suck, which is why Java Applets are dead, dead, dead… Sandboxes didnâ€™t work then and theyâ€™re not working now.
Someone tell that to Microsoft and Adobe, quick! ;-)
A commenter complained about my use of the word “naive” without supporting comments. I don’t want to bore the community with my own essay, but in brief:
Every Ajax/Web 2.0 play and its dog are trying to repeat the DOS/Windows history, but it’s an entirely different marketplace with perhaps three orders of magnitude more players. Despite a few hundred years of business precedents when Microsoft came around, no one predicted the DOS/Windows monopoly–but plenty of pundits were off predicting other interesting futures based on their analysis of the past.
I think it’s a touch naive to assume that:
The NewSDK will be the second coming of Microsoft Windows; this is exactly how Lotus lost control of the spreadsheet market. And itâ€™s going to happen again on the web because all the same dynamics and forces are in place. The only thing we donâ€™t know yet are the particulars, but itâ€™ll happen.
Any web developer knows that an imperfect free market with imperfect bickering standards bodies can perpetuate wildly inefficient and incomplete platforms for an awfully long time–despite a clear motivation from a lot of big companies to create a large, high-level standard set of cross-platform APIs. Throw in the open-source wild card, where large numbers of developers create amazing software for no particularly compelling financial motive, and the traditional predictable dynamics of the marketplace are further disturbed.
If recent history is any guide, it may be that instead of some “NewSDK” taking over, we’re more likely to continue to see incremental improvements throughout the web stack and gradual cooperation amongst browser vendors. Cross-browser-OS-compatible-across-every-web-app drag-and-drop and copy-and-paste? Yeah, maybe, but if that’s going to happen, it’s probably more likely to emerge via HTML5-like efforts than a new high-level GWT-like platform.
Am I wrong in thinking Joel’s history lesson a bit naive? Where do you think things are headed?
Posted by Ben Galbraith at 5:45 am