Allchin: Windows Rights and Wrongs

Updated: Q&A: Microsoft's soon-to-be-retiring Windows chief offers a candid look back at the good, the bad and the ugly (think DOJ) that shaped Windows over the past two decades.

Jim Allchin, co-president of Microsoft Corp.s platform Products & Services division, was wooed from the company he helped start, Banyan Systems Inc., to join the Redmond, Wash., software maker in 1990 with a simple promise from Chairman and Chief Software Architect Bill Gates. Allchin was told that no matter how good Banyans software was, at Microsoft hed be able to affect more people. Allchin, who will retire next year after Windows Vista ships, sat down last week with eWEEK Senior Editor Peter Galli to look back at 20 years of Windows and consider the impact hes made.

Before you joined Microsoft, you were the principal architect of the VINES [Virtual Integrated Network Service] distributed network operating system at Banyan. How did that influence your work on Windows?

The first thing was that, at Microsoft, networking was viewed as separate from the operating system, and that was so strange to me. It didnt make any sense at all, and I recommended that we disband the network business unit over time and move those resources into either the Windows client or a new group that was being created, the NT group.

Microsoft had a separate product called LAN Manager, which had all the networking functionality separate from [IBMs] OS/2, and that seemed very strange to me given my Unix background. I remember Brian Valentine [now Microsofts senior vice president for the Windows Core Operating System division] and I did not see eye to eye about that. I love Brian, and I think he likes me now, but it was a difficult transition because he was the engineering manager for the network business unit. Windows for Workgroups came out because of the resources that were moved over to boost the talent working on networking within NT, and I think that really helped.

When you first started working on Windows, what did you see as its greatest challenge?

Well, to be polite, let me say that it was not a system that was designed and architected the way I would necessarily have done it. You had something that had great applications, but the architecture was not one designed for robustness and security and extensibility and high performance. There was no path for us to get a server technology out of the Windows for Workgroups technology, and so, to me, we needed to align resources behind NT as fast as possible, even though it was going to be years and years and years before it was ready for prime time.

Was the shift of resources toward a more server-based code base a difficult one, and did you face obstacles within Microsoft?

Well, its a tricky balance, and, at that time, it was very [unclear] how far NT would be able to go in its first release. Was it a direct replacement of the Windows client the first time out, with NT 3.1, or was it an intermediate step? I would have to say that the first release was basically a proof point, but it really was not an accepted product at that time.

Were there conflicts? Yes, because the Windows 95 [code-named Chicago] work was going on concurrently, and the Chicago group took some of the work that was destined for NT—the Cairo [code name for an NT project] work like the user interface. The idea was that Cairo was going to be a drop-on on top of the NT system. But NT became so delayed, and it was so unclear that it would be able to achieve its objectives, that we moved resources from Cairo and focused them on Chicago to do the user interface.

So there were overlaps between those teams, and there was a little rough period there. And then, after NT 3.1 was out, it was designed as both a client and server, and we looked at how we could get more focus on both the client and server independently. ... We started to focus the teams on two separate areas, trying to make the server into a true server operating system. We knew the client would take longer.

Then, in my opinion, we started to make the most progress on the server with NT first, and it gave the client of Windows 95, the 9x code base, a longer life than was ever planned here at Microsoft. And there were several versions done beyond Windows 95 simply because we could not quite pull it off to get over to the other code base. It took a decade of work to make that change.

Did you ever expect that moving to a single code base would take so long?

Nope, nope, no. There was a period with NT that shows that we were not quite connecting. Try to put yourself back there—imagine that 2MB, 4MB was a lot [of memory], and there was a meeting I had with some of the NT people and they said that they didnt understand the problem, as it worked great on a 64MB MIPS (microprocessor without interlocked pipeline stages) machine. It just showed how much we were off in terms of being able to hit the target market that existed.

But we didnt blink and just focused on the architecture that would eventually be the right one. We plowed through performance problems and size problems and compatibility problems and eventually made it, in my opinion, with XP.

What do you see as the greatest challenge facing Windows today?

I think we are doing so many great things in security with Windows Vista that ... although there will still be issues, I do believe that we will take a big step forward on that front ... one that I dont think people will recognize for years. But I believe there are many challenges that are opportunities for us to do something about.

Ill give you some examples ... it would be great to install the next operating system and know there was guaranteed compatibility and not have to do massive testing, or having a completely stateless environment where a machine can be replaced very quickly because the state is well-separated into different component parts. These two will help with deployment and reduce cost.

Who were your primary competitors for Windows in the early days, and how has that competitive landscape changed?

If you go way back, there were many competitors, and Im going to say that Windows in the early days equals GUI (graphical user interface). There was the Macintosh, which was a competitor, there were competitors on the Unix side and, of course, [IBMs] OS/2.

The Macintosh has continued to be a competitor, Unix has changed, but we now have Linux eating Unix, which is a huge change. At one extreme, on the client side, the only one thats really gone off the market is OS/2.

On the server side, Unix has now pretty much become Linux, so its the same there in terms of the big animal. There are different programming models and you could then question the role of the client and see a lot of changes there, but my view is that Windows is the platform for all that. To me, shame on us if we dont just keep innovating and taking advantage of all of the computing models so that Windows has everything for customers.

When you look back at what Windows was in 1990 and you look at what Vista is slated to be next year, are you surprised or disappointed at the level of development and sophistication they have achieved?

I would say both. I didnt know that we were going to make as much progress on the tablet [PC], which is an incredible advance, and the stuff were doing in Windows Vista will let it read your e-mail. Thats phenomenal, and I would consider that to be a surprise. There are other things, like how hard it is to do application compatibility, that I continue to be humbled about.

Then, take security. I dont think the people who created the Internet imagined the world we have today. I mean, you look at SMTP. If they had foreseen it, we would not have unauthenticated e-mail, in my opinion, as the standard. So there are many things we have all learned as an industry.

Do you think that pace of innovation will be incrementally bigger or slower over the next 20 years?

More, there will definitely be even more. I had lunch with Brad Silverberg the other day and we were chatting about how fast you can do things today. The tools are just so incredible and you can do experiments so fast and try something really quickly and if it is a winner you can start investing more development resources in it. That is very exciting and will create as many new business models as anything, and that will feed back on itself on terms of technology.

But I definitely think we are going to move faster. That is a huge challenge though, which is why we are spending a great deal of time trying to learn as fast as we can about how to run projects of large size yet have them decomposed into smaller pieces to move faster.

Next Page: Ups, Downs and the Linux Competition