Keenly aware that no one person can replace Microsoft's cultural icon, the company has divided his responsibilities among two top executives. Ray Ozzie has taken over as chief software architect, but Gates' role overseeing technical strategy and policy has gone to Mundie.
While Ozzie is tasked with trying to reorganize Microsoft's product units to better prepare for a world of online services, Mundie is focused on issues such as how to get PCs in the hands of the next billion users and how the software industry must retool itself as chipmakers add more cores to chips instead of trying to simply speed them up.
In an interview at this week's Windows Hardware and Engineering Conference in Los Angeles, Microsoft's chief research and strategy officer touched on those issues as well as the company's overall efforts to prepare for the coming time when Gates doesn't show up for work at Microsoft every day.
Q: Bill Gates has pointed to a couple of things that are still part of his vision but are going to take longer than the amount of time he's going to be working full time--things like the Tablet PC really becoming a mainstream interface and his dreams of what WinFS or a new file system could mean. What are your thoughts on those two projects?
Mundie: I've been, with Bill, a strong supporter of both of those things. I think that context-based both retrieval and interaction are going to be increasingly important in making the computer just a better partner for people. One of the reasons people love search is (that) search is content-addressable access to information. You didn't have to think about where it was. No one put it in a particular place so you could find it; you just get it. That's the way your brain works. You don't have little yellow folders in your head (or) say, "Oh, let's see, I just talked to Craig. I have to file that someplace." It just kind of goes in there, and you have this associative retrieval capability.
Intrinsically, humans love that kind of thing, and computers haven't yet got to that point. I think that that will happen, and all this kind of computation, as Bill mentioned in his speech, the big memories, I mean, all those big memories are a big part of getting to that kind of associative retrieval capability--that and a lot of computation.
And so we're laying the foundation. Many of the things Bill and I will say we tried to do together over almost 15 years, we've been surprised and sometimes disappointed by how long it takes before things that seem so obvious are ultimately fully realized. The IPTV vision as we know it today started out as the interactive TV in 1993, and it's only getting broad deployment today, almost 14 years later.
One thing that has been an instinct of Gates', which I think Ray and I and others at the company share, is the idea that we are a long-term investor. When we latch onto things that we think will have strategic importance, we just stay with them for very long periods of time. And many companies would not persevere through that; they'd give it a shot, it wouldn't stick, and they'd throw it away and go on to the next thing. But I think one of the reasons that Microsoft has such staying power is this duality of long term, sort of long-lead pure research where you don't know exactly what the value is going to be, and the ability to say, you know, when you get something you think is going to be important, don't give up, just keep on moving ahead.
And I think that those have served us well and, I think, will continue to serve us well.
You talked about the pendulum swinging again in terms of work being done on the server versus work done on the client. Does Microsoft need to change the way it develops software?
Mundie: What we had to add to the company, and have done--you could say we've been at it since the mid-1990s--is we've had to add services. That was a whole new thing. So, it started out as MSN and then Hotmail and the whole family of service-oriented properties, and they've been growing now for more than a decade. Ultimately, we had to start to platformize some of the underpinnings of that, which I think...will be part of how we scale up the services to meet these future requirements.
So, is the goal that some period of time from now developers will be able to--the same way they think of writing a program that sits on top of Windows--be able to write a program that sits on top of the Internet basically with Microsoft providing the platform?
Mundie: In a way it's a little hard to think about "sitting on top of the Internet" and that's why I think of it as software and services. Even though it's at the early days, there are a set of facilities that we provide APIs for, for the cloud-based (on the network) service. And so you can write an app on Windows and say, look, go get me a Live ID, go out to the cloud, check this identity, bring it back. And that's an example of a local application that's using a cloud-based service.
So we intend, whether it's identity, storage, presence, each of these capabilities will be part of a cloud-based platform. And indeed, people writing programs, no matter what the locus of execution is, will be able to invoke either the local machine facility or the cloud-based service pretty much with equal capability.
One of the things you've shown is that, for some emerging markets, one of the answers to getting more people access to technology is that the cell phone really can be a low-end computer, it can hook up to a TV, it can have a keyboard. Is that emerging as a pretty likely scenario?
Mundie: It's one that we'll have in the market in the relatively near future. It's not a super-big leap from a smart phone to one that would do that. The big issue is optimizing it for low cost because the people who are using these things are not demanding an enterprise line of business app integration. They want a much more simplified environment. So a lot of the focus there is sort of the consumerization of the smart phone technologies and their ability to make it economical to interface them with these other devices.
But I do believe that for many of those markets, the phone will be people's first computer. It's just a foregone conclusion, simply because the phones start at a much lower price, they have a utility that appeals to virtually every person as telephony always has and as they become more and more powerful. They won't start with a PC, then go to a phone and the television; they're more likely to start with a phone and then a television and then sort of a personally owned personal computer.
Shared access will probably be the predominating use for many of these emerging middle class and lower demographic people in terms of how they get access to a traditional full PC environment. And I think that's because there's just a cost factor that is more of an issue for them than has been the case in the more developed countries of late.
There's certainly a huge effort to lower the cost of a computer, a full Vista capable computer, and we have no reason to believe that that trend won't ultimately continue.
For years we got more and more megahertz, the computing industry really began to expect that. That's how systems were designed, that's how software was designed. All of a sudden that's really slowed, and what we're getting is more and more cores, but the software doesn't necessarily know what to do with that.
Mundie: That's right. We do now face the challenge of figuring out how to move, I'll say, the whole programming ecosystem of personal computing up to a new level where they can reliably construct large-scale applications that are distributed, highly concurrent, and able to utilize all this computing power. And that is probably the single most disruptive thing that we will have done in the last 20 or 30 years.
Obviously it's going to take a lot of different approaches to solve the problem. What are some of the kinds of things that are first?
Mundie: I think we're going to be surprised at how high the core counts go, and potentially how we see more and more specialty hardware cores put on these single die systems, and how to fashion that into a system is going to be more and more challenging. I contend that it's going to require an evolution in the thinking about what are the apps. If I told you that I could make Word, Excel and PowerPoint just as you know them today a hundred times faster, would it be significant for you? The answer is probably not. If I told you that Word became able to do perfect dictation, would that be interesting? It might be. And so there are some qualitative changes even in traditional apps that I think can be brought about by this computational capability, but only if we are able to write the code in a way that really exploits it.
One of the things you talked about is the fact the supercomputing industry has been tackling this for a long time. Microsoft recently scaled Windows to handle some of those (cluster computing) tasks. Is one of the reasons Microsoft got into that market the fact that you saw the whole computing industry is going to look more like cluster computing does today?
Mundie: In part it was. I was one of the big proponents of us moving into the high-performance computing space. My heritage is in that space, too. And I do see some incredibly strong parallels between what the supercomputing industry moved to in its last 10 to 15 years of evolution, and what I see happening in miniature at the desktop now.
I think there are some lessons that we can learn from our high-performance computing efforts that probably will help us, as every desktop has that level of capability or that architecture at least.
One of the biggest changes is that if you're going to scale the core count very high, the memory system architecture has to change; the traditional bus-oriented memory systems of personal computers won't scale to happily feed the hunger of all of these many processor cores, and so that brings with it another challenge or set of challenges.
When you talk about a very large number of cores, do you have a sense of a few years from now what types of systems you'll be looking at?
Mundie: Well, if you see the progression now, in the last couple of years we went from one core to two cores, and we've got four cores coming today. I have no reason to believe that the core count won't sort of stay on a trajectory that matches the transistor doubling.
The limiter then becomes "What is the architecture?" If they're completely disjoined, every one is unique and they have their own pins to talk, then you could say, well, you could just keep going. But, in fact, you run out of other physical things before you're probably ultimately going to run out of cores.
You have to figure out how you talk to them. That means that the input and output on pins physically will be different. How you get power into the chip and how to cool it continues to be a challenge. But I think certainly over the next decade I have no reason to believe you wouldn't see core counts that were north of 50 in these large chips.
One of the things that you've talked about is that all these cores give you the luxury to have the PC speculatively do some task that you might or might not do.
Mundie: That's right, power to burn. One that I think is the tip of the iceberg, this thing we did in Vista with SuperFetch to accelerate loading of the next app you might run required us to develop a model of your behavior and the time of day and what you've been doing and how many resources are there. But by speculating on what you're most likely to do next, we're using basically idle capacity of the machine to make it appear to be yet more responsive on some of the long latency tasks. I think that that kind of thing can be expanded quite dramatically.
I mean, if you think how does a computer play chess, right, I mean, what it does is in any given amount of time it runs through all the permutations and combinations of the moves that can be made from a current position, weighting them using some figure of merit, and then when it has to make a move it takes the path that it thinks has the highest probability of good score, and it takes that as the next move, and then it starts all over again.
In a way you could think, well, why couldn't we do some of those things relative to the tasks that people do every day? What's the next word you're most likely to type? I mean, today we do word-wheeling and other things. Maybe we could guess more based on how you write.
Obviously one of the reasons that your role gets so much attention, and Ray, is that you guys together are taking on a lot of the duties...How is that going from your perspective?
Mundie: I think for Ray, you know, he's been in the company a shorter time. He's taking on the shorter term cross-divisional architecture coordination role. So in a way I think it's a bit bigger change for Ray than it was for me.
I kept the part that I had. I've been working for Bill now for going on nine years directly and have been, I'll say, his partner in research and strategy and incubations and other things, and all the policy work.
And so for me, particularly since Rick Rashid is staying in his role as the founder and still running Microsoft research, that was a fairly straightforward transition. Ray has probably a slightly bigger list personally to make to just get himself assimilated, but we gave ourselves two years to manage through this transition. And I think that we'll see a very graceful transition in the course of the next year.
Is there a shift that the company sort of makes without Bill there every day?
Mundie: Well, I mean, Bill is still there every day. So one can say we don't really know yet because we haven't had to go cold turkey and say, "Oops, he's not here every day." Whether it was me or Ray or Steve or anybody else, they can still ask him a question.
And to some extent I expect Bill will still be available; but not being there every day, it will be harder and harder for him to deal with the very real day-to-day stuff.