As Microsoft’s chief research and strategy officer, Craig Mundie will play an important role in shaping the future of personal computing. Since Bill Gates’s retirement in July, Mundie and chief software architect Ray Ozzie have jointly led the company’s technical direction.
Today at Technology Review’s EmTech Conference, Mundie will deliver the keynote speech on the ways in which new approaches to hardware and software will transform people’s lives. Technology Review’s assistant editor, Erica Naone, caught up with him before his talk to discuss the role he sees for cloud computing–the trend shifting computer processing and storage away from desktop computers and onto distributed computers across the Internet.
Technology Review: People often talk about software moving from the desktop–programs running on a personal computer–to the Internet–programs running through a Web browser. Do you see this as the next big thing?
Craig Mundie: My view is that the next big platform shift will actually be the composite platform, where we glue the Internet platform to the evolved client platform [clients include desktop computers, laptops, mobile phones, and other devices], creating a uniform programming architecture across those things.
TR: What kinds of programming techniques would be needed to support so many devices and processors running in parallel?
CM: Many of the basic tenets of how people write programs and have written them for decades no longer turn out to work very well. Traditional procedural programming languages tend to mask or in fact squeeze out the inherent parallelism in many problems just as a byproduct of the structure of the languages. How you get programs to be correct at larger and larger scales across this distributed concurrent environment is another problem. We need better tools for debugging and ultimately even program proof [automated tools to verify that a program’s algorithms function as intended] that will allow us to put these new applications together. And then, at the end of the day, we actually have to have new applications.
TR: What would these new applications be like?
CM: There will be a class of experiences that naturally incorporate all of the intelligent clients in your life. Today, you can buy a cell phone and a car and a TV and a game console and a laptop and a desktop, but it’s sort of left as an exercise for the consumer to figure out how to make the same stuff appear on all of them. Today it’s just way too hard. What you really want to do is think of this collection of clients that work in concert with a collection of Web-based services. But, when taken together, they give you a much better experience in that regard. If it’s your music, for example, you can say, “Look, I just expect to be able to listen to my music no matter what device I happen to pick up.”
When designing an embedded system choosing which tools to use often comes down to building a custom solution or buying off-the-shelf tools.