Remarks by Bob Muglia
Professional Developers Conference
Oct. 23, 2001
BOB MUGLIA: Okay, okay, I admit the Hailstorm codename was a little over the top. I think that it was a bit over the top, but you have to realize this is very cool technology. This is technology that can change the way people live and can allow you to create great new applications. Its those great new applications that you can create that are at the center of this.
I want to start today by thinking about whats possible with .NET My Services technologies, and with .NET and in particular, how the applications you create can make that come alive.
So I want to begin by asking the question: What if? What if you could access the entire Internet with one password, only have to remember one password and when you change it in one place it changes everywhere? How would that make your Internet activities more secure and make your lives and the lives of your users easier?
What if you could go to a Web site youve never been to before and not have to reenter all that information to buy something? What would that open up? How would that allow Web sites that dont have a huge brand name presence to establish themselves more easily on the Internet and, in fact, make it easier for those Web sites that do have a big brand name to do business with their customers? How would that change things?
What if you could be alerted of the things that you cared about at the time you cared about it in the way you care about it, wherever you are, whether youre at your desk at work or at home or whether youre in the car or in a meeting, be alerted in the way that makes sense for you in the context of what youre doing?
What if you could change your address in one place? What if when you moved or when your Zip code or phone number changed you could just go to one place to change that and then all your friends and family would instantly know?
This is a hassle I know Ive had recently. Our zip code changed. Were in an area thats growing out in the Redmond area and they added a new zip code, and about two years ago we sent out mail to all of our friends saying that we had this new zip code. We sent it out three times and we still get letters all the time with the old zip code in it, as well as reminders from the post office asking us to remind our friends, which weve done now three times.
This is one that I think is especially relevant for those of us with families. What if you had a calendar that you could share your work calendar with your wife or your spouse at home, your partner, and all of your kids? What if you could share all that information and coordinate schedules that way from your desk or from any device anywhere on the Internet? How would that simplify things? Coordinating our busy lives takes up so much time. What if you could make that easy?
Well, thats what .NET My Services are all about. Its a revolutionary new platform that enables these sorts of applications and many, many more.
So with that capability, with those things that can impact users, how does that change your business? What are the things that are possible for you to do within your business that were not really possible before? Does it allow you to reach out to new customers? Well, if you start with a base of 200 million Passport users, thats a pretty good start to get going and bringing in new customers into your business. And once theyre there, how can you provide better service for those customers, how can you give them what they want and what they need to do business with you more effectively?
The heart of it all, the thing that makes it all tick, is the applications that you can create, the new sets of things, the new services that are built on top of this programming environment, together with all the things that are in your company, the things that you have expertise on in your area to gain a competitive advantage and really differentiate what your company can do.
At the root of all of this is the application. And what Im so excited about is that this technology is technology that lets you go and build solutions for your customers that just couldnt be built before. Its things where almost no matter how much effort you put into it you couldnt reach those customers, you couldnt have the kind of impact that you can have when you build on top of this platform. And when I think about the exciting applications that you will create based on this, and the solutions that that delivers to end users, thats what makes it all so magic. Thats what creates the excitement and the possibility with this new platform.
So lets talk a little bit about why were doing it, whats the fundamental problem to be solved. The basic problem is there is lots of information coming at us. Theres no lack of information available to users. But in a lot of senses that information is not sorted or presented in a way that makes a ton of sense, and the user is really at the center of it and they have to sort if all out. So how can a user get to the same information on their PC or on their cell phone or on their PDA? How can they have what you might think of as an appropriately customized view for the device but access to the same information?
So, of course, when I have a cell phone, maybe its a smart cell phone with a reasonable caller display, but its a small screen, how can I have a device that has that information presented to me in a way thats formatted appropriately for that device, but at the same time its the same information that I use in my business or at home and see on my PC.
Another set of problems and these problems are broadly addressed by Web services, but maybe very particularly addressed with .NET My Services is the fact that all of these Web sites out there are effectively islands. They dont have the level of interaction that they could and should have, so users once again are forced to deal with these different Web sites and create their own way of interacting, maybe writing things down as they go traverse from Web site to another Web site. How can we integrate all of those things together to provide the user with a cohesive view of the information that they care about, the information thats relevant in their lives regardless of what device theyre working on?
So thats the motivation behind .NET My Services, so lets talk a little bit about what it is.
First of all, .NET My Services starts with the user. It begins with the concept of a user, maybe a user at work or perhaps a user at home in a consumer situation, but its focused on what are the needs that that user has, what information do they care about. Whats the security context that the user is running and whats their identity? And then it takes and surrounds that user with a wide variety of smart devices. And these devices are incredible.
You think about Web services and what Web services does for smart client devices, it really unleashes the power of these client devices and allows you to build applications that get deployed to those devices and very, very effectively present information to an end user. Thats certainly true on Windows and the PC and the full screen form factor. Its also true in a new wave of smart devices, things like Pocket PCs and smart phones, but other devices as well, like palm devices and RIM pagers, things like that.
Now, when I think about smart devices, I get very excited, because I realize that there is incredible potential to create great experiences for end users. There is just so much raw processing power thats coming to bear in these devices. Take as an example the new Pocket PCs that are just shipping right now from our hardware OEMs based on Pocket PC 2002. Those devices in general have about a 240-megahertz RIS processor in them with 64 megabytes of RAM. Now, thats more processing power and RAM than most Windows 95 desktops have, and its all held in your hand.
In about two years that same level of processing power will be in a smart phone and what it really means is three to four years from now well start to see processors on the order of almost a gigahertz in these small screen devices.
So theres incredible power there to build rich applications that are asynchronously connected to Web services to provide a great rich user experience either offline if there is no connectivity available or online across whatever level of connection might be there. Maybe its a wired connection. Maybe its an 802.11 wireless connection, which has high speed and low latency characteristics associated with it. Or perhaps its a wide area network, 1XRTT or GPRS connection thats more on the order of 50k with higher latency, but its still connected almost no matter wherever you are. It doesnt matter; these smart devices will deliver the experience to the end user. Thats how users will get at information.
And what information will they get at? Well, this is where Web services and .NET My Services comes in, this idea that regardless of where you are in the planet theres interesting information thats relevant in your life that you want to be able to get at in a consistent and coherent way.
And so what .NET My Services does is it takes that information and brings it to users across these smart devices. So it begins with the user and the user experience. The experience is viewed through smart devices. But its really the services that makes it all possible, because without that model, that services model, which is really at the root of what were doing with XML Web services, without that, the information can be viewed in a coherent way, there is no coherency to it.
So its those three pieces together that make up .NET My Services.
Now from a perspective of whats in the core initial set of services were releasing with .NET My Services, let me talk a little bit about that.
Again, it starts with the user. And here the distinguishing characteristic is that we need to know the identity of who the user is. And of course we use Passport as a mechanism to do that, and there will be federated solutions Ill talk about a little bit later, but the distinguishing thing that distinguishes .NET My Services from any other Web service on the Internet is the fact that these are secure services associated with an identity of a user.
Now, Ill give you an example. If I want to get at my calendar, and I want to control who has access to my calendar information, the system needs to know who I am, I need to log on with the correct use name and password and then I can get at that information across XML Web services.
On the other hand, other Web services that might be interesting for people to build dont require this level of user identity. If I wanted to build a news service or a weather service, a sport service, I dont perhaps need to have the identity of the user known because the information thats being sent out as a part of those Web services is not specific to the user. Its applicable to everyone, so that Web service can be built with really a generic set of service capabilities. But when you need to know who the user is, you need to begin with identity.
And then when you want to fill that in, what are the sets of services that a user would find interesting to affect their life? What are the sort of — I kind of think about these are kernel level services. And the reason that analogy is interesting is .NET My Services we think of as a platform. Its a platform much like Windows or UNIX is a platform. And its different. I mean, its a platform like those things, but its different because this platform exists on the Internet and doesnt exist on any single machine.
So when I think about the .NET My Services and this platform aspect, what are the things that you might think of as the kernel features or the base features of an operating system? Well, an operating system has memory management, file management. It has networking and graphics as a part of it.
What are the core sets of services that would exist for a user-centric platform that exists on the Internet?
Well, we think of those services as the things that users care about, things like their Inbox or calendar, the contacts, the people they work with, lists that they might have, whatever those lists might be, the Web sites that they frequent, the applications they work with, the documents theyre currently working on, where are they, whats their location, whats their present state, are they online or offline and then the basic financial information thats in the wallet.
There are a set of 15 core services that were initially developing with .NET My Services, and just like an operating system that might start with a small number of services, you can expect this to expand over time. Well add some over time and in many cases well wind up working openly with the industry in areas where Microsoft might not have expertise to develop domain specific services that are focused on a given area, like music or personal finance management or in a more vertically oriented field, something Microsoft might not have any knowledge of the manufacturing process. We could imagine those sorts of services being added on an incremental basis.
Beyond that, though, as you build services, Web services that you create, you can create services that have schemas and XML templates that are appropriate for your business, that contain your business information within it, but arent really openly shared and published on the Internet.
In that way you can use some of the core services were providing with .NET My Services, things like Passport to do base level user authentication, and then extend the applications you build with schemas that are proprietary to your business that contain the business logic thats appropriate for the area that you focus on.
But were starting with this set of services. These are ones that we think of as very horizontal. There are ones that apply to users regardless of whether theyre at home or at work, and they can be used and consumed by a wide variety of applications that really can build on these. And those are the base set of services.
Now, when we think about those services, recognize that this again is a platform and those services, of course, are expressed in XML. So a platform, take the Windows platform, for example, where Windows is a platform and it has APIs that you call to get services out of the operating system. .NET My Services likewise is also a platform and it has its own form of APIs. But the difference here is that .NET My Services doesnt run on your local machine; it runs on a set of distributed computers that exist in a variety of data centers across the Internet.
So as developers, the way you take advantage of those services is you make SOAP protocol calls, packetizing your service calls, your API calls in the form of XML schemas that you send. And effectively what you have is an asynchronous message request to get the results that you want, to have the service performed on your behalf as a programmer that happens someplace on the Internet, but the effect is essentially the same that youre building applications that call core platform services that do things on the behalf of your application and on the behalf of your users.
So its quite similar to the programming model that youre used to in terms of platforms, but it takes on this new shape of a protocol using XML schemas as the core way in which services are performed.
Now we start with this. I talked about identity, identity at the center of this, and we talk about users at the core of it. Thats certainly true and a very large percentage of all of the operations that will be done on these services are single user-centric. But its important to recognize that theres a set of natural extensions there that enable forms of collaboration between users.
So while we begin with the identity in Passport as a user, were adding group capability to Passport as well, so that you can take groups of people. Maybe theyre people that work in a department. Maybe its an organization like a church or an athletic organization, whatever it might be, but taking groups of people and creating an identity associated with that group so that you can do simple things like send an instant message to everybody in the group or send an e-mail to everyone in the group, do operations on that group, or associate security contacts with that group, so you can permit, put an ACKL on .NET My Services and say that anyone whos a member of this group has access to this particular capability.
Its key to us that users need to be in control and the mechanisms, the underlying security mechanisms that exist on a user focus basis extend to users and they even extend to entire organizations.
A big part of what were trying to do is enable major organizations to do sharing with each other of information and in order to do that you need to be able to identify an organization as a whole and be able to once again set security context on that organization. So it starts with users but extends through groups and all the way into organizations and those are the kinds of operations that we see being performed.
What I want to do now is talk a little bit about the partners, because the partners are key to this, and weve been working very closely with a wide variety of partners over the last few months.
In fact, when we first started developing this, we took about 400 folks who had some interest in it and we brought them in and we really asked for their feedback on how to develop this. You know, when youre building a new platform, understanding what is required is quite difficult. This is a new kind of platform even, and so understanding what the needs of that platform are really requires the interaction of all of you, the software development community.
So we took a number of folks and we got their feedback, and frankly weve been incredibly excited by the feedback that theyve given us and the applications that they have created in a short time based on this interesting new platform. And when we talk to these partners, they say that this is technology that they find incredibly relevant to their business. Its technologies that their developers understand and are able to work with. Theyve given us lots of good feedback. Were looking for feedback from all of you as we continue to develop this.
But whats really interesting is the quality of the applications and the way those applications can change their business. We saw an example of that this morning in Bills keynote with Verizon. Lets take a look now at another example of another partner whos using .NET My Services to really change their business in a fundamental way.
Let me welcome Jason Proply to show us the Starbucks demo.
JASON PROPLY: Good to be here. Im here to day to talk about Starbucks Express Ordering. This is a service thats being created by Starbucks with the assistance of Microsoft Consulting Services and OnTank Corporation. And basically its going to allow customers to place an order when theyre on their way to a Starbucks store and to pick up that order when they arrive; it will be waiting for them. This is going to make customers happy. Its going to allow them to bypass a line when theyre in a hurry. They dont have to fumble with change, and it gives them options about how they place this order. And really thats going to help start us to understand their customers and ultimately help them sell more coffee. Im going to show you how we can enable this with .NET My Services.
So what we would do is wed go to the Starbucks.com Web site and a feature there is going to be an express ordering link. If we select that link, wed be given a screen to set up our express ordering account. To set up that account we need information like our first and last names to print on our cups, a cell phone number to identify us through caller ID and billing information. We set up billing information, we set up an account with Starbucks, a prepaid Starbucks account, which we put money into. When we place an order, money comes out and we can recharge this using the phone or through the Internet.
There are also some interesting applications of .NET My Services here, such as .NET alerts. We could have an option to receive an alert every time we place an order. This would allow us to keep track of what our balance is to make sure we dont run out on our account.
Now, the information on this form is all pretty common information that I enter and Ive already entered it into my .NET services. So I have the option here of importing one field at a time from my .NET services or importing all this information.
So to do this more accurately and quickly, Im going to choose to import my information. But, of course, as a customer, Im in control of my information and I have to give Starbucks consent to use the various pieces of information that they want to use to set up the express ordering service.
So theyre going to want information from my profile; thats name and phone number, from my .NET wallet to set up billing information. They could also want to store information in a .NET list, your coffee preferences as an option, and .NET alerts and .NET presence in order to be able to send me those alerts that I want to see.
And I trust Starbucks with my data, so Im going to give them consent to use that data.
BOB MUGLIA: This idea of the user in control is really at the center of what were doing with Passport and .NET My Services, where the data is really user information and we want them to be in control of it. And in this case they can grant Starbucks the rights to use this information just once or they can say that they trust Starbucks and in the future they dont need to go through this dialogue if they should so choose.
JASON PROPLY: Thats right, Bob. And this is all built on industry-standard SOAP and XML, and we did a query to the profile and Im going to show we saved a sample query from my profile service, and its just once again SOAP and XML. We have a SOAP envelope that we create. We have the SOAP header with various security information. And then we have the basic request thats sent out to my profile service to pull my profile information.
In the response its once again just a SOAP response with the envelope and header again, and then the body of the response is just an XML document. And we can load that XML document into the DOM to get to the information that were interested in. An example of a piece of that information would be just a phone number, so that the service can recognize you when you call in.
But with a .NET My Services Developer Edition we have WSDL files, or Web Service Description Language files, that make it even easier to program these services. We do this by using those WSDL files to add a Web reference to our project, and that creates a proxy class that allows us to more easily use the methods and properties of the Web services.
And Im a VB programmer, so I just decided to implement this in VB. By adding that Web reference, I have this proxy class, which I can use. I can set up the various data types. I can query the service to get a response. I can check that response to see if it was successful. And once it is successful, I could just access the various pieces of information that are returned by the service. And once again well highlight the phone number here at the bottom that were interested in.
So theres good VisualStudio .NET integration here that we can use to program these services and make it easier to program.
But lets get back to setting up the service here. So now that weve entered our various pieces of information, were going to hit Next and were just going to accept the terms of the agreement and verify that our billing information is correct.
Now that weve provided personal information and billing information, its time to actually tell Starbucks what we want to order. And to do this we set up some orders in advance and we might ask for a cappuccino — its what I prefer — a grande cappuccino. I like a couple of extra shots to keep me going in the morning, and Ill add that item to my order.
Now that weve picked that order, its time to say done with order, but there are a lot of Starbucks locations out there, so we have to choose a location. You might want to use a service like a store locator service to find a location based on an address. In this case I probably want to base it on my home address, because Im leaving home in the morning and want to go get my coffee. So once again address is something thats in my .NET profile, so Ill choose to import that information.
As Bob mentioned, we dont need to provide consent again because we already provided that to Starbucks.
So we have my address information. Ill use a Web service based on MapPoint.NET to look up nearby locations. There might be a location in the Redmond Town Center. Thats the one that I want to go to. Ill choose that location, hit Continue, and Ive set up my order and picked a location.
Now its time to actually place that order and we have the option to place it by Web or by using the phone. And were going to show an example of how we might use the phone to do that and it just gives you the phone number and it tells us to order three or four minutes in advance.
So now were going to go — lets say were on our way to work in the morning, we get in the car, we have our cell phone, we want to call the Starbucks Express Ordering phone number.
VOICE: Welcome to Starbucks Express. Please enter your Starbucks Express Order number now, or to hear a list of your orders, press 9.
BOB MUGLIA: It knows from caller ID who you are.
JASON PROPLY: Exactly.
BOB MUGLIA: And authenticates that with your Passport.
JASON PROPLY: Thats right. Exactly. It recognizes me by my cell phone number. So we set up one order in the service, so were going to choose order number one.
VOICE: Your order number one to the Redmond Town Center location has been received. Please confirm this by hanging up now.
JASON PROPLY: So thats all we have to do is just hang up the phone at this point and a label is now printing out at the Starbucks Store that knows what beverage I want and I can go to Starbucks to get that.
But I mentioned that we could also get an alert, another interesting application of .NET My Services and .NET alerts. And it would just show up on our phone something similar to this, where it would show us the remainder of the balance on our Starbucks account, so we know that were good for the rest of the week and we can keep ourselves going.
So, Bob, why dont we go off to Starbucks and pick up our beverage?
BOB MUGLIA: Great. (Laughter.) That was ready quickly, wasnt it? (Cheers, applause.)
JASON PROPLY: I think people are going to like this service. Look at that. Its got my name on the cup and everything.
BOB MUGLIA: Great. Thanks a lot, Jason.
JASON PROPLY: Thanks, Bob.
BOB MUGLIA: Its a fun example, but the thing I think thats behind this is Starbucks is a major company that really has a focused relationship with their customers. Theyre a great marketing company. Theyre a great product company overall. And anything that they can do to make it easy for their customers to keep coming back into their stores and placing orders with them and creating that customer relationship is what really runs their business. Its the engine behind their business.
So this is the sort of technology, this is the kind of thing that Starbucks can really use to change their business. And if you want to think about how they would go about doing this without these sets of services, it would be a lot harder. They wouldnt be able to have the underlying authentication mechanism. They wouldnt be able to have the underlying alerting mechanism and they wouldnt have all of that integration. Its a clear Web services app and its an app that changes business.
One of the very important things that we showed there is technology that is available now for you to begin working with. Were going to be rolling out the .NET My Services over the next year or so, but there is some key technology thats available for you today. Passport is here now for you to work on, but the first of the .NET My Services is also available, and thats the .NET alerts. This is the ability to take and send an alert to any machine, whether its a PC or a cell phone; anything that can take an instant message or an SMS message can participate in .NET alerts. And the kinds of applications that you can build with this are quite dramatic. Theres a wide variety of them.
And as our customers, as the people began using, the developers that have started working with .NET My Services have looked at the kinds of applications they can build, almost always theres an attribute of alerting thats an interesting part of that application. It can notify people of things that are relevant. It can also create community between people who want to work together.
So this is a very, very important set of technologies that is available now. The SDK to create .NET alerts is already on your CD, on your conference CD. And well have the cloud that you can use, the full set of services live later this year for you to actually work on.
Weve had a number of companies that have also adopted this. Just like My Services overall, a number of companies have begun to work with these sets of services delivered through .NET My Alerts and have built some really exciting applications.
An example of a great application thats live today is one that eBay built where whenever you have been outbid on an auction that youre in process of, you get an alert telling you that.
Now, this is a great example of how this technology can improve the business for eBay and at the same time improve customer satisfaction. One of their customer satisfaction issues is that customers want to know when theyve been outbid and they want to be able to change their bids. And the old mechanism, the e-mail based mechanisms were pretty inconvenient, because the user would get the notification, it would take a little while to get to them. Theyd have to log onto the eBay site and then reenter their bid number. With this new mechanism, eBay is able to instantly notify a user when theyve been outbid on an auction and with one click the user is taken to the site, theyre logged on with their Passport and theyre given the option of changing their bid.
Now, this is exactly the kind of thing that can promote customer loyalty and customer satisfaction for eBay and its a great example of the kind of applications that can be created with this new technology.
What Id like to do now is show another example of an application that can be built using this, and invite Scott Rose from Accenture to come out and show us a different example of how .NET alerts can really change the way business works. Scott, good afternoon.
SCOTT ROSE: Thank you. Bob.
Its my pleasure to be here today to share some of the work were doing as a development partner with Microsoft as an early adopter of .NET My Services.
Since were not on every street corner like Starbucks and now apparently on every stage, I should probably start with a brief introduction to Accenture technology labs. We are the technology R & D organization within Accenture, the global consulting firm. At the labs our mission is to create business opportunity from technology innovation, in this case envisioning how platforms like .NET My Services allow our clients to engage their customers, their employees, their business partners in new and innovative ways.
The prototype Im about to show you, which was built using the actual SDK, demonstrates how .NET My Services can fundamentally change the package delivery industry from an address-centric model to a user-centric model, delivering to a customer no matter where their location is rather than a predetermined location.
To set up the prototype scenario, I ordered my Xbox online several months ago for delivery to my home. At the time, I granted permission to the delivery company to access my .NET presence, profile and alert services.
Now, my Xbox has been shipped. To confirm the shipping details with me, the delivery company checks .NET presence for my real time availability, determines Im online using Messenger and contacts me using their automated delivery assistant.
As you can see here, they give me a couple of options. The second is to update the time and location of the delivery. Since I know Ill be traveling over the next week, I go ahead and accept that option.
Now to do this they need access to my .NET calendar. So I bring up the consent window. Theres an important point here. Theyre only asking for access to the location information, not the entire calendar record.
Now, before I do that, I want to check my calendar. I look through it. Theres nothing sensitive, nothing Id be concerned sharing, so I go ahead and grant consent.
So their assistant comes back to me and makes me an offer. They say, “We see youre going to be in LA. For $4.95 well go ahead and reroute the package to you;” a simple but compelling example of new chargeable services that .NET My Services opens up for an enterprise.
Now let me think about this for a second. Okay, if I want until Saturday when I get home, wife, three kids, soccer, gymnastics, “But, Honey, we havent seen you all week.” Ill be lucky to open up the box.
BOB MUGLIA: Get the Xbox now.
SCOTT ROSE: Or I could get it here with three days left, 72 straight hours burning it in. (Laughter.) So Ill go ahead and accept the offer.
Okay, and their assistant now says that they need access to additional services to complete the transaction. Bringing up the consent window again, I see .NET wallet for payments, calendar again, a different type of access this time to add the delivery appointment, location so the driver can find me and finally alerts to send me confirmation.
BOB MUGLIA: An interesting thing here is that in terms of that consent window, if youre interacting with an organization occasionally, you might want to really limit the amount of information you give to them and go to this very deep level of granularity and only let them have it once.
On the other hand, if you do business with a company more frequently, you might give them a broader set of access. Its again a key thing of this is that the user is in control of their information and they decide who they share it with.
SCOTT ROSE: Okay, lets finish up the transaction. The delivery assistant has access to my wallet, sees the credit cards that I have against the credit cards they accept, as well as any associated discount. Ill go ahead and select Visa. A confirmation receipt is put into my .NET wallet. A confirmation e-mail is sent using .NET alerts.
So thats it, a simple but compelling example of how .NET My Services can create new chargeable applications, as I said.
Just a few keystrokes, simple keystrokes could have just as easily been done on a smart phone or a PDA.
As the customer, Im thrilled, because I get the package where and when I want it rather than a sticky note on my door at home.
The delivery company gains additional revenues through the Follow Me service, revenues that would not have been possible without .NET My Services, as well as avoids the cost of missed deliveries.
Okay, lets roll the scenario forward a few days. Im here in LA now, walking around with my wireless iPAQ, getting anxious, you know, I want my Xbox, so I go ahead and contact the Delivery Assistant again and ask them where my package is. I dont have to remember a tracking number or a specific ID. All that is stored in .NET My Services.
Okay, and I can see that the package is en route. If I want more information, I click on the URL. It will bring up a map with real time location. I see its right nearby, so I expect the package anytime soon.
And here he is now. (Applause.)
So lets take a look at how .NET My Services could support the delivery driver. As you can see, my picture is here for my .NET profile, as well as very specific location information, right, making it much easier and faster for the driver to identify and locate me.
If I want to finish up and receive the package, I can scan a smart card or go ahead and scan my thumb print, again a much more secure and reliable method for authenticating the recipient, replacing a signature in this case with an e-signature.
Sweet, my Xbox! I cant wait to get this upstairs.
All right, so thats our dynamic delivery prototype. At the labs our development team cant wait to get back, probably Saturday morning theyll get started working on the next set of applications for our early adopter clients. I hope this gives you a sense of our excitement around .NET My Services and even more so the opportunities that it presents to you as developers. Thank you.
BOB MUGLIA: Great. Thanks, Scott.
Again, an opportunity for a company to really change the way they do business and change the depth of the relationship they have with their customers, as well as to make more money, to find new ways to do business with customers and earn revenue that they might not otherwise be able to earn.
So what I want to do now is talk about the business model overall. We talked a little bit about the technology at a high level, and youll have an opportunity to drill in more on that on the breakout sessions, but what I want to do is talk a little bit about the business model around .NET My Services.
Because this new platform is a new breed, a new era of platforms, we need to think about the business around it in different ways.
So first of all, the first and most important premise to begin with is our focus is to make this as friction free for you, the developer community, as possible. We want to make it very, very inexpensive for you to begin working with these services and to deploy these services in production.
So well make the tools available as a part of our standard programs, as part of VisualStudio .NET and MSDN. Were giving the beginnings of those tools out here at the PDC. But as you actually go beyond the point of starting to work with these tools and to the point where youre building applications, our goal is to make it very, very easy for you to put those applications into production. So the interaction that you have, the services that you call will not have any usage fees associated with them.
Now, we do need to have a relationship with the developers that are putting applications into production. We need to run a test facility. You have a box version today that you could run in your local area environments to test your services, but there needs to be a test cloud that you can check your service against before it goes into production. We need to run that test cloud and we need to understand what applications are calling our production level services.
The reason for this is simple: When you think about building an application that you might run on a server or a desktop, you can write that application and really the environment that you can impact is isolated to just your machine. Now, you know, were all developers here. We all know we make mistakes occasionally. And if you make a mistake and accidentally call, say, a Windows API 10,000 times, you get a slow application and maybe your desktop is slowed down. If you call a .NET My Services interface 10,000 times when youre supposed to only call it once, its called a Denial of Service attack. So we need to know what applications are working against this service and we need to have a relationship with you the developer and provide some monitoring tools so that if something does go wrong we can help you correct that application.
Now, in terms of putting those applications into test and into production, were thinking about this in sort of three different levels or three different kinds of applications. And recognize that all of these, when we think about signing these things up, we want to make it less expensive for you to build an application on top of these services than it could ever cost you possibly to build an equivalent set of services yourself.
So if youre building a smaller scale application, maybe something for a department of a company to interact with their employees while theyre out on the road, for example, that application has a fairly low usage and is pretty small scale. The costs associated with that are pretty modest. The numbers that were announcing today are a thousand dollars a year and $250 per application.
In terms of a mainline business scenario, most of the applications that would be written from a business perspective that would be key to a business, we see that as sort of the middle tier or the standard level, which would have a reasonable SLA associated with it, a reasonable Service Level Agreement and would cost $10,000 annually and $1,500 per application.
Now, there are some applications where companies would be looking at bedding their business in a significant way on these .NET My Services, and maybe the Verizon example that Bill showed this morning is an example of a large company that might really need to build services that were reliable and always up and have a relationship with Microsoft on a day to day basis.
In this case, the support agreement might require us to have dedicated support people to help that company in case something goes wrong. In these cases well work directly with companies that want to have dedicated support, want to have higher degrees of availability, because their business requires it, and well have that third level that well work on with our support organization, following generally our support policies to provide that higher level of service availability and that dedicated support.
The point of this is that from a developer perspective were making this very inexpensive for you. Developers do not bear the cost of running the services platform.
And let me tell you that cost is very significant. Were looking at spreadsheets that show that Microsoft will invest hundreds of millions of dollars over the next few years to build out this overall platform and we want to make it as easy as possible for developers to adopt this so that you can build those great killer applications.
So if this is going to cost a bunch of money and developers arent going to bear the cost, developer costs will really be associated with certifying their applications to run in this environment, where will the revenue to Microsoft come from?
Well, what we see is that the end user is at the center of this. The users that use these services are the ones that are directly getting the benefit, so in the end we think were creating something that is a strong enough value proposition so that users will be willing to pay for these sets of services.
Now, this is very important, because when you think about some of the basic principles we showed with those dialogues of the user being in control of the information, its critical that the business model that we have reflects the value proposition and the approach that were taking towards user information. The user is in control of their information. Theyre the ones that are directly getting the benefit of working with these services. So in a sense they are paying to run these sets of services.
Now, we have a belief, we believe strongly — were a software company at our heart — and we believe strongly that incredibly compelling applications can be created on top of these .NET My Services, and so we believe that because of the value of these applications, users will be willing to pay for them.
That said, there are a set of services that we think are so generic on the Internet that its important that they be available to users really effectively at no charge. Fortunately, those services are relatively inexpensive to run, so Passport, .NET Alerts and .NET presence services will be available to users certainly in Windows for no charge. There may be cases where there are charges associated with users, for example, the delivery of SMS messages to a cell phone, telco operators often charge for that, so it may be cases where some of these services have end user charges that are associated with the delivery mechanism or the end-point mechanism, but from the perspective of the service that Microsoft is running, were providing those services to users for their behalf at no charge. But other services that take more storage, things like .NET Calendar and Inbox and documents, those sorts of things really are the center of where user data is stored and we think there could be some very compelling sets of applications that will be built on top of those sets of services that users will pay for.
Now, these services that Ive mentioned, these kernel services for the .NET My Services platform are very broad horizontal services and Microsoft will build applications, application services on top of that, and, in fact, thats really the way we think well generate the revenue for the platform.
So services like MSN and Office will use the .NET My Services platform to build a customer relationship and create a subscription relationship with end users.
Now, obviously MSN today is free to end users. Its actually merchant funded. And well continue to use advertising as a mechanism to work with users and provide a set of good services to them, but we will be introducing over time a deeper set of services based on the .NET My Services platform through MSN and through Office, which take advantage of this underlying platform to provide users with a richer set of capabilities and will have a subscription fee associated with it.
So thats Microsofts business model. I think, okay, you could think about this and say, “Okay, this is realistic; it costs a bunch to run this thing. Microsoft will make it available to developers at really low cost, but we think we can build a great set of services that end users will be willing to pay for. It makes sense.”
I think the more interesting question is not so much whats Microsofts business model; I think the more interesting question is whats the business opportunity that you and your companies have.
And here I want to say I think your companies can build incredible value on top of these services. I think you can build killer applications that change your business based on these sets of services, particularly if your company has to reach out, has as a part of its business the need to reach out and work with consumers.
Now, associated with those applications is the opportunity to change your business and make a lot of money from it. Maybe its the incremental charges that you might get from individual transactions like we saw with the example of rerouting a package or buying a coffee. Maybe its an ongoing subscription.
In fact, when we think about the business models, there are really four ways at a high level that we think about how you can make money. First of all, if youre a software company and you sell software products to companies today, you can use these services as a part of your product offerings and continue with your existing business model. Likely you have a business model in that case where you sell something and then you have an ongoing maintenance fee, and that fits pretty well with what were trying to do.
Microsoft will certainly do that as we sell our software to large corporations. Thats the fundamental business model we have there. We dont think that, although that may evolve over time, we dont see it changing in the immediate future, and its certainly an interesting business model.
The advertising business model is interesting. There is an opportunity to make money there. Its a tough business in a lot of ways. Its well known the advertising market is having a hard time right now, but there certainly is a business model around advertising and Microsoft will use it, amongst others.
The subscription business model is quite interesting. Any time you want to have a recurring set of services youre providing for people, I think theyll be subscription based. If Verizon, for example, just as an example, if they wanted to charge their end users for the sets of services that theyre building, they might do that in a subscription way. Thats very common in the telco field and it is a very viable business model.
And while Microsoft isnt going to do a lot of transaction charges within our business, a lot of the things you might do might be transaction based. The example of the package rerouting and buying the Starbucks coffee are both transactional business models that can be used on top of this service.
The net of all of this is there are ways to make money. One of the things I look back in the dot-com era, there was a lot of hype associated with it but there wasnt a lot of business sense either. And the reality is that underneath any cool new technology there needs to be a way to create a good business out of it and we see that with this platform and the value that it can bring there is an opportunity for you to either extend your existing business model or create new business models around this that allow you to build these cool new applications and have the finance organization in your company be happy because of the profitability that it generates.
So what I want to do now is show another example of how this technology can really change business. I want to invite Bruce Burns and Robert Hess out to show a very, very interesting new application that For Your Entertainment is building. Bruce.
BRUCE BURNS: Great. Thank you very much, Bob.
Trans World Entertainment is the nations largest reseller of music, a specialty reseller. Through their store locations of Camelot, Speck, Record Town, they sell music, videos and games. Recently they decided to consolidate their brands under a single brand. Thats the FYE brand, For Your Entertainment. And as part of that, they wanted to create a new consumer premium experience around the FYE brand for in their stores, for on their Web site and also for home. So they made an investment this summer in Microsoft .NET, and what Id like to now show you is some of the early dividends that have come from that investment.
This is a kiosk that they have built using Windows CE, and this kiosk basically allows you to look at or to listen to any of the music or videos that are within their stores. Its very simple to operate. You just pick up a title. Lets take a CD. Hold it underneath the scanner here and it will scan and start playing.
So this sounds great to me. Lets see if you can hear it. (Music.) It sounds a lot better in here.
So you can sample any of the tracks moving up and down, and sampling the tracks, that works great. You can also pick up a movie and being able once again to just put the movie down here and it will scan it and you can hit Select and immediately it will start playing that movie trailer for you. So any CD in the store, any DVD in the store you can instantly start to sample and start to experience the music.
Now, the advantage of doing this with this Windows CD based technology is first of all its very fast, the way the music comes up is very quick. Its also very inexpensive, its cheap, and its easy to do this.
And the reason that its fast is again in two months we were able to create this application using standard Windows CE and Windows Media Server technology to serve that up. Its also fast because the interactions with it are very quick.
The reason its cheap is its based on Windows CE. This is an order of magnitude cheaper than any other type of the solutions that are out there today. I mean, basically the cost is a Windows CE device.
And its easy. Even my mom could come up and scan this and start using this.
Now, as part of these kiosks, theyre rolling out 25,000 of these kiosks within 700 store locations. They also have these cards, which also have a scan code, which allow you to scan the card, and this is your frequent buyer card. Its called their Backstage Pass. And what this enables you to do is associate with Passport and your music preferences are recorded once youve opted in to do so. And so it inventories the music that you have purchased and the inventory that you like so that your experience can be optimized.
In addition to this device, they also are rolling out a thousand of these Windows XP based terminals. They have all the same characteristics of the CE based devices, but they also have a couple additional features, and that is you can order, special order any type of title and have it shipped out, and you can even sign up for and use Passport right on these devices as well.
Okay, so I just talked a little bit about the experience within the stores. Yesterday, FYE.com launched their Web site and that is built on Windows .NET Servers and its also using Passport for single sign-on and for express purchases. So thats the experience thats around in the stores.
Once you purchase something, their point-of-sale system also uses Passport to update again the My .NET Service that theyve created to inventory your content, and so when you go home, the experience continues.
So what Id like to do is ask Robert Hess to start a demo and show you what this new application is.
ROBERT HESS: Thanks, Bruce.
Well, like Bruce said, FYE rolled out their Web site recently. When FYE was looking at what experience they wanted to provide to home users, they realized quite quickly a Web site within a browser didnt quite give them the rich experience that they wanted. So what they did is they wrote a smart client application. This is an application written using VisualStudio .NET in C# using a bunch of tools and components and capabilities that were rolling out with .NET and the .NET My Services.
This is the application here you see on my screen. So what Ive done is Ive been to FYE and I bought a CD on their site, Everclears So Much for the Afterglow . So when I come home and log into my system using the FYE application that previously Ive been running with FYE and Ive provisioned them with all the capabilities and Ive already given my consent for them to access the various lists and things like that, so I have a very rich and immersive experience with this application, they present me with some information immediately upon launching the application. The information they present me with is a recommendation for a product that I might like based upon my most recent purchase. So you can see here theyre saying Double Wide Uncle Kracker might be a CD I might be interested in, because its based upon my recent FYE purchase of Everclear So Much for the Afterglow.
So in addition to seeing information about Uncle Kracker, I could take and come down and look at information about other applications they have, I could get more information about it, or I could even take and click on So Much for the Afterglow , the CD I just got through buying, and discover more information about that as well, some of the information about the CD, some of the friends that have it on their wish list, as well as other friends of mine that might have it in their collection. And this helps me understand how popular this album is around with my community, the friends that I constantly keep in contact with.
I could also take a click here and find out information about other CDs that the same band has. So heres another CD they have. I might possibly want to take and buy this album as well and I have an Instant Purchase thing here I could use and click on that.
Or what I can do also, because I know that Bruce shares some of the same music interests that I have, I might want to take and actually drag and drop the sample over onto Bruce to let him share this experience as well.
BRUCE BURNS : So whats happened on my screen is Ive got a notification from Robert saying that hes sent me a music sample from FYE. And whats happened now is that this application will now send the metadata to this app telling me about the song itself, and its also telling me about the track. From here, of course, I can sample it. I can come over here to chat with Robert and ask him why he sent me this CD, because I already have it in my collection, or I can ask him and interoperate with him that way.
I can also go over to my collection and you can see my entire audio and video collection, and even share that with somebody else. So Ill grab my collection here and drag it on top of Roberts, and this will send the metadata about all the songs and content that I have over to Robert, so he knows what I have in my library, as well as some of the things in my wish list.
ROBERT HESS : So Bruce has sent me his collection and he shares it with me. I can take and click on that and I can now go over to my collection. And just like Bruce said, this is the information about the albums that I own, the things that are important to me. This allows FYE to provide some great recommendations about other song options that might come up, allows me to take and share this information out with other people, just like Bruce shared his with mine, so we can take and share this information, have a real rich community feeling.
Whats it look like when I take a look at Bruces collection? So heres Bruces collection. I can take and tunnel into his audio or video, or I notice hes got a wish list down here. Now, something in the back of my mind reminds me that Bruces birthday is coming up pretty soon. When is that Bruce?
BRUCE BURNS : November 5th, but whos counting.
ROBERT HESS : Oh, okay, okay. So I can take a look at his wish list here and see that hes got Hemispheres or Shrek listed, so I can tunnel in on Shrek , take a look at this. I can take and do a preview of it on the screen if I wanted to or I could buy it instantly for him.
The whole concept here is that by writing a smart client application, FYE was taken to expand beyond the bounds of a simple Web client application. This is an application that FYE can take and have rich immersive experience, whether its with the content, with the buddies, with the .NET My Services, with integrating, with the wallet or even taking and integrating with the Windows Media Player so I can take and listen to song, preview songs or preview other movies as well.
BOB MUGLIA : Great, thanks. (Applause.)
So underneath what is happening here with FYE is that theyre using the .NET alert system as a mechanism, a transport to send metadata about products that they have for sale. And when they do that, the user is brought into a community and given the opportunity to buy those products.
One of the things theyre very excited about is by combining this technology with Windows Media Services, FYE is able to show previews to users; when theyre perhaps interested in buying something, they can get a 30-second preview of the song and because of Digital Rights Management the song will stream down to their machine for 30 seconds and then the user gets the experience of the song and can make a decision to buy it.
So this is a great example Id say for two reasons. One, its a very interesting rich client application that engages users and brings together the online community together with the in-store community that FYE has, thus expanding the business opportunities for FYE.
The second thing that I think is so great about it is how fast they were able to put this together. When FYE thought about the different kinds of solutions they could create, they wanted to differentiate themselves and they saw .NET technology as an ability to get into market quickly. In just a couple of months they were able to create this application, create this Web site, create these kiosks and really build an infrastructure to change their business and now its very, very core to differentiating them versus their competitors in this very competitive retail music industry. So its a great example.
Let me talk about a couple key success factors that are very important to have .NET My Services be successful, things like authentication and the important issues there, federation, as well as issues of trust, open access, security, privacy and availability.
As I mentioned, authentication is at the center of .NET My Services, the idea of a user identity is at the core, and, in fact, the whole set of services are built on top of this. Now, we use Passport as the system, the underlying system that performs the core set of authentications and it is a highly available Web service that you can build applications on right now. The SDK is available as something you can download and begin working with. This is a system that you can use today.
Now, in terms of what it brings you, as Bill mentioned, theres an enormous number of users that are actively using Passport. We have over 200 million accounts in Passport and are performing 3.5 billion authentications each month. Seventy-five partners are live and over 300 are working on implementing Passport. So there are a lot of other sites that are out there on the Internet.
Now, this system, Passport is critical and what exists today in terms of a user base and the technology that is underlying Passport is very important to making this work, but it needs to grow, it needs to expand and we need to solve really a broad set of issues, because we really want to get to a world where users have only one user ID on the entire Internet. And the kinds of problems that are associated with that one user identity is the fact that there are multiple organizations that will manage the user accounts and passwords.
Microsoft has 200 million Passport accounts. That number will undoubtedly grow, but we are not going to be the only authentication provider that exists on the Internet. Certainly corporations will want to manage the user accounts for their users. This will be managed by IT departments just like its managed within a company. Other network operators will also want to have a set of user accounts. You can imagine telcos or governments being companies that today in one sense or another maintain identities of users and would want to participate in this.
So the challenge is how can we establish trust between these different organizations so that a user can have one set of credentials and use those credentials regardless of where they are?
Now, there may be different purposes. I may have a consumer-oriented account that I store in Passport that I use for my personal purchases, and I have another account at my company thats really focused on the things that my company wants to do business with, maybe that my company allows me to purchase computers or office supplies with a set of designated suppliers and my account should be accepted inside those accounts.
Maybe Im working with some partners to develop a new set of services, a new application, and we want to share documents with each other. Try doing that right now. The only mechanism that exists for sharing information effectively on the Internet is really e-mail. You cant easily set up a secure Web site that allows a set of participants from one company and another to share and get at information.
Those are the kinds of problems that we want to solve, we want them to be solved in a way so that everybody can participate, and trust is really at the center of that.
Now, to make that work, what you need is a federated system. Now, the concept of federation is one thats been in existence in computer science for many years and there are lots of examples of federated systems, but the basic idea is that you have a set of independent systems that know how to cooperate and work with each other. Thats true both at the technical level in terms of the way they technically work with each other, but its also true in terms of the policies and the operating procedures that exist between these different organizations. The idea is to allow a decentralization of ownership and control of information, while getting the effects of centralization in terms of the experience that the end user has.
Now, there are some great examples of federated systems today. E-mail is one system on the Internet that works super well thats a federated system. The Internet itself with DNS as its underpinning is effectively a federated system and in terms of higher level applications a great example are the automatic teller machines that exist in banks.
Now, I think back to the early 1980s when I first started using an ATM and there banks had independent systems and you had to go up to the teller machine for your bank to withdraw money. In fact, banks even used to use the number of teller that they had, automated tellers that they have as a differentiation point. But users wanted to get to be able to withdraw cash from anywhere, so over time what effectively happened is a federated network of ATMs got created, so now the effect for all of us as end users is that we can go to an ATM just about anywhere in the world and our ATM card is accepted there. Theres not one system, theres not one underlying ATM system, but theyve learned how to work with and federate with each other, to talk to each other. Thats the example of federation that we think needs to exist for the underlying security mechanism.
And the focus of what were trying to do with that is to build what we think of as an Internet trust network, a network of cooperating systems that all work together to allow any user to be able to get at any application they want to.
Now, it wont be one company that holds these passwords, many companies will, but theyll all work together. And the good news is that its relatively straightforward to move on this from a technical level. There is an industry standard protocol called Kerberos V5 that has a packet format that can be accepted and solves effectively this exact federated trust model.
And in order to make this work with things like groups, for example, Microsoft has made some extensions to Kerberos and were working with IEEE and MIT to make sure that those extensions are fully published. And so what this means is that the underlying model, the underlying trust model that exists in Passport and exists in other places can work with other systems.
So Kerberos forms a mechanism upon which this Internet trust network can be created and so the result of that is that if anyone implements a Kerberos V5 domain controller on any operating system using any set of tools, that those things can interoperate with Microsoft Passport and the future Microsoft Active Directory.
So what were doing is next year Passport will use this Kerberos V5 protocol to implement a federated authentication scenario allowing us to do authentications with other providers regardless of what hardware or software theyre using.
At the same time, well ship next year Windows .NET Server, which extends Active Directory to allow corporations to manage their user account and yet fully federate those user accounts with Passport and other Kerberos V5 enabled KDCs. The goal here is to use this underlying standard to create a single network of trust that exists across the Internet.
And you can see we want this to be a fully open protocol. We want this to be based on something that anyone can use and anyone can implement. And the reason thats so important is this is the most important foundation behind all of these services, and we see the need for a completely decentralized system where no one company is in control of the user accounts and passwords to be created to allow these higher value applications, these applications that youre going to build on top of it, thats where all the value is, trust in a federated security system is what needs to sit underneath that.
Now, in terms of thinking about the broader set of .NET My Services, obviously Microsoft will host those. We expect to host those for eventually millions or even tens of million or hundreds of millions of users. But we do also anticipate that others will host these services. So what were doing is were taking these core services and in the future we will be building these services into implementations of Windows .NET Server and Exchange Server. If you look at the feature set, they overlap into those two core products. And well be allowing others to run those as a part of server offerings that they can purchase from Microsoft. So a corporation can build their own set of servers that run these sets of services for their users and third parties, ASPs, hosters can also take and run these servers and build their own set of services on top of them for their user base.
Again, the focus is to build a federated system that allows user information to be stored wherever it might be. So, yes, some data will live at Microsoft but in many cases, certainly in the case of business and in the case of other large hosters, that data can exist inside other organizations as well. The key is to make it all work together as a federated whole.
Now, one of the key things that needs to sit behind this is the fact that the basic principle of what were trying to do with .NET My Services is make it possible for people to get at information regardless of where they are. So regardless of whether youre running a Windows PC or a Pocket PC or youre using a cell phone with a WAP browser, or youve got a palm device as an end user or a Macintosh, or from a server perspective whether youre building your applications on Windows Server or whether youre using Solaris or any kind of UNIX to build your applications, you should be able to use the .NET My Services.
Now, this is fully possible because the programming interfaces for these are SOAP calls and with XML schemas within them, so all you really need to be able to do this is to have an IP socket and an Internet connection to begin programming against the .NET My Services. So its very open to work on any platform both from the user perspective as well as from the application development perspective.
Of course well do things in our tools to make it as easy as possible to build applications on top of the Windows platforms. One of the things weve done with VisualStudio .NET is included .NET framework classes that make it easy to write against the .NET My Services, but theres no requirement that you use them. You can just open an IP socket and start sending XML down it and that will work just as well. It might not be as easy, but it will work just as well.
Another key principle is privacy. Weve talked about this. We showed it in some of the demos. The key principle is that the user is in control of their information. Microsoft, if we store that information for the user, thats fine, but the user is in control of it, and Microsoft will not use that information for any secondary purposes. We wont rent it, we wont sell it, we wont market based on top of it. This is really focusing on the user and what the user cares about.
Another key thing is that in terms of Microsoft properties, those properties will have the same rights and the same restrictions that others have in terms of getting to that data. So the user has to give permission to MSN or Office to use that data just like it has to give permission for eBay or any of the other sites to get at the data. Its all a level playing field for everyone. And for those other organizations that federate with us and work with us with their data, that those same sort of principles will be in effect. Its important that users understand that regardless of where they go or how they work with information that, in fact, this focus on the user in control and focus on user privacy, those policies are in effect.
Another key set of things is security and availability. Security is very critical. You know, weve got lots of experience running high availability services. Sometimes we have great experiences, sometimes maybe not so great, but a real focus here is making sure that the data is secure. Were encrypting the data on the back end and were also making sure that there are multiple levels of protection to keep hackers out of the system to make sure that the data is fully secure.
From an availability perspective, its critical that these systems be available 24×7, 365 days a year, and so the systems are being designed to be able to be upgraded on the fly, and at the same time were distributing the data at multiple data centers across the United States and also around the world.
When you look at these sorts of issues that have existed since September 11th and the tragedy there, I think that issue of disaster recovery are on everyones mind, so one of the things were doing as we build these Web services is making sure that the information is distributed and redundantly stored where appropriate, so that if there is a major catastrophe that, in fact, the systems will remain resilient and keep in operation.
In terms of when all this, this is all very real stuff. Its things that you can begin working on it now. Thats one of the most exciting aspects of it is youve got the tools ready for you to start working on this. You can deploy Passport today. That system is fully operational. You can start working with the .NET My Services SDK. Its something youve got. You can begin working with alerts and the full production of that will be available later this year. And next year we will roll out the test cloud and the production for .NET My Services.
So while the applications that youre building here are very cool and very futuristic, its something thats very real and available now.
All of these things are part of what were doing here at the PDC as part of the software that youve got. There are a wide variety of sessions for you to learn more about how to build services and applications based on .NET My Services.
One thing Ill say for sure is Microsoft is betting big on this platform. We see this as a new important platform upon which great applications can be created, and were betting on it in a big way. Were betting on it with things like Windows. Were betting on it with Office. Were betting on it with MSN, Xbox; a whole wide range of Microsoft properties are focusing on creating a new set of capabilities using this underlying platform.
And when people use it, what they find is its very straightforward and a lot of fun and the results are just incredible.
What I want to do now is bring out Mark Lucovsky and Kay Williams to talk a little bit about the SDK and to talk about how to implement these applications. Mark and Kay.
MARK LUCOVSKY: Hey, thanks, Bob.
You know, I am just absolutely thrilled to be out here today to be able to talk to you guys about Hailstorm, a project that has consumed my life and the life of my team for the last 24 months.
Now, I remember when we first delivered NT to you guys. People were skeptical, wondering, you know, are you guys really in it for real, you know, its kind of big and a little slow, and also are you going to listen to our feedback, are you going to continue to make the product better and better and deliver the platform that we need in order to be successful in our businesses.
We first demonstrated Windows NT to you at the Win 32 PDC in 1992 at the Moscone Center. That was a milestone PDC. We started talking to you about NT back then, and you guys embraced this.
I think that this PDC is more significant than the original Win 32 PDC. I think that this PDC is monumental, because today we get to give you Hailstorm and allow you guys to start building the sorts of solutions that youve seen in these demos.
With this book that weve placed in your backpack, you now have the key to unleashing Hailstorm. You have the key to be able to understand what you can and cant do with the system.
If you take this CD and install the CD, youre going to be able to build the solutions, the same sorts of solutions that these partners have demonstrated to you throughout the day. You can start having the same kind of fun that my team has every day of the week.
Today, I have on stage with me Kay Williams, the group program manager of the Hailstorm team, and what Kay is going to do is just demonstrate some of the basic abilities of the Hailstorm system, the ability to project XML information and the ability to use that XML in a lot of creative ways to be able to view, manipulate and share the information, shoot alerts around the system and everything that Kay does the CD and the book is all you need to make it happen.
Kay, why dont you show them what we have?
KAY WILLIAMS : Thanks, Mark.
.NET My Services allows users to store and share their information across the Internet. Lets take a look at a sample application that shows how thats done. With .NET My Services I can store my profiles, I can store things like lists, to do lists, shopping lists, I can store contacts, I can send and receive alerts, I can store my wallet information securely and privately, I can store my calendar, and these are just some of the services. Well be adding support for Inbox, for documents. The architecture is fully extensible so that we can keep adding services, and we will keep adding services as time goes on.
Not only can I store my information in .NET My Services, I can also share it with others. So here Im looking at my calendar. If I want to make that available to a coworker, Mark, for example, I can do that easily, and I get an alert indicating that my calendar, in fact, has been shared.
Not only can I share my information, but I can view information that others have shared with me. So now in addition to my own calendar, I can look at a calendar, say, from a soccer club that Im a part of, from a PTA or other calendars or information from other friends and family, from anyone whos a .NET My Services user.
Another way that I can share information is by allowing people to have a subscription to my information, and that allows them to get live updates. So lets say I got a new cell phone. I do that on occasion. When I do that, I simply go to my profile and enter the new cell phone number. In this case its 1212. Ill choose update. Now anyone who subscribes to my profile will get that information automatically pushed to them and without lifting a finger theyll be able to see the new information.
BOB MUGLIA : These are buddies of yours, effectively contacts of yours that youre sharing information with, and you just change your cell phone number once in this one place and then they all have access to it instantly.
KAY WILLIAMS : My buddies or any group like my soccer club, so here we take a look at this. Heres the soccer club Im a member of and they didnt do anything and the new information is available to them.
BOB MUGLIA : Thats great. Now, this application was something that was built pretty quickly with the .NET My Services SDK that these guys have, right?
KAY WILLIAMS : Yes, absolutely true. This application took a couple of long weekends by a kernel guy. Actually, Mark was involved in writing this application.
BOB MUGLIA : Yeah, Mark, this is the best UI work I think Ive ever seen you do. (Laughter.)
MARK LUCOVSKY : Oh, come on, come on.
KAY WILLIAMS : Did your program management help with that, Mark?
MARK LEKOWSKI : Piece of cake.
Its true, though, everything that Kay showed you, this is the key right here. All the applications that youve seen this morning, this is the key. I believe that this stuff is only possible with a system like Hailstorm, and thats why Im committed to sticking with it and Microsoft is committed to turning this platform into what you guys need to be successful.
Im super excited about Hailstorm. I think the system totally rocks, but I cant do it without your help. I cant enable all these applications by myself. You guys stepped up to bat and helped make Windows NT successful by delivering the killer applications and solutions that your customers demanded. I need you to do the same thing for Hailstorm. I need you to dig deep and get creative and write the sorts of solutions that the world needs right now.
BOB MUGLIA : Great. Thanks, Mark.
So now is the time to do that, and, in fact — in fact, right after this session today, after this general session, Mark has a breakout where he will go into detail on the technical implementation of how you can build .NET My Services applications. Hell go through the different services and talk about the schemas and help you understand how you can build applications based on .NET My Services.
So this is technology thats real. Its here now. Its technology that can change business. Its technology that can allow you to create applications that were never possible to be created before. And in the process of doing that, you can transform the experience of your users, you can help your business and you can build solutions like really youve never seen before.
This is an exciting time. Its a time where theres major change in the industry. In some senses .NET My Services is really at the core of what Microsoft wants to do with .NET, focusing on enabling users, focusing on allowing a whole new era of applications to be created. Go do it.
Thanks a lot.