Tuesday, 17 June 2008

Where Microsoft (and the software industry) is going (and why they won't like it when they get there) PART 1

There are two paradigms being offered in software:

a. The Microsoft/warehouse paradigm where there is a warehouse of applications and data for the user to configure and turn into something useful.

b. The service oriented approach where an assistant is configured to do something useful.

Microsoft has been offering software, for as long as there has been a Microsoft, that works for nearly everybody. They didn’t always build that software. Most of the time, in fact, Microsoft bought companies that had chosen to specialize in one thing (operating systems, word processing, presentations, spreadsheets, and so on.) Then, they figured the right way to make money on these products and the rest is history.

There is an implicit assumption of what it takes to make it in the software business, with this vision, if one can call a acquisition of specific software products a vision) of the what will work in the software industry as a business strategy. The implicit assumption is this: one size fits all. Or, in other words, all businesses are alike in their software needs. (The sad things is how many people now believe this nonsense.)

I was confronted with this one size fits all vision in the early 80’s when it was first coming into the software world. Until then, there were plenty of players who were inventing cool software. There were many word processing systems to choose from for example, and VisiCalc, Lotus and others applications were being developed by independent companies with a point of view about good and useful software. But, lurking ready to pounce, were the Venture Capitalists.

The VC’s had a point of view, one that made lots of sense to them given their general get rich quick attitude towards business. I worked in Artificial Intelligence (AI) at that time. (I was the Chairman of the Computer Science Department at Yale.) VCs were in and out of Yale in the early 80’s, looking for the next big thing.

AI was in their sights and they visited every AI lab in the world, trying to commercialize intelligent software. At that time, AI was dominated by Expert Systems, which were a set of rules meant to imitate the behavior of experts at finding oil, or medical diagnosis, or stock market analysis. There were some very nice expert systems that had been painstakingly built by AI experts in university labs. The VCs wanted to commercialize this process and so they began to finance the construction of various expert systems shells.

These shells were meant to be sold to companies who would then employ them to build their own expert systems for internal or external use. In other words, the idea was to take the AI people out of the AI process thus allowing for a one size fits all tool to be a commercial success. The problem is that the AI people were the key to AI. AI people were doing something that is quite difficult: they were interviewing and attempting to model the thinking of, real human experts. This was serious work.

But in the VC model, that serious work could be done by anyone in any company, as long as they had the right expert systems shell. I begged the VCs to consider a different model, but they wouldn’t. I ran a panel at the yearly AI conference hoping to energize the AI community to fight this trend, but there was money in everyone’s eyes. I predicted (accurately) the coming of AI winter, when AI would be a bad word and funding would dry up.


But really, the VCs were not to blame. Over time what has happened is that we have all come to believe in the idea that was really being sold to us by everyone involved in the software industry: software should be for everybody. This is another way of saying that it is the job of the user to customize software not the job of the software industry. (This idea is the bedrock upon which Microsoft was built.)

Every time someone tries to build some specific, knowledge-based software, they must compete with an army of Microsoft salespeople who claim that the generic software that Microsoft offers will work anywhere for anybody.

The expert system shells worked anywhere for anybody too, but in the hands of anybody, they didn’t do very much of interest and AI failed as an industry.

Ask yourself who is offering software to the shipping industry? What do they know about shipping? Would software for shipping be different if it were designed by shipping people? I bet software designed by shipping people wouldn’t have a box to push to press OK after telling you that there was a fire on board.

Eventually, an assistant will exist for every person on earth in every enterprise. This assistant will be developed and configured by the software service providers - thousands of them. Who develops the underlying platform is no longer the user’s problem it is the service provider’s problem.

No comments: