Tuesday, July 05, 2005

Gates outlines the future of software

I love Bill Gates as a philanthropist. He deserves the knighthood bestowed upon him by Queen Elizabeth for the phenomenal deeds of the Bill and Melissa Gates Foundation. I would guess, even when adjusted for inflation, that Bill Gates may well be the most generous rich person ever -- exceeding Carnegie, Rockefeller, Ford. As a citizen of this planet, I thank you Bill Gates.

In the early years of the PC industry, I loved Bill Gates as a technologist. MS-DOS and Windows truly revolutionized the world in a very good way, especially after the emergence of WORD and EXCEL. In later years, I despised Bill Gates as a monopolist. I ernestly wished Judge Thomas Penfield Jackson's bid to break up Microsoft had gone forward as originally ruled. I believe the software industry would be far healthier today with Office and Windows split into two different companies. But, alas, Microsoft did learn some valuable lessons from all their litigious experiences, such as the decision to license Microsoft's Office XML formats (see XML Uber Alles) using Laurence Lessig's Creative Commons alternative to traditional copyrights.

I tend to be a tad skeptical sometimes when it comes to buying into Bill Gates' predictions about the future of software. I haven't gone back and re-read his book, The Road Ahead, but I'll wager his prognostications weren't always spot on. On the other hand, Gates has the advantage of knowing precisely what's happening inside his own research labs where Microsoft invests a staggering $6 billion annually in R&D.

Years ago, the ruling author on all matters related to IT was a gentleman by the name of James Martin. He would visit the development labs at IBM and DEC, and the engineers there would throw open their kimono and show him everything they were working on. Then, James Martin would essentially preannounce what he saw by making bold predictions about the future of the software industry.

Problems arise with Bill Gates' predictions about the future of software when he's swayed by Microsoft's narrow, parochial interests. For instance, I'm quite sure you won't hear him speculate on the positive influences of open source software.

Recently, Bill Gates presented to an audience in Singapore where he predicted web services will have a "catalytic effect" on software development; speech recognition will go mainstream in three to four years; and search capabilities will feature richer, clearer interfaces. That's probably not a bad list, but I'd remind everyone that speech recognition has been going mainstream in three to four years for at least the past twenty years. It wouldn't surprise me if it's still going to be going mainstream in three to four years, twenty years from now. I also get edgy when I see a prediction that appears to be squarely aimed at a specific competitor, especially one touted as the next great hope for breaking Microsoft's monopolistic hold on the software industry. For the time being, I don't see Google following in the footsteps of Netscape into software oblivion. I'm quite sure the competition between Microsoft and Google may lead to more amazing new search capabilites, so predicting richer, cleaner interfaces seems like a pretty safe bet.

The most important message I discerned from Gates' analysis was his comment that three key audiences need to be kept in mind when dealing with software:
  • the worker who deals with information
  • the developer who builds applications, or extensions of applications
  • the IT department which needs to maintain directories, manage the system, provide support, and generally improve productivity
I wholeheartedly agree with Bill Gates that "There is a need for one architecture that addresses all these needs."


Anonymous Jack Krupansky said...

I'll agree that there is "a" need for one architecture, but I'd also suggest that there is a crying need for multiple architectures as well.

Some arhcitectures will simply be for competition, since that's the best way to determine which architecture is "best".

Some architectures will be driven by only one of the three key audiences, depending on the life-cycle position of the parent organization.

There will be multiple user or worker-driven architectures in the coming years.

In some cases, organizations need the ability to rapidly evolve at a deeper level, and architectures optimised for app development and evolution will reign supreme.

And finally, some organizations will be quite mature and need to optimize the enterprise IT operation, even if that limits worker and developer flexibility.

I'm not sure I can think of one case where a global, one-size-fits-all architecture was both successful for a very large audience, and sustainable for an extended period of time. Even the IBM 360 had its limits. Unix is certainly not even close as an architecture. Of course Windows and .net are not all-encompassing architectures either. GM caused itself some problems when it tried to have common parts between the Vega and Cadillac.

I suspect that the closest we can even theoretially come to single-architecture is to focus on interoperability between component and layer of abstraction architectures.

And if you really want to do something about global architecture, we desperately need to get rid of C, C++, Java, C#, PERL, Python, PHP, HTML, XML, SQL, TCP/IP, HTTP, UNIX, and a host of other technologies which simple weren't designed from the perspective of a global architecture. We need more of a global meta-architecture

-- Jack Krupansky

6:32 PM  

Post a Comment

<< Home