Jim Allchin, former co-president of the Platforms & Services Division at Microsoft, had responsibility for the product delivery, engineering and technical architecture of Windows, including Windows Vista. After 17 years with the Redmond, Wash., company, Allchin retired Jan. 30, the day Microsoft officially released Vista to consumers. A few days before he left Microsoft, Allchin spoke with eWEEK Senior Editor Darryl K. Taft about the developer opportunity with Vista.
What stands out about Vista for developers?
Clearly, ever since the beginning of this product cycle, we were focused on having a developer experience that we havent had in years and years. If you look back over the past operating systems, they all did individual things for individual customer segments that were incredible. Windows 2000 brought reliability on the client side for enterprises and businesses. XP was great for home users, but didnt do much for businesses. Windows 2000, of course, didnt do much for home users. But neither one of them really had a focus for renewing the developer opportunity. And with Windows Vista that is clearly one of the core things we are trying to do.
So even going back to the PDC of 2003, that was clearly a core message for the product. So I think we are positioned very well. I think its going to take time for the new apps to take advantage.
I have seen either in beta or even in final releases some amazing applications. And they span the gamut of everything from DirectX 10 games, which are truly mind-blowing.
We feel like weve done a very good job. I think it was smart what we did in releasing some of the technology on Windows XP to get people bootstrapped. I think were much farther along, because it was a large change that we did here. And for people to really get started if they wanted to be a first mover it was going to take time. So Im glad we released some of those things on XP to get people going. Then when you run it on Windows Vista you get more capability.
At the outset, when you began to think about what Vista would be. How much did you factor developers into the equation?
To some degree we may have even factored them higher than any other group. In fact, one of the issues that people got confused about from the Professional Developers Conference in 2003 was that we had these three pillars. There was data, theres presentation, and theres communication. And they thought that was all that Windows Vista was—at that time it was called Longhorn. So we had to spend time saying, "No, no, no, that was just about developers, dont get confused. Were going to have all this great stuff for how you can administer the system for the enterprise, and were going to have new imaging, a new setup, and theres going to be new movie capabilities, etc."
So to some degree we weighted it very heavily. We didnt pull off everything we wanted. We didnt get WinFS into the system, but we did put Avalon and Indigo in. And, in addition, we did improve the storage system that we have in the product. And we did a whole bunch of stuff that we hadnt even been planning for back in 2003.
What are you advising developers to do regarding Vista? Upgrade existing apps or write new ones?
I think there is some guidance on this. The gist is if youve got your current application the No. 1 thing, you have to make sure its going to be compatible, in particular with being able to run in standard user. That by far is the top thing that companies should do if theyve got an existing application. Why? Because that is something you have to test and you have to know that your application is going to be compatible because its a core foundation of what were trying to do.
So the guidance is going to be to update your app to make sure its going to be compatible with the security changes, start taking advantage of some individual features, whether it is Aero or simple things like Thumbnails, etc.
How do you think Vista measures up as a development platform when compared with the Mac or Linux?
I dont think theres any comparison. I really dont. I dont think theres any comparison in so many different ways. First, we have a different philosophy because were so focused making sure things are compatible and ensuring that the huge array of applications continues to work. And thats something that ends up helping developers because the operating systems will rev and it helps them avoid support calls and everything else. And we keep their training that theyve learned in the APIs alive, and they can go from one rev to another.
We are very much an ecosystem, partner-oriented company. And by that I mean we spend so much time just ensuring that were out talking to developers and trying to give them the materials that they need. And, frankly, I dont remember the exact number of new APIs in Windows Vista, but there are about 7,000. So itll take time for the wisdom and knowledge to build up on this, but its really quite impressive.
And our tools are very good in terms of being able to whip out apps in short order.
So I think the breadth of what were doing is just huge. Lets face it; Apple has nothing like DirectX 10. In fact, the PC leads all gaming consoles by a generation with what were doing in Windows Vista and DirectX 10, once you put the new hardware on it. Youll be able to do things with that system that you cant do anywhere else. So I think that theres a huge difference—our commitment to peoples success in terms of third parties, our commitment to using the knowledge that they bring from the past, the fact that weve improved lots of parts of the system to make it easier for them, and our tool set all comes together to make a very compelling environment.
So what is the dev tools story for Vista? Is it Orcas or is it Visual Studio 2005 plus?
Well, you could certainly use the current system thats available. The tool sets will just get better and better, so you can use whats available today. You can absolutely develop with the tool set thats out there. Thats what these companies are doing that have apps today; theyre developing with the tool set thats out there.
Theres a service pack that just came out that improved the tools suite even more.
Does Vista help erase the boundary between Web apps and fat-client apps?
I think not, but it certainly has the beginnings. And youll see us be able to do that more with WPF/E. That technology is basically Avalon, and so what youll end up with is that youll be able to write a great Web app and if you happen to be on a richer foundation on Windows, youre going to have all the power of the whole presentation system that you can take advantage of. And if not, youre still going to have a richer environment for the Web.
So I think the answer is no, we havent erased that, but were on a path to make it much more seamless especially for developers who have invested in the presentation foundation and some of the managed code environment to make that much more seamless. Today, its quite a different world, where you think about coding your Web app in a different way. As youll see us talk about at the MIX conference, well talk about this in a much more concrete way. Youll see that we are trying to use the investment that developers have in our technology in order to be able to bridge that in a more seamless way.
Does Vista help developers write more secure code?
Absolutely. First, our tools are much better, our guidance is phenomenally better, and Vista by its very design will encourage developers to follow a set of methodologies that will end up with a more secure application. Examples here are that we will have what we call data execute protection that applications generally can and should opt into. Which is turning on no execute bits in the hardware.
We have something called ASLR [Address Space Layout Randomization], which unless an application writer really goes out of their way, we will automatically be able to relocate parts of their application. And all of this ends up making your application more secure. But it starts with better guidance, better tools and then the architecture that we use.
So the answer is yes, without any question. In fact, I dont think anybody comes close to the work that weve done in terms of the software development life cycle.
When you start out thinking about the next rev of an OS and you begin to think about how you want to architect it, whats the goal? How long do you expect it to be around?
A long time. A long time. You have to understand, at the breadth of who we provide Windows to itll be used in kiosks, itll be used in emerging markets, itll be used by students, itll be used in small businesses, large business, and well localize this thing into 100 languages or so. And it happens at such a volume that this product will be around a very, very long time.
Of course, well have new versions of Windows, but just like Windows XP has done just fine since we released it on Oct. 28, 2001. And this product is designed for that kind of longevity as well. Obviously, well be supporting it for much longer.
Its a fine balance here of how far we can push innovation and bring people along. If we had a fresh sheet of paper wed probably design things a little bit differently. But because of the benefit to customers of things like application compatibility, as well as the benefit to developers of being able to keep selling what theyve made today and be able to leverage their learning, were in a situation where we can drive innovation just so far and then we have to say thats good enough for now. That way everybody gains. The customers gain, regardless of the walk of life they come from, and the developers gain as well.