The New York Times got a little over-excited in their description of the "new world of software" offered by web componentry - take this, for instance:
Indeed, blocks of interchangeable software components are proliferating on the Web and developers are joining them together to create a potentially infinite array of useful new programs. This new software represents a marked departure from the inflexible, at times unwieldy, programs of the past, which were designed to run on individual computers.
Hmm - I've seen that promised before - in fact, every new buzzword fad that crosses the industry promises it. The initial hype surrounding Java, for instance, promised a world of interoperable Java components everywhere. What I really like is their quote from Tim Bray, followed by the Times reporter's description of XML:
"These tools are changing the basic core economics of software development," said Tim Bray, director of Web technologies at Sun Microsystems and one of the designers of a powerful set of Internet conventions known as Extensible Markup Language, or XML, which make it simple and efficient to exchange digital data over the Internet.
Angle brackets to the rescue, apparently. The main gushing is over services like S3, and the various Google applications and Yahoo applications that can be wired together using Http APIs. That's cool, sure - but you can't really base your company's future on the free implementation, because you'll end up at the mercy of whatever outages they have - I wrote about that the other day. There's also an over-abundance of confidence in a single business model - the online application that's supported by contextual ads:
Early examples of the trend were tiny companies with significant ideas, like the consumer Internet software start-ups Flickr, a Web-based photo-sharing site, and Del .icio.us, which makes it possible for Web surfers to categorize and share things they find on the Internet. Both were acquired last year by Yahoo.
That's all funded by things like Google's AdSense - and it seems to me that there's a major correction coming in that market, based on the burgeoning threat of click-fraud. Especially when the ultimate vendor seems to benefit from the fraud (not by propagating it, more as a side-effect). Eventually, the people buying ads are going to start wondering exactly what it is they are paying for. When that happens, the business model behind a lot of the free services out there are just going to implode.
Of course, no article like this is complete without some mention of how this new trend is going to save us all from offshoring:
Even more striking is the suggestion that a broad transformation of software development might reverse the trend of outsourcing to India, where highly skilled but low-paid programmers are plentiful.
Hmm - if this trend is leading to more easily funded startups, with people working out of their homes, then how exactly does that "reverse the trend"? If distance and location end up mattering less, then cost would be one of the leading factors in any funding decision, seems to me. Not so, say the experts:
"Transforming the economics of software development completely transforms the rationales for outsourcing," Michael Schrage, a Massachusetts Institute of Technology researcher, wrote in the current issue of CIO magazine.
Given the argument being advanced in this article, I don't see how. If I can hire people from anywhere, and they can build me a new application by mashing up pre-existing components using net APIs - why wouldn't I just go with the lowest cost provider of the programming expertise? Either Schrage hasn't thought that through, or the Times decided not to add his further thinking on the subject. As I read the article, that assertion makes no sense.
Ultimately, what puts the larger vendors at risk isn't the web, or Ajax, or software components - it's a couple of different things. In the case of Microsoft, it's simply their size, and the way they've been building software. By trying to bundle everything into Windows, they've created a huge, unmaintainable ball of mud that no one understands. Realistically, they need to do what Apple did with OS X - throw it all away and start over. I'm not sure that they have the intestinal fortitude to do that though, and they'll end up suffering for that.
Sun? Their problem is even simpler. By introducing Java a decade ago, they commoditized their entire market. Sun's business was built off selling proprietary hardware at profitable prices. What Java did was destroy most of the rationale for buying Sun hardware. Why buy from Sun when you can "deploy anywhere"? When Sun wonders why commodity intel boxes have overtaken them on the server side, they can have a look at the Java division for their answer.
As to IBM, they've adapted to the emerging software trends better than either MS or Sun. They had the disease that Microsoft is suffering from in the 80's, and they seem to have learned from that painful experience.
So is this a new world of software components that "changes everything"? I don't think so. During the 90's, Microsoft Windows was the OS on the vast majority of desktops, and they crreated a working component model - COM. A large set of components emerged that could be wired together by end developers building Windows applications. Which is to say, we've been here before.
Update: Dare Obasanjo has a much more concise summary of the article:
I've heard that it's hard to take newspapers seriously because when they write about things you are knowledgeable about they get it wrong. John Markoff does an excellent job of proving that old saw right.
About the size of it