[Cache from http://www.microsoft.com/billgates/speeches/2001/03-19hailstorm.asp; please use this canonical URL/source if possible.]


  All Products  |   Support  |   Search  |   microsoft.com Home  
 
  HOME   |   WRITING   |   BIOGRAPHY   |   SPEECHES   |   GIVING   |   ABOUT MICROSOFT   |


 


 

Remarks by Bill Gates
HailStorm Announcement
Redmond, Wash., March 19, 2001

MR. GATES: Good morning. We're excited to have this chance to talk about a key piece of our .NET strategy. This is something we've been working on for quite some time, and we've had the chance over the last few months to roll it out to software developers to get their feedback. In fact, last Thursday we had a full day session, and it was really thrilling to hear from those people how they see opportunities around this piece of the .NET platform, which was codenamed HailStorm.

The .NET vision encompasses the idea of having your information wherever you want to go. This includes the future cell phones, your TV set, your tablet form factor PC, your desktop PC, wherever you are, and whatever role you're in, whether you're working, you're acting as a family member, you're acting on behalf of some other group you belong to, your information will be there available in the context that's most appropriate for what you're trying to get done.

And so that vision of .NET leads to some very obvious things. One is that you shouldn't have to repeat the same information in multiple places. In fact, we go so far as saying that this whole vision of having multiple devices can only work if, magically, behind the scenes, the information is moving between those devices without the user having to get directly involved.

Well, the computing industry has gone through a lot of revolutions, and we find ourselves now at the beginning of the XML revolution, .NET is simply Microsoft's platform for XML. In fact, if you look at every one of these revolutions, Microsoft has had a set of implementation that address the opportunity there. With the PC, it was an idea that we really drove that hardware could be compatible across different manufacturers, and that the software industry should be a very large industry with literally tens of thousands of applications. That vision really changed the world and created the software industry that we know today. So the vision was the PC, the product was MS-DOS.

The next phase for graphics interface was something that several companies, Xerox, Apple and ourselves, really bet our lives on. We said this was the way to do computing. And actually until about five years ago, there was a lot of uncertainty, people wondered if that was the right approach. In fact, many application developers hesitated to do graphical applications, while we and some other pioneers, again, bet our future on graphics interface. Our product there was, of course, Microsoft Windows.

The Internet revolution, which you can date from 1994, 1995, different dates there, was one that really happened, from our point of view, very suddenly, and we found ourselves stepping back and saying, what was this phenomenon? And there were leaders like Netscape, or the W3C doing great things there. And we responded by coming in with Internet Information Server, a lot of programming tools like Visual InterDev, and of course, our browser, Internet Explorer.

The Internet revolution was very exciting, the idea of pervasive connectivity is, in fact, the foundation that this next revolution is built on. It's by having that connectivity that we'll finally get software that can easily stay up to date. By having that foundation, that users will be able to get support for anything they want easily over the Internet without having to work, calling up on the phone to describe how they want their system to work in a different way.

This revolution has some very important technologies behind it. It's not just about presentation onto a screen. It's not just about one Web site at a time. This is a revolution where the user's creativity, and the power of all the different devices can be fully engaged. I talked at Comdex last year about how XML was a protocol that allows for intelligence, both in the server and on the client itself. It's really the best of both worlds there, unlike previous protocols that, of course, all the intelligence either down to the client level, not allowing the server to do what it does best, or vice versa, forcing everything onto the server and then not being able to work offline, work with multiple sets of data, and do the things that have really characterized the PC revolution.

And so we're building a foundation here around XML. What's the history here, when did this really start? Well, certainly some people at Microsoft, like Gene Paulie, who was on that original XML committee back in 1996, who talked about this as a five-year effort to really get these things going. We first talked publicly about XML Web services in September 1999. And I remember at the time, you know, we had some people who really understood what we were saying, but overall a lot of people said, hey, come on, why is this important, we've got HTML, you can go to any Web site, isn't the future about e-anything, and all the start-ups that are doing those HTML Web sites.

Well, we've been working on some key tools that go around this XML advance. In fact, the big milestone for us will be the shipment of our Visual Studio product later this year. That's the first development tool that's really been built from the ground up around XML Web services.

Now, on the Internet today, one of the problems we're addressing here is that as you interact with these different sites, as you give out your zip code, or your preferences, or as you work with these devices, and you might update your calendar on your PDA device, and yet you want to see that information through your PC, there's all this disconnection taking place. And yet, most scenarios assume a high level of connection. Take, for example, when planning a trip, you are likely to want to use your full screen PC. That's going to let you see the maps and the choices, and the budgets, and you'll do your organization there as well as notify your friends of what you're thinking. But if at some later time you're not in front of your PC but you simply have your intelligent phone or PDA, you'd like to be notified if a flight is canceled, or if somebody's plans change, and that means that you need to make a change in the plan you've put together.

Well, that scenario says that the work you did on the PC is, in an automatic way, available to you on that PDA. Not only that but your interest in being notified, your preferences about what's important to you and what's not important to you, if a flight time only changes by five or ten minutes you probably would not want to be interrupted on that device. And so it's the preferences and behavior you have across all your devices should determine exactly how you're notified.

In fact, when you come back from a meeting you might be more interested in being notified than when you're inside a meeting. And when you go home you might be more interested in being notified about things that relate to you in your personal capacity, as opposed to things that relate to your job. And so stitching these islands together is about having a standard schema, in fact, a very rich schema where all this information is stored, and letting all the applications and devices have access to the degree you give them permission to use and update that information.

Now, schema is the technical term you're going to be hearing again and again in this XML world. It's through schemas that information can be exchanged, things like schemas for your appointments, schemas for your health records. The work we're announcing today is a rather large schema that relates to things of interest to an individual. And you'll recognize very quickly what those things are, things like your files, your schedule, your preferences, all are expressed in a standard form. And so, by having that standard form, different applications can fill in the information and benefit from reading out that information and benefit from reading out that information. And so it's about getting rid of these different islands.

It's really a necessary step in this revolution that there be services like HailStorm. There's no way to achieve what users expect and really get into that multiple device, information any time, anywhere world without this advance. So you can envision the XML platform as having two pieces. The foundation pieces that are done in the standards committee, going back to that original XML work in 1996, but now complemented by a wide range of things, things like X-TOP, X-LINK, the schema standards that have come along.

One of the really key standards is this thing called SOAP, that's the way that applications that were not designed together can communicate and share information across the Internet. You can think of it as a remote procedure call that works in that message-based, loosely coupled environment. Now, the XML movement has gained incredible momentum. I'd say the last year has really been phenomenal in terms of the momentum that this has developed. Part of that is we also have other large companies in the industry, besides Microsoft, really join into this. So if you look at two of the recent standards, SOAP and UDDI, we had many partners, including IBM, that were involved in a very deep way, helping to design that standard, and really standing up and saying that was critical to their whole strategy. And so you're seeing a real shift towards these XML Web services, a real shift away from people saying it's one computer language, or it's just about one kind of app server, to an approach now that is far more flexible around XML.

The kind of dreams that people have had about interoperability in this industry will finally be fulfilled by the XML revolution. And so, although we're focusing on HailStorm today, it's important to understand that this XML approach allows data of all types, business application data, to move easily between different platforms, between different companies in a very simple way.

Now, individual companies need to take that foundation piece and come up with the implementation that make it a reality. And that's what Microsoft.NET is. So any time you think about this XML revolution you can say to yourself, okay, its Microsoft's implementation that makes that possible, that's what their .NET strategy is. So .NET encompasses most everything we're doing as a company. It encompasses enhancements we're making to Microsoft Office, it encompasses this new work in Visual Studio that we actually named VisualStudio.NET. There's a lot we're doing in Windows to make it work as a client inside this XML world. And so everything we're doing is deeply influenced here.

When the Internet revolution came along, I wrote a memo called The Internet Tidal Wave, and that really spoke to everyone in the company about how they needed to make Internet support their top priority. We had a lot of retreats, we talked about it, and we got that built into our plan, and we were really pleased about how that focus led to a lot of very rapid innovation. Here in this XML revolution I can say that the company is even more focused on this than we were on that previous Internet revolution.

Part of it is that we're one of the leaders here, we're way out in front on this, and we can see the scenarios that are important. But, the other thing is that a lot of the foundation work that we've been doing that goes way back really points us in this direction, work that we've been doing in our database, work that we've been doing at the protocol level, thinking we've had about what are notifications and how should those be used, all fit in a natural way into the .NET products that we're putting together.

So at the end of the day, each one of those revolutions succeeded because of what they provided to end users. PCs let people deal with information in a way they never had been before, it changed the whole dynamic of thinking about computers, from a tool of the organization to a tool of the individual. The graphic interface changed the way the applications work, allowed you to have rich presentation and rich user interface. It put the user in control, where they could select information and drag and drop it. It created standards for what applications looked like. Some of you will remember that in the MS DOS world applications all had a very different look, and there was no ability to exchange information. So graphics interface had some dramatic benefits that eventually made it common sense. Likewise, the Internet as a revolution in communications.

Here with XML the user benefits are equally compelling. It’s about putting users in control of their information. So there are some simple principles here. You should never have to enter the same information multiple times. Any time that you’ve given permission for information to be used, it should be used on your behalf to customize the information to make it most appropriate for you.

And so by building this schema, all your information literally can be available in any interaction with the Web site, or even if you pick up a device that you don’t own, if you authenticate yourself, your preferred home page, your preferences about notification -- all of those can come down from these HailStorm services onto that device and work on your behalf. And so this is technology that will work on behalf of the user.

One key point we make here is that the user will see the HailStorm infrastructure through the applications. They won’t need to directly think about interacting with it, but it’s there, and that’s what’s making the applications work together on behalf of the user.

The HailStorm platform, which is part of .NET, is something that we’re implementing, but it’s something that we are allowing any third-party applications to work against. And that’s true across all the different devices. And perhaps it will surprise you to see us showing HailStorm on a lot of devices, including non-Microsoft devices, today.

So today is a milestone for us. It’s the public rollout of these user-centric XML Web services. It is a new model for user-centric computing. This is not the world of cookies and things that are very opaque to users. This is a world of a very explicit schema that you choose how you want to control the different parts of that schema in terms of how you fill in the information and where it is made available. This is what we call a .NET building block service. In fact, it’s probably the most important .NET building block service.

The opportunity for the industry here is really quite substantial. And I use the word "industry" very broadly here, because as you will see from the demos today, there are businesses of all types, as well as our traditional software partners that are coming in and seeing that they can do new things like connecting Internet applications, devices and services together. And so it really is about some of the dreams and visions that people have had all along for how computers ought to work.

Now, how do you get at HailStorm? You get at HailStorm by providing your credentials. Our service for authenticating credentials is called Microsoft Passport. You provide the passport, and then your schema is available to you. And so you can see here over on the right -- I’m not going to dive into the schema -- for those of you who are technical, you can get the development kit, and you’ll find that there are literally hundreds of pages talking about these different things. For example, myWallet -- that’s where you put the different credit cards you like to use, so that any time you are doing a transaction you’ll get to choose which of those credit card things that you want to use for that transaction. myCalendar -- that’s extremely important here, because that helps determine when you get notified of different things, when you might be interested in things. Your address book, your application settings, your documents -- many of these things will be familiar, but you’ll realize these are things that today you have to get involved in moving around. And in fact finding things and knowing where they can move around -- particularly between different types of devices -- is very, very complex. And today they are not designed to deal with the fact that you operate in different modes -- at work and at home -- and you operate on different devices. And so HailStorm has that richness built into the direct design.

Passport is achieving very significant critical mass. All Hotmail users, of course, get a Passport. There are many third-party Web sites that we are working with to make sure that they get people to use Passport as part of their authentication. In fact, that was part of the relationship we had with people like eBay and many others, is to say, let’s get Passport, so you only have to log in one time, and you get exactly what you want there. So it’s our goal to have virtually everybody who uses the Internet to have one of these Passport connections.

What’s the relationship of Windows XP to HailStorm? Well, Windows XP is a HailStorm endpoint. We are going to make it very easy when you use this new version of Windows to get to your HailStorm information. Now, at the same time we want to be very clear that HailStorm is not exclusively tied to any particular operating system -- not even Windows, if you include all the different versions that are out there. We make it particularly easy in Windows XP to get to HailStorm, but that can be done in any platform that’s out there.

The plumbing for HailStorm is in the operating system, the XML and type support, that you will see many different applications using it. And so Windows XP is really the first version of Windows that makes it easy to get out to these kind of services. And we are very proud of that, because as we think of a lot of things people want to do with their PC, having these services is going to make a big difference there. So big milestone for us -- something that we are still in the process of getting user feedback. So the exact specification that we have got for this thing will be modified as we go along between now and when the release is. But we have got it now out, so that any developer can look at this in different businesses are already doing some amazing things with this.

So the best way to understand HailStorm is probably to see it in action. So let me ask Vic to come back on out, and he’ll introduce some of these partners who give you a real sense of what this is about.

MR. GUNDOTRA: Okay, thank you, Bill. You know, Bill talked about how HailStorm really changes the end user experience, and we are very excited about those types of services you will be hearing more about throughout the day. But even before HailStorm we have a set of platform Web services that are available now -- like Passport and Notification -- that start to give you a glimmer, an idea, of how the end user experience really gets changed. And we are going to show you several demonstrations by our partners who adopted these technologies and services that are available even now, like Passport and Notification.

Before we go into the demonstrations, I should probably lay a little bit of context. Throughout the demonstration you will see us use or utilize Passport as an authentication mechanism. Passport really solves a problem that I am sure you’ve experienced. Every time you go to a Web site, an application or device, you are often prompted for a Passport. And managing different passports for every Web site can become a burden. Really Passport enables the end user to seamlessly log on to every site or service that supports Passport -- a very easy user experience, and you’ll see that.

We’ll also talk about notifications. Notifications you are probably most familiar with in the context of things like instant messaging. But we are not talking about just teen chats. We’re talking about something radically different. We are talking about using a broad platform for notification to allow applications to call and notify the user of important things -- Bill referenced a flight being late. You can think of many other examples. You may have been outbid on a particular auction. Your bank balance may have been exceeded. So the idea of a broad programmatic platform that businesses can use to call into these notifications is something that you’ll see. So that’s to get right into it.

To begin with our first demonstration, I’d like to invite out the executive vice president and CIO of American Express, and there we go -- Glenn Sallow, welcome. Please come on up here -- and as well as Steve Dirk, who is director of development. Glenn, why don’t you talk to us about what you are going to show.

MR. SALLOW: Good morning. I’m really excited to join you today along with my colleague Dirk White, who is the director of the interactive group. We get really excited at American Express when we can find ways to make life easier, more secure and more private -- for our customers, for our merchants, for our employees, for our financial advisors. And so as we have been working with Microsoft in this arena, we have come up with, we think, some pretty interesting ideas. And what Dirk is going to do today is give you an idea of what the future might look like for American Express in this technology. Dirk?

MR. WHITE: Thank you, Glenn. Good morning. Today I am going to be demonstrating a functionality that is at the heart of American Express -- payment, security and customer service. We believe that by leveraging services from Microsoft, such as Notification and Passport, and combining those services with services from American Express, such as smart card authentication and payment services, that we can create a compelling value proposition to the consumer, the merchant, and American Express.

Let’s take a look at an example that illustrates this. The other day I went shopping at an online bookstore. And the book I was interested in was out of stock. So I asked the merchant to notify me once that book becomes available. Now, this merchant obviously is integrated with the Passport as well and Notification services, so the merchant is now in a position to be sending me a notification. I’m on the Web, I’m on my PC, and here you see the alert comes up, and it’s telling me that the book, "Before the Win," is now available. That was the book I was interested in. Once I click on that book I am taken directly to the merchant page that contains all the pertinent information about the product I was interested in -- the book title itself, the price and so forth. But, most importantly, it puts me in a position to buy the book. So I am going to go ahead and buy this book and add it to the cart, and continue to the checkout page. And now, since I am a Passport user, I am going to use the most convenient user experience I can, which is myWallet. I’m going to go ahead and click the Express Purchase button. And, as you can see, it pre-filled by blue from American Express -- that’s my default card in myWallet. And since I can’t imagine using any other form of payment, I’m going to go ahead and use American Express. So we’re going to go ahead and click "continue." And now I’m ready -- additionally you can see that my name was pre-filled, as well as my address, once again preventing me -- or keeping me having to type in that information -- creating that nice user experience.

I’m going to go ahead and continue through the checkout process. Now, what you see happening here is now the screen has detected that I have a reader attached to my PC. Additionally it has detected I’m using Blue from American Express. And American Express is telling me I can transact securely. We believe that by integrating Passport and the American Express SmartCard that we can ensure that the card was used, that the PIN was entered, and that the identity was verified. That creates a secure transaction. That secure transaction has real value to everyone -- the consumer, the merchant, and American Express. Additionally, we can provide and create that value and send it back to our consumers in a variety of ways. We could for example offer our consumers American Express membership award points for purchasing with their blue card. We can offer a discount. There are a variety of options.

What we are going to do first here is I am going to use this Blue card, and we are going to insert it into the reader --

MR. GUNDOTRA: Now, Dirk, I’m going to interrupt you. You have a reader there attached to the PC. I doubt most people in this room have a reader. I don’t have a reader. How do you solve that problem?

MR. WHITE: Well, today all blue card members can get a free reader from American Express. Additionally, if you purchase a contact keyboard it is also embedded in the keyboard itself.

MR. GUNDOTRA: Oh, that’s great.

MR. WHITE: So there’s a variety of options here.

Now, one thing to point out here -- we have got our Blue card up here. And if you notice on the upper left here there’s a chip on the card. Aside from having a variety of functionality, the primary functionality is the ability to identify the user. There is a certificate on there that uniquely identifies me to that card. And that allows American Express to create the secure payment and provide this value.

So I am going to go ahead and insert it into the reader. And, as you can see now, American Express is prompting for a PIN. So we are going to go ahead and enter that PIN. And we are going to complete this transaction. And as you see now, it says, "Thank you for shopping with Blue from American Express."

So what did we just do? We brought information to the consumer, we put the consumer in a position to buy, we provided value to our customer, the merchants and American Express, and we did it securely with Blue from American Express.

That’s just one example. Let’s look at another example of how we can provide real value to our customers. And you see here the Messenger window. The Messenger window, which will be available always on your desktops -- as you’ll notice there is a tab on there, and it’s an American Express tab. That tab has specific information that American Express is providing for this customer. Some examples of that right here you can see are previous shopping purchases and card balances -- very powerful information, real-time that can be sent to the consumer directly on his desktop.

Additionally, the consumer has the ability to configure this information. So we are going to go ahead and click that. So the user can say, you know what, for American Express I am very interested about hearing about when my bill payments come. I want to know when my settlements occur. I want to know about potential fraudulent activity on my card. I want to know when my account is maybe going past due -- all of these are examples of information that can be configured by the user.

So let’s take a look at how these notifications can help in a customer service experience. Now, let’s say that American Express has detected some irregular spending on my account -- potential fraudulent activity. And American Express wants to let the consumer know that they make sure you are aware of it. So American Express is going to now notify the consumer of this. And as you can see here, potential fraudulent activity on your card. We are going to go ahead and click on notification. And now that notification took us directly to the page that contains all the important information about the charge in question, the card that was used, the date of the purchase, and, actually, the location.

Now, I may or may not be familiar with this charge, $742, but I want to contact American Express to find out about it. So I’m going to go ahead and click here. And American Express is providing me with a couple of options here. I can use an 800 number or, in keeping with the spirit that Bill talked about this morning, about "any time, any place and on any device," American Express customer service reps will be available any time, any place and on any device. And here we’re going to allow them -- to contact them. So we’re going to click here. And now American Express is going to notify me on my device that I’m working on when they’re ready. This is going to allow me to get back to doing things that are important to me, like finishing that game of Motocross Madness that I was playing. Now, I am going to continue, and hopefully this notification will be coming up and those American Express guys are good, and they’ll let me know that they’re ready. So I am going to go ahead and click.

Now, something powerful just happened here. There are two things that just happened. Not only are we in a live chat now with the customer service rep, but additionally what was associated with that notification was the link to the American Express customer service base. This puts it right in front of the consumer’s face -- putting in our customer service rep in a position to reference the information if needed. So this creates a very, very powerful way of communicating.

As you can see here, there are a couple of other options we can look at. We could start up a videoconference with the customer service rep. We could also start talking. We could send a file. You can even imagine that I could have sent that notification to American Express, got in my car, went off to work, and have the notification sent to my cell phone. All of these are powerful, powerful examples of how we can help improve our customer’s experience for all of our American Express customers.

Let me just say, in closing, that American Express feels that we can provide real value to our customers using this technology. And for the consumer we believe that we can create a secure, private shopping experience. And this will continue to help American Express become the premier payments provider on the Web today. And, most importantly, allow us to accept payments anywhere, anytime, and on any device. Thank you.

MR. GUNDOTRA: What a great demonstration of Passport, notification and the power of American Express too. Thank you very much, Dirk. Thank you, Glenn.

Let’s continue on here. I’m going to move over to the other podium, and I’d like to invite CEO and chairman of Groove Networks, Ray Ozzie and Jack Ozzie. Ray, welcome. Thank you for coming. Why don’t you talk to us about how Groove Networks could utilize these same technologies?

MR. OZZIE: Sure. I’m not sure how many of you are familiar with Groove Networks or Groove. Groove is a new kind of software. It’s kind of radically different than the other types people have worked with in the past. And what it’s really about is enabling individuals out on the Internet who need to work together the ability very quickly, very spontaneously, to get together, to share information, to interact with one another -- you know, directly, spontaneously over the Net, even across firewall boundaries.

One of the interesting issues that you have when you have software like Groove is getting people together, that it ultimately begins in getting people together. And we believe that the services -- and you’ll see this in a moment -- the services that are inherent to HailStorm provide for a much richer user experience, and in general put the user in control of information that I think formerly has been in the control of apps of various types.

I should note that the word "Groove" itself was chosen as the company name because user experience is just about everything to our apps and how we envision this panning out. There are many, many, many ways that people can get together and share information on the Net. Having a good, crisp user experience was really fundamental to what we are doing, and that’s really why I am excited about this whole thing.

Let me begin by showing something here. This is the Groove user interface. And this is not going to be a Groove demo, but essentially Groove is about bringing, very spontaneously, the right people together with the right information that they care about, and the right tools to manipulate that information at the right time.

Step one is to get the people together. And this thing that you are seeing here is the user interface to an area called a shared space. It’s a place where people meet. But you have to get people in there. And Groove itself has a contact list built in, because you have to build up a list of people who you like to interact with. As it turns out, though, people have other contact lists, and that’s why we put other integration features into Groove, to integrate it with things like email, because people don’t want to take their contacts out of their email and move them into Groove -- they just want to use the tools where they have those contacts. And, as it turns out, the user then has some contacts in Groove, some contacts in Outlook, some contacts in other places, because those contacts are really under control of the application.

HailStorm gives us as application developers the ability to access a central repository of the user’s contacts, and it gives the user the ability to put the contacts in a place where it can be accessed by -- they can be accessed by any applications that they use, and on any devices they happen to be using. And I think that’s very critical to the user interface experience. Let’s run through a little scenario here involving Groove, and maybe you can get more of a flavor for what that means.

As you saw in the previous demo, there’s a little tab on messenger here, and essentially it’s the Windows shell extension that lets Groove put part of its user interface right there in the shell, because it’s a very natural place for the user. The user is interacting with his buddies or her buddies in this user interface. So in this case you can see that Jack has a conversation space active where there are -- Ray Ozzie and Ken Moore are members. He also has a project space where these other people are members. Because the Windows XP shell has access to the same contact information in HailStorm that we do, we kind of share those contacts. So XP can display the awareness information of people who are also interacting in Groove.

MR. GUNDOTRA: Jack, why don’t you go to the buddy list?

MR. RAY OZZIE: Probably the most powerful thing, an integration feature of being enabled with HailStorm services, is the ability for a Groove user to say, "Okay, I’d like to start interacting in Groove with this other user, but I’m going to start in an interface that I’m very familiar with." So in this case, let’s say Jack wanted to start working on a project with me in Groove, he'd start by selecting my name, and he'd select the invite menu option, and as you can see, if you can see this, it says Groove Project Space, Groove Conversation Space. He can essentially from the messenger say, I would like to initiate a project with Ray in Groove right from this interface. So, Jack, why don't you do that.

MR. JACK OZZIE: So, demo welling, there it is, there's the Groove notification. This wasn't Groove sending this.

MR. GUNDOTRA: And that's on another machine.

MR. RAY OZZIE: That's right. That's on another machine. These two machines are on a simple local area network. You know, they could be anywhere on the Internet. Essentially, the centralized notification services were used here to get the notification from one computer to another. And, as it says here, Jack is inviting you to start using Groove, do you want to accept or decline the invitation, and so I'll accept. And the moment I accept, essentially there's a control transfer from the Windows XP environment into the Groove environment, and it's seamless, because the context that you're seeing displayed there in Groove are the same contacts that are being used by the Messenger user interface because they're both accessed through the HailStorm API.

So, in this case, Jack might do something simple, like sharing some Microsoft Office documents, or if we were engineers we might do something a little bit more advanced or interesting, like working on a CAD drawing, or something like that. And we could collaborate together. The essential thing to remember here, though, is that getting into the space is an extremely important thing. Groove's core design principle is to bring the right people together with the right information and tools, and the HailStorm services make it very, very easy for people to get together because it has the central repository of contacts available to all apps.

So, we look forward to working with Microsoft, and implementing a number of the different HailStorm centralized services. And this only showed centralized contact store, and notification store, but there are many, many, many other points of integration we can do on behalf of the user.

MR. GUNDOTRA: Thank you very much, Ray.

Thank you, Jack.

As you can see, Ray shares our enthusiasm for these broad platform services. I'm going to go back to the podium here, and invite Gil Penchina, who is director of business development at eBay.

Gil, welcome. Why don't you show us how eBay views these technologies.

MR. PENCHINA: Great. eBay is an approximately $5 billion global marketplace that enables people to trade everywhere throughout the world. Now, on eBay you can get everything from a Cisco router to a new pair of Gucci loafers, to, starting tonight, my new .NET pen Sanjiv gave to me about five minutes ago. So, if you're looking for it, the price is about $2, and should be, let the bidding start early.

We have been very successful in building a consumer portal for shopping. But over the last year, we've been trying to figure out how to take this destination site and turn it into an e-commerce platform. And as we talked to the folks at Microsoft, it was very clear to us that we shared a common vision for Web services. So we announced last week a strategic partnership with Microsoft primarily focused on trying to enable our existing API efforts to work with their .NET and Web services initiatives, and try to create an eBay platform that's easier for everyone to use.

So, we wanted to take you through a couple of things that we've jointly been thinking about over the last six months. On the screen here, you can see the auction wizard. There are a number of third party developers today who have built applications that let you sell on eBay. The problem was, they used screen scraping. You basically take data from our site, and then post data to our site. And one of the problems is, every time our site changed, their software broke. So, we'd get all the calls saying, hey, you guys added a new category structure, you know, and now my software is broken.

So, through .NET we have the ability to create a category structure like the one you're seeing here, and have it programmatically accessible from the client. So this software is actually real-time accessing our category structure, and if something is changed, it changes in the software.

So, I'm going to go in, and I'm going to sell a football, and take the picture of the football, put it in, put in a little description of the item, some story about it, talk about my payment methods, and how I'm willing to accept payment. And the nice thing here, there are a couple of really neat things here. The first is, instead of going to the eBay database several times, and putting in each piece of data separately, we're able to do this all on Windows and then send the data all up in one piece.

So, let's send the data up, if we could.

MR. GUNDOTRA: I noticed, I wasn't prompted for user name or password.

MR. PENCHINA: The other nice thing is, you're seamlessly logged into eBay, and you can see there is a couple of alerts here that just popped up through TOS. So, let's take a look at those, whoops, they're already gone. Well, we'll tell you what they were anyway. The first is a notification that my item has been put up for sale. So, it lets me know that my transaction is done, and I've been alerted, again, without having to go out to the Web. And the second was an outbid notice, I've been bidding on a lunchbox for my daughter for the last couple of weeks, and it looks like I've been outbid again. Well, one of the neat things with this whole .NET notification is that I can get the alert on my desktop. I can get it on my Blackberry. I can get it on my phone. I have the ability to sort of define my preferences. And that means a couple of things to us, one is, I don't have to go keep searching for the item when I get outbid, I can have more chances to get alerted to it. The other is, we think it will actually result in higher sales for us, because if you get alerted, you have a chance to go back and bid again, and we think it will raise the average price for our items over time, because people will not forget about the auction, they'll get last minute notification, and come back and bid again.

So, we're pretty excited about some of these notification initiatives. We're also talking with Microsoft about creating a tab within their client. And you can see an example of this here. Basically what this creates is a real-time information portal that lets you get updates on the items that you're bidding on, the items that you're watching, and the items that you're interested in. So now, instead of going to the actual item and having to hit refresh over and over again for the last five minutes of the auction, which costs us a lot of money, you get pushed real-time data. So, when the item price changes, you'll actually see it right there on your desktop real-time.

So, this is sort of a couple of examples of what we think of the real power of combining the two platforms is. And if we can scroll down a little, you can see the lunchbox my daughter hopes to get. Now, we think some of these are really neat, but what's truly exciting to us is the opportunity to combine with Microsoft in creating platforms, because the power of platforms are really not just creating this destination site where you can buy the lunchbox, but enabling e-Bay to sort of become a global marketplace, where third parties can develop new sorts of tools. You know, where's the Bloomberg for eBay, where's the seller productivity tools for eBay, you know, new ways for buyers to interact with eBay. And all these sort of tools become much more easy to develop when you leverage the eBay API with the .NET services, and the programming tools that they create.

So, in short, we're very excited about this, and we're looking forward to working with Vic and his team to develop some of these services over the next several years.

MR. GUNDOTRA: Thank you very much, Gil.

MR. PENCHINA: Thanks.

MR. GUNDOTRA: Now, as Gil, and Ray, and Glen have shown you, there are some pretty compelling things you can do with just the authentication provided by Passport, and the notification services, which are even available today. But there's so much more to HailStorm. And to give you an idea of the breadth of HailStorm, we'd like to invite up our distinguished engineer and architect of HailStorm, Mark Lucovsky.

Mark. There you go, Mark, I think you want to go over there. Very good.

MR. LUCOVSKY: Hi. So, I'm going to talk a little bit about the architecture of HailStorm. I'll try not to get too deep, but I wanted to start giving you a deeper picture of what this system is all about. We start by putting the user at the very center of the platform. That becomes the central pivot point for how we navigate some of these schemas that Bill was talking about. So, for instance, we'll take something like a calendar, and tie that to an individual, to a user, and that is the mechanism that software will use to find data, you know, about that person's calendar. So we're kind of taking the traditional model and turning it inside out. Instead of having an application be your gateway to the data, we, in HailStorm, the user is the gateway to the data. So we take these datasets, these pieces of schema, and you navigate off the user.

So, that's obvious when you think about a calendar, it's a person's calendar, and software has access to it through that individual. We do the same thing with another service, myLocation, that's the centerpiece about how we describe peer-to-peer presence, how applications can communicate with each other. When I'm running an application like Groove, like Ray and Jack demoed, Groove has a presence on your behalf, and we expose that presence through my location. So, again, we take presence data and we turn it inside out and we say that our presence network is now available to all applications. It doesn't matter if it's a chat-type communication application, or it's a collaborative work group application, any application can have presence, and we find that application running on your behalf by navigating through the individual.

It's not just calendar and location, we have a whole array of services that you find by going to the individual. We have Inbox, where your email streams are made available to software applications. So, instead of controlling the application through a set of objects, or OLE interfaces, we find your mail by its data format, the same thing for your address, your address books, your application settings, your favorite Web sites, your documents, your wallet, music preferences, and also your notification stream. So this model is repeated, and it doesn't end. I mean, this spiral of services that we can tie to an identity is virtually limitless. So we extend the schema by rolling out these new services over time.

Now, HailStorm isn't just about individuals. Obviously we can tie a bunch of services to a user, and open up those services to software. But, we can do the same thing for groups. So something like a soccer club could be provisioned with a mailbox that mail sent to the soccer club comes into this service repository, this XML document. That same group can have an address book, or a set of contacts, the group can also have a calendar. So, it's individuals and groups.

We can do the same thing for an organization. So, you take Beaver Lake Middle School, for instance, how do they say that next Friday is a half-day in a programmable way, and make that information available to an application that wants to merge your calendar with the school's calendar? We do that by provisioning that organization with an identity, with a HailStorm ID, and we hang these XML services off of that ID and we navigate to them the same way we would do for an individual, we do that for a group or an organization.

HailStorm is all about XML. I mean, this is hardcore concept in my group. Every single one of these services that we showed you in that circle diagram is represented as an XML document. So your mail looks like a set of mail folders, and a set of mail headers, and software can navigate that XML document using the XML processing style that that application is mated to. It can use our .NET runtime, which is a great way to navigate XML, it can use XSL to do data transforms, it uses standard XML query navigation techniques. It's up to the application and up to the scenarios that the application is designed to deliver on.

An address book, the same sort of thing, it looks like an XML document, it actually is an XML document, and that's the only way that it's presented outside of HailStorm. You can do a query and get a chunk of XML, you can manipulate it by doing standard XML data manipulation techniques.

The same thing with your calendar. We're not proposing an object model on top of a calendar and distributing DLLs to allow access to it. The calendar is an XML document that software will manipulate using XML techniques.

So, I'm going to show a little bit of HailStorm in action. Some of you guys that were at the Forum 2000 event might remember some of these video clips. What we're going to do is look at these video clips now in the context of HailStorm, and see how HailStorm is the underpinnings for some of the cool things that are happening in those video clips.

We announced .NET at Forum 2000. A lot of these video scenarios looked like the Jetsons, way out there kind of stuff, but I think you'll see with this HailStorm model, and with this XML-centric view that we've taken, these videos can come to life by running software that we write software, that you guys write software, that are partners, right, it all comes together by taking the data and unlocking it from the applications that typically wrap the data, by making that data, those XML streams available through the open protocols, and available to any application.

So, let's watch this first clip here.

(Video clip shown.)

MR. LUCOVSKY: So everything that happened there, as you can see, this family is now able to use the calendar, every member of the family can publish information to a family calendar, and the application software can fold together multiple calendars into an aggregated or combined view. And all that happened in terms of HailStorm is the dad has a myContacts service, and the members of his family are in his address book, so that calendar processing software, XML processing software in the middle, can take a little bit of his calendar, a little bit of the calendar from his family members, and show a combined or aggregated view. You can't do that today in any platform, unless you're in kind of a closed environment where in the calendaring system you can share. In HailStorm that sharing is available across application boundaries very, very easily.

The next video is a teenage daughter communicating with her friends, and buying music, and any of you that have teenagers, you know, how communication and music kind of becomes the center of their lives. And we're able to deliver on the scenario portrayed in this video by using the HailStorm wallet service, the address book service, the myMusic service, notification streams, mail, and then the person's address. So let's watch this one real quick.

(Video shown.)

MR. LUCOVSKY: So let's look at what just happened in here, but I think we can all agree that this is a pretty cool scenario, and I think that the way that this scenario can come to life is by taking this broad set of services and making the XML data inside those services just widely available so that people developing software can have a lot of fun with these services that we're delivering.

So Jenna and Christie are cross linked to each other through their myContacts service. So that's like the center of how you deal with your electronic relationships. And we don't just organize these things by folders. You can have rich, rich semantics on top of what a contact is, and how you can to use that contact in the various applications that you choose to use it in. So the first part is they're cross linked, so now Christie can send mail to Jenna's Inbox, and the mail can now be read to Jenna. This is, I think, one of the cooler parts of this. Jenna has the myMusic service populated with her favorite bands, the play lists, the sequences of songs she likes to listen to, and she also has a relationship with EMI Music, and she's chosen to share pieces of that service with EMI.

So now EMI can know what her favorite band is, it also knows where she lives for billing purposes, and so what EMI can now do is say, I know the bands and what their concert schedules are. I know from my customers that have chosen to share that information with me what their favorite bands are, so now I can make offers to those guys. When Fatboy Slim comes to town EMI can send a ticket offer to Jenna's myNotification service, and that ticket offer can show up on her screen. And that offer can have an expiration time, a time to live associated with the notification. So if Jenna acts on it quickly she's going to the concert, if she doesn't act on it quickly EMI can send that same notification to their next tier of customers.

Jenna chooses to purchase the ticket, it's a seamless transaction made possible by the myWallet service. So she can just say, yes, I want to do it, and EMI can then go do a transaction against the myWallet and get paid. It's a very seamless experience, again, it's XML that's tying all this stuff together. And then at the end, of course, she does a little voice call to her friend Christie to tell her that she's going to the concert. That's a notification, you saw plenty of examples of notification. So this is a kind of notification that says, I want to do this kind of communicator call with you, and so she navigates to Christie's myNotification service, sends a blob of XML saying let's talk, and you saw the interchange at the end.

So the last scenario, you've seen a couple of more consumerism end user scenarios, this is how HailStorm is going to be used in more of a small business environment. And again, it's the same central themes, you have XML services in HailStorm that are made available to a wide array of software, and this we're going to show off how the HailStorm document storage system would be used, how the address service would be used to find what the Web sites are for a business, calendar aggregation which is already seen, mail which we've already seen, and UDDI which we use to discover other marketplaces. So let's watch this video, too.

(Video shown.)

MR. LUCOVSKY: I'm not going to go through this one in too much detail. I think you get the idea -- document creation. HailStorm doesn't address the creation of documents, but we provide places to store those documents, and make the properties and meta information about those documents available across the Internet using SOAP and XML. How did we discover the new markets, the Acorns and the FSIs, where to publish the pointer to that document? That's what UDDI is designed for, it's designed to answer those questions. I'm looking for a set of services that can do this for my business, give me back some pointers so that I can start making Web services calls with that business end point. You've seen email before, but what's unique about this is the same email system that Alex has in her office is available on her phone, because the services, the myInbox service, the notification streams, the address book, those things are now available on the Internet, so if you have connectivity to the network, and a smart phone like this, you're dealing with one story. You don't have to synchronize your mail from your PC to your phone before you go out, it works that way you would expect that device to work for you.

Now, we're starting to get a bit deeper in, I want to talk about open access and how we achieve open access is very simple, we take these services, we define them at a protocol level, we have a contract that says, if you send this SOAP envelope, this SOAP request for service to a HailStorm service, and assuming you're authorized to make that service, the user is willing to share that information with you that you're requesting, or changing, or updating, or working with on his behalf, then HailStorm will send a response, again, in the form of a SOAP envelope. The data formats for the services are 100 percent pure XML, they have schemas that back them, and that means applications can work against these things just natively, and easily. And we've talked about application end points, they can be anything from a laptop to a flat panel on a refrigerator, to a Blackberry pager, anything that has connectivity to the network can talk to HailStorm.

You can talk to HailStorm from any language, you can use our VS.NET series, you can use PERL scripts, you can use Java, you can use hardcore C, or you can write it in assembly language. It doesn't really matter. Our contract is, you provide a SOAP envelope, you send it to a service, we give you what you ask for and we give you the results back. So it's very simply a compiler, a socket library, net access, and you're talking to HailStorm.

So with that I'm going to show you some of that in action. The first one I'm going to show you, this is -- we took one of the HailStorm services called myContacts, and we've got it running in my office over in Red West, and all we're going to do is make very simple queries against that service. So we're going to send a SOAP envelope that says in that address book I'm looking for this name, and dump out the information. This is a variant of a program called Finger from back from the old days of UNIX, where the old Finger would read a space-separated single line ASCII text file and do a search for the name you're looking up and print it out pretty. Take that same model and now we do it against a HailStorm store, so that the data is available anywhere you go. And now instead of the data being space separated it's XML data.

So I'm just going to do a simple call, looking up my name out of this contacts database, and you probably can't see that, but what's happening here is I'm running a PERL script that is looking for the name Mark in the address book, and I can show you the PERL code if you like. I mean the two lines in the middle, that's where we're sending the SOAP envelope but it's standard PERL processing. That big long chunk in the middle, that's the SOAP envelope that we're going to be sending over to the HailStorm service SOAP. You know, in 30 lines of code we're talking to HailStorm.

The next thing I want to show you is HailStorm running from some other devices. First I'm going to start with the Palm, it's a little bit slower because of the proxy, now it's really going to be slow. So I'm going to make that same call, similar sort of envelope to the HailStorm service, the Palm is a little bit slower. While that's running, I'll do the same thing from a Pocket PC. There we go. I can put other names, we're still waiting on this. I'm not trying to do anything silly here. What happens with Palm is they're going through a proxy at palm.net and the data formats are kind of wonky when you're going through the proxy. So we'll come back to this.

Let's go to the Macintosh now. And again, we're running the same application, and I'll try a different name in here. There we go. So again, same sort of code running on the Mac. Let me see if this guy is done. Yes, this guy is done. Why don't we go back to the Palm. And the results that came back from the Palm, it said we had 52 bytes, Bill Gates and his Web site came back, so there it is from the Palm and the Pocket PC. And switch over to my other machine over here. Is Bill around? Good. Okay. So this one right here is Sun OS. Sun OS 5.6 on a SPARC 4 Ultra 510, and this one I'm going to run the Java version.

And I can get a verbose listing to show the SOAP envelope, if you like. It’s a lot of XML is all it really looks like. And then let me go back to this last one right here. This is Linux. I guess this is Red Hat 6.2 or something. It’s Linux 2.2.1.14-5.0. (Laughter.) And just do a quick lookup. You can barely see that, but it’s just the same simple command that we’ve all been running for years, only now it’s going against an address book hosted by HailStorm and we’re using XML instead of space-separated values for the data.

So I guess what’s important about that is that for my team we had a goal when we started out that HailStorm should be openly accessible. If you can send SOAP to it, you ought to be able to play. Well, a lot of times the difference between a goal and a requirement gets kind of confusing and goals kind of drop off of product cycles over time. So it’s not a goal for us; it’s a requirement. And the first thing that we do when we get HailStorm up and running -- in fact, our very first call came from a Pocket PC. But we take that as a requirement that any device, anytime you have a compiler, network connectivity, socket library, however you want to describe that, that device can make HailStorm called, and that’s baked into our architecture and baked into the way we think about this problem space.

So this slide I could probably spend a lot of time on, but one thing you already see how any end point can call HailStorm. And you might want to think that, "Oh, okay, I get it. All you have to do is come up with some XML schema and that’s easy." Well, it’s not quite that easy. There is some easy stuff in HailStorm and some hard stuff. And this slide is all about the hard stuff.

We have a thing that we’re calling the "service fabric," which is the glue that holds it, that makes this system possible. It’s a common infrastructure that we’ve built that all these services to run under. It’s a common way to name the services. It’s a common way to think about the services. It’s a common set of interfaces that if you’re writing a HailStorm service, that service must expose in order to have uniform query across all the different services, to have uniform data manipulation. So if I want to add a chunk of XML to a service, I don’t have to learn a new way for Calendar versus an Address Book. It’s the same add method. The data might be different. The schema for that particular service might be different, but the programming model and the service fabric and the glue that holds it all together is uniform.

We also have to obviously take these SOAP messages and authenticate. We’ve talked a lot about putting the user in control. Well, we need an authenticated identity so that we can put that user in control so we can have a security model that says not only can we identify who’s sending the message, but we have this thing called the "sender chain," which is the user of the application and the software environment that that call is coming from, so a user has a very rich way of expressing who he’s willing to share his calendar data with. Like he might be willing to share his calendar data with his mom, but only when she’s running this application or that application or on this kind of PC or that kind of PC. So all of that is baked into the authentication model.

You know, XML looks pretty easy because everybody can read the formats and kind of get it, but processing these messages in a uniform way means you need to have a piece of code that you share between all services that says, "Okay, yeah, that counts as a HailStorm service request," or "Hey, this one’s missing a semicolon right here or it’s slightly malformed, and we don’t want that to get into the system; it’s a bad request. We need to turn that around." That’s part of the work that the service fabric does.

You saw a lot about notifications today. Well, how do you route notifications? How do we know when the notification comes in to ship it to your PC or your pager? So there’s a bunch of information in the service fabric that helps with that service routing and that preserves bandwidth and makes these messages show up in the right place, prevents spoof messages from entering the system in any way and prevents bad messages from coming into the system.

Security is at the center of HailStorm. So before a message ever makes it to the real service, myAddress or myInbox, the message has to flow through a pipeline where any one of the stages can reject the message. Our security system is part of this message architecture and it looks at this authenticated identity, looks at the access control or the sharing model that the user has expressed for that piece of data and rejects or accepts the message. It’s a very simple binary decision at the low level, but it’s complicated because of how richly we express identity.

Operations: Well, you’ve got to be able to run these services and what you’d like to have is a model that says, "When I roll out a new service I don’t have to hire seven more people to run the service." So the HailStorm service fabric is designed with the operations team input, so there’s a common operational infrastructure that all HailStorm services fit within.

We have to understand attacks on the system that can be intentional or accidental. It’s hard to sort that out when a service feels like it’s being overwhelmed with requests, so we have a common HailStorm firewall that when the operations guys say, "Hey, something’s going on," they have a way to throttle back the service, to hit the red button on the service if they need to, to cut it off from a certain domain or a certain network segment, whatever they have to do. The way we get that is by building that logic into the service fabric. There’s a dispatcher that takes these SOAP envelopes and says, "Oh, is it an add, request or a delete or a send mail or a lookup calendar," so that’s again part of this common service fabric.

And the key to all of this really is our XML shredder, the thing that takes XML and can do rich queries that you normally associate with a relational database. How do you do that on XML? That’s some code. We call it our XML shredder, which just takes the XML document and maps it into the various sequel roles and lets the rich query happen on the XML.

So that’s a little bit of the guts of HailStorm, the part that I’ve been spending the most time on recently.

With that, I want to introduce Bob Muglia, my boss and the group vice president of the .NET services group.

MR. MUGLIA: Great. Thanks, Mark.

So Mark just got done talking about some of the technical aspects of HailStorm, and what I want to do is take the next few minutes to talk about some of the core principles from a business perspective and the key issues that we know our customers will face.

And so let me start that discussion with an issue that I think really goes to the heart and soul of what HailStorm is all about, and that is a focus on the user and on the privacy of that information.

Now, there’s been an incredible raging debate in the industry on privacy issues. We’re seeing legislation happening in Europe and lots and lots of discussion even here in the United States on protecting user privacy. And the core of this is as users use the Internet there’s a lot of information they leave behind. And what’s appropriate? What should be allowed for Web sites to do with that information? That’s what the privacy debate is all about.

Well, with HailStorm and .NET in general, Microsoft is turning that whole issue upside down, and we’re putting the emphasis and focus on the user and saying that the information that the user has, the information that the user is storing and retrieving and using together with HailStorm, that information is there. It’s under their control. They own it. They decide who to give it out to. Microsoft may run a server, but we don’t own the data.

And so we’re making a commitment to the industry, a commitment to users that that data belongs to the user and we won’t use it any way that they haven’t authorized. We won’t mine the data. We won’t sell it. We won’t publish it. And we won’t use HailStorm information to target users with advertisements and banners and things like that.

Now, as information does need to get passed out, again the user is in control and they choose when to do it. This model in the privacy field is called "affirmative consent." They consent to what information can be given out. And it’s frequently referred to as the "opt-in" model.

Now, just because HailStorm is focused on the user and the user owning the data, that doesn’t mean that Web sites can’t build advertising-based business models on top of this. They can amass data as they think appropriate and the policies, the privacy policies for any given Web site will still be determined by the company that runs that Web site. But inasmuch as HailStorm information is used by that Web site, it will be done on the permission and on the behalf of the user.

And the idea of privacy and security go very closely together. Information is released only at the user consent, and it’s ensured that it’s kept secure for the user.

As Mark just described, there’s an entire architectural model behind HailStorm that verifies and makes sure of the identity of a user and that ensures the safety of the information that the user is storing up there. We’re moving to industry standard protocols like Kerberos to be able to provide a strong authentication mechanism, and setting up mechanisms that make sure users have control of what information they share with others, this idea of myDocuments. As documents and personal information about the user goes up into the Internet, the user needs to have mechanisms that they understand that allow them to control who has access to that information; maybe their fellow coworkers, maybe their friends, and who doesn’t.

One of the challenges, one of the hard things that we always struggle with is with security is how do you make it simple for users to be able to work with this information. And that’s a challenge for Microsoft and the whole industry to work together on.

HailStorm sets up some basic principles that will allow for that management, but we have a lot of folks working in UI design across our products and, of course, our partners who we’ll work together with to build user interfaces that make it easy for users to understand how to deal with these fairly complex policy issues. But by starting with this idea of the user in control, we establish a brand new kind of model for users in working with information on the Internet.

Now, another interesting and very important issue that we are dealing with all the time is operating these systems and making sure that we build an underlying data center and operational infrastructure that allows these systems to be run with extremely high levels of availability on behalf of the users.

And I’ll be honest and say that the idea of operational excellence of running service systems is not something that Microsoft has always had in the core of our genes. This is something that’s relatively new to us, although we’ve been putting a significant amount of energy into this and have been learning a lot really for at least the last five or six years and have a pretty broad set of experiences with some very, very large Web sites on the Internet, such as Microsoft.com and MSN, as well as things like Hotmail.

Now, being honest, some of that experience is very good and some of it’s not so good, but we’re committed to taking and learning from the mistakes that we’ve made, such as the outage we had in January, to make sure that we put in place the infrastructure so that we can run these things with extremely high degrees of availability.

In fact, let me focus on this and say that in order for us to work effectively with our partners, and, in fact, for us to begin to transition our own software delivery model to delivering that software through services, we have to move to have core services like Passport operating at five 9s of availability. Five 9s, for people who have heard the phrase perhaps, but aren’t familiar with the exact specific meaning, five 9s means less than five minutes of down time per year. So it really means a service that is really always up and available.

And the thing you realize when you start designing systems to try and achieve that level of availability is that you have to work in a pretty different way than you might in, say, a traditional data center. You have to start thinking about it, as Mark mentioned, what levels of access can come in and how you do authentication, how you verify that the information, that the packet that’s coming in to you is, in fact, a valid legitimate request and should be responded to.

You have to think about where you set up these data centers. And because of the fact that natural catastrophes are possible and even in that sort of a circumstance -- I mean, we had an earthquake here in Seattle just a couple of weeks ago, and although all of the data centers stayed up and kept running, you can easily image circumstances where be it a natural catastrophe like an earthquake or just a backhoe cutting through significant amounts of cables that lead into a data center, that you need to have redundancy of that information in data centers spread across the country, and, in fact, across the world to be able to make sure that you have availability and that that user information, particularly core things like Passport, can be accessed from multiple places.

One of the things that’s very important about this is we have an operations group inside Microsoft in my organization that’s really focused on learning best practices and applying those across all of these services. And as I say, you know, we may have made mistakes -- there’s no question about that -- but we know that this is critical to our success. There is just no doubt that having Microsoft viewed as a company that can provide operational excellence is critical to our shift to software as a service, and we’re putting in place the infrastructure and the team to make sure that that happens.

Now what I’d like to do is talk about a very important issue, the issue of the Internet, of the business model.

And with the meltdown of the dot-com space there is no question that today’s Internet business model needs a reboot. As we move forward into this next era, we look at the things that HailStorm is providing, and underneath HailStorm is a set of technologies, it’s a set of user-centric services. But if we just go out with the technology base, we will not do the things that are necessary to help enable the industry and create the kind of opportunity for businesses to thrive.

So while HailStorm is a bold new kind of services platform, it brings with it a traditional, maybe old-fashioned or perhaps the right word these days is a "retro" business model.

The business model, the core idea here, is that we think that there’s value we can provide to end users in the services we’re delivering, and we think that users will be willing to pay for those services. And so this idea of subscriptions and having users pay subscriptions to utilize these services is core to the business model that Microsoft is putting forward with HailStorm and we’ll be using across our product line.

But I think that more than that, the thing that goes with that is it’s an opportunity for the entire industry to rethink their business models. Everyone knows it needs to change, so how is it going to change? And you look out there and you look at the services that are being delivered to consumers on the Internet today, and there’s a lot of value to those services. And as we move to a Web Services model, where all of these things are tied together in a cohesive way, the value to those consumers increases dramatically.

So we see an opportunity to help our partners, those who are working with us on this Web Services mission, to shift their business model to one that will be long-term profitable for them.

And will we succeed? Well, I firmly believe that users are willing to pay for things that they get value from. We see it in example after example. We pay for our cable or our satellite television. We pay for our cell phone. You know, cell phones are pretty expensive things, but I can’t imagine being without one.

So as we deliver valuable services on the Internet, we’re confident that users will be willing to pay for this, and Microsoft will be setting a leadership example by doing that with our HailStorm services.

Let’s talk about this in a little bit more detail. As I mentioned, the core business proposition is value being delivered to the end user and the end user paying for that value. And HailStorm provides a very rich set of foundational services upon which this industry can be created.

The key reason that value proposition exists is because the model has shifted so that the user is in control of their information. They can decide how they want to be notified, when, where their data is stored, how it’s shared with others. And they get things like the ability to access wide, wide amounts of the Internet with a single sign-on through Passport.

And through this, this idea of building this business model, it begins with Passport and it begins with creating a very large base of users that are already provisioned with HailStorm services.

So what we will do is we’ll take the 160 million Passport accounts that we have and as HailStorm services become available, we’ll provision those accounts with the set of HailStorm services. And some services, services that just make sense everywhere, like single sign-on, those are things that expect to continue to provide to users.

And levels of this service, if users are using some small level of these underlying services, we’ll provide those base levels of things for free. But as the user begins to take more advantage of the underlying services, as they take on more storage, and as we provide features to end users that they see value with -- a great example is the information agent that Bill talks about -- that a lot of great ideas this company has on how we can take and put users in control of their information and give them very rich ways to determine when to be notified, what notifications to block out, where to be notified and even profiling their behavior, understanding what they looked at last time and what they threw away, all of those kinds of services are real value add to end users and we expect to go ahead and charge users for those sets of services.

Now, how will we make these things available? Well, we expect, Microsoft expects to have a number of subscription services that we roll out to our customers across our product line. Some of them are things you’re probably familiar with, like Office and its transition to a subscription service. Others will be news services, such as a consumer focus subscription service.

And as we roll forward with these subscription services, we’ll work together with government and partners, those companies that are out there, those organizations that are out there, where it’s appropriate for value to be added onto that and for them to resell those services.

Now in terms of the impact this will have on Microsoft revenue, first of all, moving forward with Web Services and having Microsoft take a leadership role in this transition is a very critical thing. We think that’s important. And we think that it will really provide a tremendous set of customer benefits to our existing products, products like Windows and Office. And obviously those businesses are critical to this company, so as those businesses transition to services we see the ability for them to continue to grow and prosper in the coming years.

Now, we talked about this. This is not new news. I remember talking about this exact same topic to many of you at Forum 2000 last year. But as we’ve now described the technical implementations of HailStorm in more depth, you get an understanding of how the technology can enable the transition of the business models for our existing products, products like Windows and Office.

Beyond that, we will have new consumer-oriented subscription services that we’ll be rolling out over time. I don’t have any specific dates to talk about right now today, but we are working actively on those. And we see those as an opportunity, although perhaps I just want to say this, to put it in perspective, we see it as a long-term opportunity, something that will not affect this fiscal year certainly or probably even next fiscal year’s results. But we do see it as being something that will provide new revenue streams for Microsoft, particularly since there’s so much upside potential to sell software to consumers that is really still untapped.

All the details on this are still to be announced, and we’ll work together with the industry to make sure that the right things happen here, but I wanted to give you an idea of how this is a very important aspect to our business model, again this focus on the end user.

Now, beyond the end user there are two other constituencies where it’s important for us to have a close relationship. Those constituencies are developers and service operators, those who run production. And in the developer space, the tools that people can use to write HailStorm services, write to HailStorm services exists both from Microsoft and of course we’ll take Visual Studio and MSDN and make those great tools for building HailStorm applications, but they can also be as simple as a C compiler or a Perl script on another platform to be able to access this.

We do expect to run a live test environment for our ISV community to be able to test their applications and there will be a nominal fee for them to use that service. And we will also provide those developers with a local test environment, so that they can simulate running applications within their corporation without going out on the Internet.

The developer model is pretty straightforward. It’s the same sort of thing that you’ve seen from Microsoft in the past as we’ve worked with developers to support our platforms.

Perhaps the more interesting relationship is the one with the service operator, because here that relationship is a different kind of relationship than what we’ve had before, because we have to work closely with these folks, because they actually make calls against our system. They put load on our system.

A simple example: You can imagine malicious issues and malicious attacks, and those aren’t the ones that I’m thinking about here, because we’ll be able to filter out most of those through having a direct relationship with the people that are calling us. But let’s take the case where we have a relationship, we have a relationship with the product site and they’re using services against HailStorm and we’ve actually issued them a certificate so we know exactly who they are and this relationship has been established.

Now, you can imagine just a mistake being made by a developer and instead of making one call to get a user’s name, they make 10,000 calls every time. Those mistakes happen all the time, every day inside product systems, but when they happen they affect a single part of the environment. If one company has something go down because a programmer has made a mistake, it generally has fairly limited affects on other companies. But because this platform is a service and it runs in the Internet, the ability to shield one company from problems that others are causing is a critical thing. And again, in our expectations these are accidents, but that accident can turn into a denial of service attack.

So we will have a relationship with every company making calls against our production system. We will have tools in place to monitor the way those systems are being used. And if we detect that something untoward is happening, we’ll have the ability to work directly with the company that’s issuing those calls, the application that’s issuing those calls and even shut it down for a temporary period of time if that’s what is required.

We do expect that that relationship that we have will be a licensing oriented relationship with companies that are running in production. Our anticipation is we will charge a moderate amount to those companies to have a basic relationship with Microsoft and to be able to use these services. We’ll have additional relationships available for people who have the need for a high level of service, a high service level agreement from us, and perhaps need dedicated on-site, on-call support people, or perhaps if they are putting incredibly heavy loads on the system, they have a special purpose application, we might have a special relationship with folks. But in general the core principle here is that we’re not anticipating that either the developer community or the service operators that utilize these services are the ones that are really carrying the burden of the cost.

The benefits accrue to the end user, and so it’s the end users that are paying for the services. And our goal here in terms of establishing these relationships with developers and service operators is to make sure that it’s less expensive for them to use our services than it would be to build things themselves. And I think that sort of speaks to the key to this. There’s a lot of good reason for them to use a common, centralized set of services and we don’t want them to think it’s too costly to do so.

Now, another very important attribute of this is the way, the process by which the specifications are evolving, and our work with the community, the industry at large in those specifications.

So what we’ve done with HailStorm is we’ve defined an open process, where Microsoft is working together in partnership with a wide variety of ISVs today, and I think a broadening amount of software developers in the future to define how HailStorm is built and how it can be extended into the future.

The first sort of thing that’s important is that as new types of applications or services are defined, new things that are outside the core that Bill showed and Mark showed earlier, those specifications will be created in partnership with the industry through an open process.

Now, they’ll be supported by the core HailStorm services that Microsoft’s running, things like Passport at the center of that, but there will be an opportunity for others to participate in the definition of those services and the running of those services as appropriate.

And you can think of hundreds and hundreds of potential examples where the industry at large can take what we’re doing with HailStorm and extend that to different domains and different areas. We think that sort of the thing that differentiates HailStorm -- Web services allow any application to interoperate with another. The thing that pulls all of these services together with HailStorm is this idea of having the user, or the user credentials, at the center. So whenever you need to identify a user, that’s where it’s important to have an open process in place so that we can work together with the developer community, with the industry to make sure that those services are extended in a way that’s compatible with the HailStorm architecture and that doesn’t introduce duplications and schemas that just make it confusing for the end user.

Now, you know, as we’ve started talking to folks out there in the industry, we just get lots and lots of ideas on sorts of things that people might want to do. I have an example that I could just imagine my daughter is on a swim team, and you can imagine mySportsResults, just an example of something that’s important for a given community or a given organization to have. There are so many different examples. Some of them are individual in their focus at the consumer; others are much more business oriented.

And one of the things you’ll see from Microsoft in the coming months is working in process with the industry to define some sets of services that are really targeted at more of the B2B scenarios. Most of the scenarios we’re showing today are consumer focused. They go well, well beyond the basic notification scenarios, but they’re consumer focused. In the future we’ll have some B2B examples, as we work together with the industry.

Now this process, this open process has already started. We’ve been working with a number of developers since last year. We had a pretty large design preview last week, where we had about 400 developers in. And the reactions they have to both HailStorm and this process has been very, very positive.

So the roadmap, where are we going with this? Well, right now for developers we’re working on applications, working on services. Passport is a service that’s available to them today to begin to take advantage of. Later this year we will roll out a set of notification services, pretty much in the same timeframe as Windows XP rolls out, that allow the kinds of solutions, the kinds of prototypes that you saw today to be developed by the industry.

Now, HailStorm, you can think about that in some ways those specs that people are writing to as the .5 specifications to HailStorm. They still have not been fully enabled with all of the HailStorm concepts. And so working together with the industry, the team that Mark is leading here has been defining this very complete specification and an implementation behind it for how HailStorm works. We shared that with the industry last week pretty broadly. In the second half of this year, really in the Q4 timeframe, we anticipate going to a wide scale beta with the developer community on the set of services that HailStorm provides, and anticipate that next year in 2002 will be the timeframe where HailStorm services go live on the Internet and people can begin to use the actual interfaces that we define to build HailStorm-based applications.

Now, obviously, Microsoft will be building services and taking our products, transitioning those products and services, and taking advantage of the HailStorm services. In a lot of senses, HailStorm really is the blueprint for how those services will be built. It’s the way that existing products, as well as new products can work as a service. So you can expect that things like we already see examples where sites like MSN take advantage of Passport very deeply, so our service oriented sites are already on the path to this, but, you know, we showed some examples of how Windows XP is a great end point for HailStorm services. We see things like XBox being used for game developers to hook up connections and communicate with each other. And we expect that over time things like Office as well will leverage and build on the HailStorm services to really talk and work with a broader set of users.

With that, what I’d like to do is invite Vic to come back up and show a couple more partner demos. Thank you.

MR. GUNDOTRA: Okay. Thanks, Bob.

We’ve got two more demonstrations to show you. The first one is a very heavy-duty business example. And then we’ll follow that up with a consumer example. And with that, I’d like to invite out the CEO of Click Commerce Michael Ferro. Welcome, Michael; as well as Ben Schwartz, who’s the senior developer. Michael, why don’t you show us what you’ve got here?

MR. FERRO: Thanks, Vic. Sure. We at Click Commerce supply channel management software to global 1,000 corporations to enable them to collaborate with their training partners. As you can see by our slide, we work on the sell side in helping corporations work with their distributors who sell through dealers, who may go through other resellers, to get the end independents and even to consumers.

Now, this is quite complex. And let’s kind of give you an example of how complex this is and how it has to do with HailStorm.

Let’s say, for example, an elevator manufacture and say this elevator manufacturer has all these different distributors and dealers and they really want to sell more parts, but they have over hundreds of thousands of independent elevator repairmen out there who specify which parts to use.

Now let’s say I’m Seth, an elevator repairman and I’m driving around in my truck and all of a sudden I get paged. And everything here that we’re showing you is live. And my pager buzzes and says, "There’s been an earthquake in Seattle; a lot of elevators are out." In fact, I’m giving a job report that says, "Go to the Hyatt in Bellevue and fix it."

Now, what’s very important about this, Vic, is the way this happens, was that the way we were notified, the notification service, was that this elevator repairman was Passport enabled. And why it’s important is that if I’m an elevator repairman guy who works for a service center, he’s not going to have his computer set up and he needs to be notified.

Now what it tells him to do is it not only tells him to go the Hyatt, but then when he gets to the Hyatt to do the repair in the elevator, he suddenly can go to MyElevatorParts.com -- that’s where he’s directed to go do.

And why this is important is he can use his personal computer or Windows CE device, and what you’re seeing now is that he’s using this Click Commerce software. This is our channel management solution that allows him to come in, and as you can see we know it’s him coming in -- this is also Passport enabled -- and that he can do everything from looking at product catalogues to ordering things, and in fact since the OEM is part of this, he can see the actual model number of that elevator and pull up all the specs about it. In fact, he can find out when he finds what the problem is, here’s the repairs and have hot spotted microfiche to click on. And when he goes to order, since the distributors and dealers are also collaboratively connected into this, he can find out, "Oh, I need these types of parts," orders it, and what happens here -- and this is really important -- is that he’s ordered this in a way to say, "I need it now," and what’s done here, since we have everybody connected together, we can check the inventories to find out in a 50-mile radius are these parts available for Seth to install. And in this case it says there’s only 20 of what he needs in a 50-mile radius, should he even take this job, can he continue. And Seth decides, yes, I’ll take these 20, let’s go. And once he presses "okay" a lot of interesting things just happened here.

For Seth in the old days to have done this system, he would have had to go to the site, try to figure out what the elevator is, hopefully have books that he could go find, call up the office, go back and forth and this could take days to figure out. But now this is happening in minutes.

Now let’s say Seth goes on and repairs the elevator. Now, remember he just punched in "okay." Well, suddenly about 30 minutes into fixing the repairs he gets paged again. And when the pager shows up, what happens now is it says, "parts are on the way, and by the way since everybody else also has notification services, we’ve sent out messages to the other dealers and distributors that they need to bring the rest of that order to his location or to him as soon as possible."

Now, why we’re really excited about this value proposition is that there’s three really huge value propositions with this HailStorm initiative for our customers today. One is in just this one example of an elevator manufacturer is that not just elevator manufacturers but 70 percent of all goods and services are sold through complex channels that always ended up having hundreds of thousands of independents from automotive to insurance at the end who need to get data and work together in a collaborative manner. Well, what this did just in that elevator example though is the parts the elevator company is selling, they have 50 to 80 percent profit margins. If they can help enable and make it easier to do business where these independents are specifying their product, this is huge for them building their brand.

Also, when you put this collaborative commerce effort together and incorporating some of the new Microsoft features of Passport, there’s cost savings and increased efficiencies for all the partners and distributors, the dealers, the resellers, and the contractors themselves, not just the OEM. And so it’s a small business owner last but not least this allows them -- this is kind of the last mile of B2B when you put all this together -- suddenly he or she has the power to build their organization tenfold, and suddenly they can do more jobs, get more done, and they didn’t have to build any software infrastructure. They’re not worried about IT. They’re only worried about building their core business.

So right now we at Click Commerce are very excited and see a lot of opportunity for this HailStorm initiative and the whole .NET initiative to really help increase market share and brand for a lot of the global 1,000 of our clients today.

Thank you.

MR. GUNDOTRA: Great. Thank you, Michael.

MR. FERRO: Thank you, Vic.

MR. GUNDOTRA: Okay, thanks, Ben.

All right, that was a great example of how these services can really help business in a very, very deep way, not only in how they interface to consumers, but how they interface with their own business supply chain, really great. And you saw the notifications being delivered on a non-PC device, on a pager, and that was great.

Now, I’m going to assume most of us probably don’t spend our days going through marketplaces on the Web. Let’s switch to more of a consumer example. I’m sure you’ll all been on a plane. You probably used a plane to get here. We’d like to invite up Suzi LeVine, marketing director of Expedia. Welcome, Suzi, and Simon Tam, who is a director of technology. Come on up. And Suzi, Simon, why don’t you tell us how Expedia will utilize these services.

MS. LEVINE: Excellent. Thank you, Vic. Thank you for having us here.

Well, as some of you may be familiar with Expedia, Expedia is an online travel service -- air, car, hotel, packages, cruises, condos, villas, et cetera, et cetera. But with $1.8 billion in sales over calendar year 2000 we’re not only one of the top five e-commerce businesses, but we’re actually one of the top ten travel agencies in the US.

Now, I emphasize the word "travel agency," because of course that’s our focus. And what we’re looking forward to with the .NET services is their ability to help us be a better travel agency. For us it’s not about deploying whizzy new features, although that’s an added side benefit, it’s about providing a better experience for our travelers, for our customers.

So what you’re going to see us demonstrate today is the utilization of the Passport authentication, the Messenger notification, as well as some of the HailStorm services like Buddies and Calendars.

Now, when you think of sort of your dream travel agent, or when we ask our customers more importantly, and hopefully some of you are our customers -- we ask them what is it that they really want from us, what do they want us to deliver? And some of the things that can only be delivered as a result of the .NET services and online are things, more than what Bill was saying in terms of just flight status, but flight status to the person picking you up at the airport. Or when we had the earthquake a couple of weeks ago in Seattle, cell phone service was completely crippled, but data messages were getting through, so wouldn’t it have been great, if I had had a flight later in the day in Seattle, to be notified that the air control tower had crumpled and they were now working out of a trailer park?

So to give you a sense of how we plan on utilizing these services with Expedia, we’re going to take a look at a real-time scenario. Simon is going to take us through, he’s just working away on his PC. The first thing you can see here is our utilization of the Messenger extensions in Windows XP, deploying an Expedia tab in the instant messenger client for that very perishable and dynamic information that we know travel data to be.

So, for example, Simon sees a great fare from Seattle to San Francisco where he can go and visit his mom, and he not only sees, but then he hears her voice, "Come home, Simon," and he clicks on the fare and he’ll get to a screen where he can actually go straight into Expedia.

Now, if we were using the Windows XP unified logon, you would go straight into the site, but what we want to show you here is the ability to link your Passport account with your Expedia account. We have a substantial number of people who have been using Expedia for a long time. They have a lot of information. We want to make sure to still accommodate the combination of the two. But people who are using Passport to access Expedia will have a substantially better experience because of some of the things that we’re going to show you.

So he’s going to sign in now using Passport and once he does that we’re going to sort of fast forward through to the point where he’s already booked his ticket on Expedia to go to San Francisco and see his mom.

So he’s going to get to his itinerary, which hopefully some of you will recognize from your own purchases -- if not, we can talk later. And once you see that, you’re going to be able to get to the point where we’re showing the utilization of the notification services, so when we scroll down here, one of the new things is this "change notification" setting. With that, Simon is going to click on the notification settings and now just adapt his own notifications, but adapt the notification to others from his buddy list. So he’s going to visit his mom. Well, he has the capability to go in and let her know an hour before the arrival of the flight that the status of the flight is whatever it may be, and we’ll check that out a little bit later. He also has the opportunity to let Bob, his assistant -- hey, Simon, we’re trying to get to profitability; why do you have an assistant?

MR. TAM: Hey, Suzi, someone has to integrate with these HailStorm services.

Speaking of integration, now I want you to take a look closely here at these "others" list. And if you notice, one of the things that we’ve done, because of the ability for us to act on behalf of the traveler, is that this list we’ve accessed programmatically via the HailStorm services. So the list here that you see is exactly the same as the list that we have here in our Windows Messenger client.

MR. GUNDOTRA: So that’s pretty profound. What you’ve done is you’ve taken the data, which may have been locked up in a particular application like the buddy list, and in fact you’ve freed that through the HailStorm services, and you’ve deeply integrated that into the travel experience?

MR. TAM: That’s right, and at no time did I ever have to enter these same contacts at all into Expedia.

MR. GUNDOTRA: That’s great. That’s great.

MS. LEVINE: And through the utilization of the future HailStorm services, such as Calendaring, you can also add it to their calendar, so not only are they notified but they also are given a heads up so that they can plan around their day.

So, for example, your mom, who might be shopping for her dinner for you, your favorite pot roast, she’d be able to plan around that and do the shopping in advance.

So you’ll click "continue" and you’re also going to set up your own notification. Simon’s a little flight retentive, unlike most of us, and he likes to be notified far in advance, as opposed to those of us who kind of walk up as they’re closing the doors on our faces. He’s going to click on the "update notification" settings and then the real work begins in terms of Expedia goes out, Expedia as a travel agency goes out and obtains the flight status at the designated time. Once we’ve done that, then we’re able to send that information to the .NET services and we don’t have to worry about where the recipient of that information may be.

So, for example, Bob may be at his PC, Simon’s mom may be out shopping with her cell phone, and we’ll be able to get those notifications to the right person at the right time. See, we have the little pop-ups in the right-hand corner there. So Bob’s gotten his notification. So Simon’s mom has gotten her notification that, in fact, the flight is running late. You’ll see that. There you go. The flight is running late, the United Airlines flight. So she can know that she has a little bit more time to add to the pot roast in order to build up a whole stew for Simon. And overall have a better travel experience within Expedia, as well as for friends of Expedia.

So let me just kind of recap what you’ve seen us utilizing in a very real world scenario. We’ve been using the Passport authentication, the Messenger notification, buddy lists integration -- how many more "-ations" do I have here -- as well as the Calendar usage. And with those services, again we’re able to focus on becoming an even better travel service and provide the type of experience that has never existed before online or offline utilizing .NET.

Thank you.

MR. GUNDOTRA: Thank you, Suzi. Thank you, Simon.

Okay, hopefully you can see why we’re so excited about how even these few set of services that are precursors to HailStorm really start to enable a new user experience. We’ll turn it back to Bob.

MR. MUGLIA: Great. Thanks, Vic.

Well, let me just quickly close by talking a little bit about some of the principles, reiterating some of the principles that we’ve talked about today that have really guided the creation of this new HailStorm platform.

The first one in many ways is the most important one, the realization that this is on behalf of and for the user, and the user is always in control of their information. They get to decide what to do with that information. And by doing this, by really focusing on the user, we enable a broad set of great new scenarios.

The second one is that this is about open access to any device, any service, anywhere on the planet. We expect the PC to be playing a super, super important role in this, but the PC is not the only device that needs to work with these set of HailStorm services. So whether it’s a cell phone, a PDA, a PC or whatever kind of device it is, on the client side, and whatever kind of service it is on the back end. Of course, Windows 2000 is supported and we’ll do some great things to make it easier for developers to build solutions that work with HailStorm, but if a developer is using Linux or if they’re using Solaris as their back-end services, they can participate in HailStorm as well.

The process of creating HailStorm to date and the process for evolving it and moving forward is an open process. We’re doing it together with the software development community. And we expect many of the great ideas frankly to come from others in the industry.

There’s areas where Microsoft has expertise, but there are entire industries where we really have no expertise, and we anticipate that by working with others, new services can be added to HailStorm, which really open up potentials that we have yet to dream of. In essence, the extensibility of this is open and is based on whatever people would like to do.

So to summarize, HailStorm is not just a new platform; it’s a new breed of platform, a platform that lives in the Internet, that’s focused on and delivering services on behalf of the end user. And by focusing first and foremost on the end user we think we can transform that user experience to one where the user is in control of their information across devices and across services.

HailStorm is built because of and for developers. It’s a developer platform, and it will be open for developers to call and use. It's something that we expect to evolve into the future, and it's very, very much focused on opening up and creating opportunities for developers, as well as for the industry as a whole.

It's a technology announcement today. That's the number one thing, we think that's the great technology, but we also view this as a shift in business models for the Internet. As we move to Web services, the business model can change, creating incredible opportunity for everyone. I've been at Microsoft for 13 years, and we're just talking about -- I was actually talking with Ray Ozzie earlier this morning about how many of the people that are involved in building the set of HailStorm services, this new platform, are old-timers at Microsoft and we've worked together with the industry for a long time. And I can say this for an absolute certainty, that it's been a long time since we, those of us who have been putting this together, have had this kind of excitement about the potential for how this can transform the industry, and help people. I know that's why I'm here, that's what I love about Microsoft, is that the technologies we build have the ability to transform people's lives. And I very much see HailStorm as one of those technologies.

We've a lot of work to do to actually pull this thing together. It's a long task to actually get there, but it's a path we are on, and we anticipate we really intend to finish in a big way.

So, thank you very much.