Ray Ozzie, Microsoft's chief software architect, is not one to take extreme views or make outlandish claims. But he is adamantly sure of one thing: a combination of software and online services is the future.
And so far, Ozzie's contention that the industry is going through a disruptive shift from software to services is bearing out.
Desktop software heavyweight Adobe Systems is increasingly introducing online services. Even Web companies like Amazon.com and eBay are building desktop services, like gadgets or applets, to complement their Web services.
Microsoft detractors say that the company has been slow to develop ad-supported Web software because of its fixation on its massive on-premises software business.
But Ozzie says that the transition to software and services is under way and going well. For a taste, take a look at Silverlight Streaming, a service introduced at the Mix '07 conference in Las Vegas where Microsoft will store and stream video clips into Web pages at no cost.
Another key piece to building a services business is creating a platform and tools for programmers. Also at Mix, Microsoft said that .Net developers can build applications for Silverlight, its cross-platform browser plug-in.
Backstage after his keynote speech at Mix on Monday, CNET News.com spoke to Ozzie about the company's ongoing transition from the age of desktop software to a new era.
Q: Silverlight is deliberately cross-platform. We also see Microsoft supporting standards and participating a bit in open source. It looks like Microsoft is trying hard to be more than just a Windows company. Is that part of your agenda, or am I reading into it?
Ozzie: Well, Microsoft is a Windows company--it actually is the
Windows company. We have a really strong platform in Windows--it's in use by a lot of people, it will be in use by a lot of people. Hopefully, more and more people (will use it) because Windows Mobile has reached an inflection point.
I don't necessarily think that it would be accurate to characterize the increasing openness as a backing away from Windows. I think what it is is a reflection that Windows is in a broader technology environment. Just count the number of devices that are out there right now, count the number of people who use browsers in a variety of situations where it's not just their PC--they might be somewhere else. These are some areas that are very relevant, and if we did not have tools and platforms that serve all those things, then it's like a self-imposed exile. We're essentially reaching out to where the audience is.
Protecting implies setting up barriers--there are no barriers. These people are free to go take whatever solutions they want to put them in a browser.
It's a nonstarter for something purporting to serve people building Web apps to not let them reach the broadest possible audience. Because generally ad-supportive business models need to get to as many people as possible. Of course, we believe that our things will show best on our platforms. But we also want to go to where they (our audience) are.
Walking out of the keynote, I heard some people wondering whether Microsoft products like Silverlight will really work on the Internet or just inside company networks. You talk about Mac support today, but what about Linux? Let's just start with Silverlight on the Mac--is it going to be on par with what's on Windows?
Ozzie: Yes...I'm extremely serious about the fact that when you are developing for the universal Web (browsers for a range of devices), you can't think about what platform the user is running on. It could be on the phone, it could be on a PlayStation portable--do they have a browser on that? I don't know. It could be something that you don't even know what the platform is and we have to take that very seriously. We also want to make Windows the best possible platform for rich applications. So my guidance to the (Microsoft development) teams would be: look at the audience, where is the audience, and prioritize the development for Silverlight based on where the audience is. And we are investing that way.
It's not religious--let's just put it that way. To the extent we look at the audience for a given (Linux) distribution, given OS, whatever. And if it's a material thing, we'll prioritize it.
On services, is the Silverlight Streaming service something that we can expect to see more of from Microsoft?
Ozzie: Yes, you'll definitely see more. It's an example of where we can take advantage of our investments in infrastructure...(With) Windows update and our online services, we get great economies of scale, we build a data center infrastructure, we drive storage costs extremely low. So this is one good example of a service that helps the Silverlight developer--especially the "tail" developer. People that are at the head like an MLB or a Netflix (two Microsoft customers that showed off at Silverlight applications on Monday), they are big companies. They can negotiate their own agreements with content delivery networks. For most small app developers--this is a very complicated thing. And they won't be prepared for the spikes in usage if they achieve their dream at being successful.
There is this impression that Microsoft is protecting its turf when it comes to Web-based Office-style applications. You see Google doing it and start-ups like Zoho--and there are online ERP applications--and Microsoft hasn't done that yet. But Microsoft could do it, so why don't you?
Ozzie: People as far back as Desktop.com have done it. Well, I don't know how to say it other than to say that we're running a fairly significant business. Protecting implies setting up barriers--there are no barriers. These people are free to go take whatever solutions they want to put them in a browser. We believe--and I believe this deeply, I've been a desktop business for a while--that the deployment environment of using desktop tools on a PC is a really valuable one. Sometimes, just because you can doesn't mean that you necessarily should. To the extent that there are scenarios that involve the Web that are very useful, we are going to go after those scenarios because it helps our customers--we got to stay focused on those customers.
We're not going to be in a reactionary mode that just because somebody proves that something can be done, and it has some trade-offs, then we just immediately have to follow suit. I think that there are a lot of lessons they learned right now with those competitors of things that they've done that people just aren't using, and things that they've done where people are actually using it in ways that they aren't using desktop apps today. So I think that we are all learning from this and our product will end up in some hybrid form.
Looking forward, do you think that all your own premise software will have some sort of services component?
Ozzie: I believe that moving forward--and it's not going to be overnight--most applications that we would have conceived of as desktop applications...Actually, I shouldn't even say "most" because that would imply more than 50 percent. I would say the vast majority, the vast majority of applications that are today desktop apps or Web apps or rich Internet apps are all going to have some sort of component that is Web and client and mobile. Mobile, people don't talk a lot about today, (but) there is a lot of innovation, or turmoil--you can call it what you like--in terms of form factors.
I still think there is huge importance in every OS, in innovation in the OS itself. But there will be pure Internet apps that don't care what they're run on.
But I think the more Web developers want to extend their things outward, the more they realize that gosh, it's hard to try to figure out how to develop something for mobile and a desktop component. Desktop is on the increase not just because of local documents and off-line support. But because if you've got a Web site, people have to keep voluntarily coming back to you, and having something on the desktop that keeps reminding them and feeding them on a daily basis is actually a very, very useful thing for Web apps.
Where is it not going to happen and be true? There are very few environments that are not connected to the Internet. The Defense Department or places where they truly provide a firewall. Those guys continue to use applications that are server-based and client server or internal Web apps. But the vast majority of the commercial world and consumers--I personally believe will be these hybrid apps.
You say that this software and services design pattern is going to dominate and we're starting to see that now. How does that affect Windows on the desktop?
Ozzie: In my view, the primary role of a desktop environment or a device environment, a device's operating system--this is true of phone or a PC--is to make the best possible programmer-to-hardware experience or user-to-hardware experience.
The things that run on (my phone) like mail and my MLB apps--so I can do game day on my phone--those things are essentially going to take advantage of that client OS to give the richest possible experience while still being service-connected.
I still think there is huge importance in every OS, in innovation in the OS itself. But there will be pure Internet apps that don't care what they're run on. And there will be local client apps, but those clients ones are also going to be connected.
Do you think people are taking extreme views and discussing software and online services?
Ozzie: I think that it's easier to think about one extreme or the other, but everybody that is building software is actually thinking it in a hybrid mode at this point. Take the rhetoric aside--for all things that we do, I don't see us living at the extreme world, meaning apps that don't connect to the Web or service apps don't have some (offline) component.
The current state is that you provide APIs (application programming interfaces) and tools. So do, say, eBay, Google and Yahoo. But where do you want to go? People talk about a "cloud OS" and Windows Live Core project at Microsoft. What's different between this Windows Live platform today and where you seem to want to go?
Ozzie: I've nothing to announce in that realm at this time. Yet, it's pretty clear that we're working on some stuff.
Let's just separate it into layers. At the raw infrastructure layer, there is computation, storage, communications --those are kind of DNA elements of desktop PCs, servers, services, whatever. At the most boring, basic level, if there are ways that we can use our assets to extend them to developers in an interesting way, I think it's safe to assume (Microsoft will provide services) at the resource level--and Silverlight streaming is a good example of that.
The one thing that you can count on--absolutely, unquestionably--is that anything that we do from a services infrastructure platform perspective is aligned with the .Net story
At the next layer up are things that are referred to as foundation services. Things like identity, management and contact lists, photos, things that are one level of abstraction up. Windows Live APIs and the things that we are announcing here are good examples of things at that level. They're not really low-level, but they start to be really useful specifically to an app.
We have a broad palette of things at each layer that are coming down the pike. The one thing that you can count on--absolutely, unquestionably--is that anything that we do from a services infrastructure platform perspective is aligned with the .Net story--the same developer tools. There might be variants on the (.Net) framework because there might be different library services that are appropriate in a cloud world than an enterprise server world or a desktop world. But the same skill set--and we're supporting people in building, using, and in developing enterprise apps or desktop apps and now in the browser--will have the same thing in a cloud.
You first laid out the live strategy in November 2005. Where do you see yourselves in the progression internally?
Ozzie: I think we're doing actually very well, if you look at the number of offerings and how the groups are engaging customers and understanding how they want to deploy services and when.
I divide the world into two sides--I'll call one managed and the other unmanaged. The managed world is one where an IT person would be involved. We have offerings like Exchange and SharePoint, Active Directory--things like that. There's a lot of impact that's going to happen in that world related to services. You think of Salesforce.com in that world, but it goes way deeper than that. We have enterprise customers basically saying, "Look, you're talking about services infrastructure in the sky. Should I start beginning to think about doing my enterprise apps up there? Should I be thinking about enterprise infrastructure? Which pieces of infrastructure should go up there before other pieces? And are you going to help take us there?"
So those (Microsoft) business units are essentially engaging customers in trying to understand what kind of hybrid forms of say, on-premises e-mail versus on-the-cloud e-mail, on-premises content management versus out there. That stuff is happening and it's moving forward and there are groups working on hosted offerings that partners can use to host our enterprise servers in those environments.
On the unmanaged side where we use the Live moniker, I'll say we haven't done a particularly great job of articulating--I'll take a few arrows--why we choose to brand certain of the MSN services Windows Live and which ones not. To a technical audience, I can explain to them that the ones called Windows Live are the ones that we refactored so they can be syndicated and reused as reusable assets in a number of forms. They represent the platform layer of our services. The things you didn't see (rebranded) are shopping, the portal--those are MSN. Those stay there, we are not reusing those.
But we're making progress. Would we like to be as nimble as a start-up? Sure but we have a customer base, we want to bring the customer base through. When you look at the development work, I'm extremely pleased in terms of what they're building and why, what scenarios they are trying to address.