Allchin: Windows Rights and Wrongs

By eweek  |  Posted 2005-11-14

Allchin: Windows Rights and Wrongs

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

Ups, Downs and the

Linux Competition">

What are your fondest, and least fond memories, of your time spent at Microsoft and why?

There were so many good times here, the craziness, which unfortunately I dont think we do as much anymore. Some of them I really cant repeat.

We have had fun joking with competitors and internally, whether it be visiting the competitors—with the Windows 2000 launch we did some funny things with competitors and partners. [But] there is not as much fun that happens anymore.

I mean, good barbs from [Sun Microsystems Inc. CEO] Scot McNealy always helped energize us here and we would think about remarks we could deliver back to them. Those were some of the most fun times, doing things that grown ups probably should not do.

If you work on a project for a very long time you have got to have an outlet where you can have fun with others. I think it was the Daytona release [Windows NT 3.5] that Dave Cutler [who lead Windows NT development] brought his race cars onto the campus and we drove them onto the lawn and everyone got pictures of them. It was just a good time.

Recently I went and bought a big, heavy metal pig with wings and I brought it in to performance team meeting and said okay, it is now time to get this thing to fly. You know, just things like that. There is also a lot of camaraderie that happens if you go through hard times together that you can never replace, ever.

From your perspective, did the success of Linux and the growth in free and open-source software affect the way Microsoft developed Windows, the applications that run on it and the developer tools for it?

As you phrased the question, I would have to say no. We have learned a tremendous amount from them in terms of community. In terms of the development tools, there are some processes we have probably learned, but we can learn as much from frankly, as the Linux community in how efficient they are. But most of our learning has been internally.

Microsoft did not cut its teeth, so to speak, with Windows in the enterprise. How difficult was the move into that space, and how well do you think you met those challenges?

This is a glass-half-full, half-empty story. I think our reliability and resilience is excellent. I think our cost compared to others is excellent, but, if I look at the half empty, I can say, Wow, there is more we can do in terms of application compatibility, in terms of deployment and the like. So I think we have made progress across the board.

If you go back to the early 1990s, people would laugh about Microsoft having a server. It was viewed as a huge joke.

Click here to read about the latest progress on Windows Server R2 RC1.

Once we started to make progress with the product, they then said we didnt have any field infrastructure to support it, and then they said they needed consultants on-site, and we wouldnt do that. It was one thing after the other. So it has been quite a transformation.

In reading speeches you gave from about 1995 to around 2000, there is one noticeable and recurring theme: DLL hell, blue screens, application incompatibility and reboots. That was an extremely frustrating time for users. What were you and the development team doing to address this?

That is a very difficult problem, as DLLs offer advantages. The DLL problem was addressed by the work we did on side-by-side [implementations]. There is a set of technologies in the products today that let applications create side-by-side implementations, and the operating system can help support that. The way the Common Language Runtime and versioning is done now is pretty much side by side, so that you dont end up with that versioning problem.

In terms of the reboots, I consider that to be something we have analyzed six ways to Sunday, and there is a team working on this constantly.

There is an ongoing theme in many of your speeches over the past 15 years about having to drive down costs. When do you reach TCO nirvana, if there is such a thing?

Software is not the cost, its the operation. As with any of this stuff, you never reach perfection. So we have done a lot on reliability and people see that today. We are doing a lot on security and people will see that. I dont claim success there yet, but we are doing something there.

I claim that we will do something about deployment, although we have improved things quite a bit, the work that we are doing in Windows Vista in terms of the image management, is dramatic and original equipment manufacturers as well as corporations will appreciate the cost savings of the image management. But there is a pretty significant leap that can be done in the future on that.

But there are two parts to this equation: one is about cost and making the system more efficient, and the other is about adding value. Above-the-line you see things like what were trying to do with the new graphics system in Windows Vista, where we are putting a technology that others can take advantage of.

There are many things that will happen in the future on this front, and this is to some degree about us being creative and inventive and taking advantage of innovations that happen. It is not like we invented RSS, but we are creating a platform so others can take advantage of it.

Also, one day we will have speech and as we get a platform set of features in, then applications can take advantage of this and we are making a difference and there is value on top that we can add.

No look at the development of Windows would be complete without a look at the Trustworthy Computing initiative. How has it affected the way Windows developers program and the way Microsoft delivers more secure products?

Before we introduced this initiative, I guess I was naive about the level of issues we would see in the future. I dont think Im being naive now, as it is front and center of everything we do, and just like those reboots were a problem, feeling safe on your computer is my current hot button, and certainly the work we did in Windows 64-bit and SP2 [Windows XP Service Pack 2] are examples of that. Vista will take a huge step forward.

People may say that Trustworthy Computing is just a big label, but we swung the group around to do something about it, and we still have a ways to go.

The U.S. governments antitrust case against Microsoft played out in the courts all the way from 1997 to late 2001. Can you now, in retrospect, tell me what the biggest impact of the trial was and what you learned from it?

Well, it was very hard on me personally and on the development organization [and] the company. The integrity question is a very important one for me as well as for the company, and people here knew that they were working for a great company and so there was certainly a concern about how things were being portrayed. There were many [things we learned]: ... Transparency and leadership were good things for the company to learn, in my opinion. They were painful, and I dont think it was necessary, but those things make us a better company today, and my push for doing CTPs [community technology previews] is not related to that per se, but there is probably a [spillover] effect.

It is hard to have controversy if everyone knows what you are doing, right or wrong, so we are doing a lot more talking about everything we are doing.

Why have you have stayed at Microsoft for so long, especially in this, an industry where people are always moving on looking for excitement and new challenges?

I believe, because I believe the impact Windows can have is so huge. If you mess it up the impact on society is huge and if you dont mess it up, the impact is also huge. So Id rather stay and do a great thing.

I look at what Windows Starter Edition has already done in countries like India on the education front and I like being part of that and feeling that I am doing something good for society. I am not someone who will cure cancer, but maybe I can provide equipment to someone who is.

There is a database being used right now using some of the stuff we put together for the Red Cross after Hurricane Katrina. Thats why I stuck around. Yeah, there were lots of other things that I could have done, but we have impacted society in a very good way.

When you finally hang up your Microsoft hat around the end of 2006, what would you most like to be remembered for?

I havent thought about that, you are hitting me a little early. A believer in quality, a driver of quality, and a member of the team.

Editors Note: This story was updated to include further comments from the interview cut from the print version for space considerations.

Check out eWEEK.coms for Microsoft and Windows news, views and analysis.

Rocket Fuel