Remarks by Steve Ballmer
Las Vegas, Feb. 6, 2001
BILL VEGHTE: Good morning and welcome to the 2001 Windows Embedded Developer Conference. We’ve got a very exciting time ahead of us as we move to devices that are connected, that are smart, that are about rich applications and services. And, as a result, I think we’re going to have a great conference over the next three days.
We’ve got, I guess, according to the registration desk, we’ve got over 1,000 developers from devices to application and service development, developers who represent a wide range of devices, from industrial automation to medical, to transportation, to consumer. And Microsoft, in partnership with its sponsors, has put together a great technical conference. We’ve got three days of technical tracks spanning four rooms. We’ve got two hands-on rooms. We’ve got an ask the experts luncheon here today in this room. We’ve got a lounge upstairs, so if you have technical questions for Microsoft or discussions you want to have, please utilize that lounge.
So, we’re excited for you to be here. We want to thank you for your participation. This is an opportunity for you to hear where we’re going, the investments we’re making, and the opportunities that we see. But also it’s an opportunity for us to listen to you and hear about the issues and questions and opportunities that you see.
So, to kick off the conference, talk about our commitment, where we see the marketplace going, and the opportunities we seek together, I’d like to invite Steve Ballmer, our chairman, chief executive officer, up to talk about those opportunities.
MR. BALLMER: It’s my great pleasure to have a chance to be with everybody here today. Somehow, doing conferences in Las Vegas I always find to be an interesting thing, but at least there’s plenty to do late at night.
What I’d like to try to do in the time I have with you this morning is kind of set the stage, and really help you understand how important the embedded space is to Microsoft, and hopefully give you a little context as to why, and some of the areas in which we think we can make a unique contribution to the kinds of systems that the folks in this audience are building and putting in place.
I think we’ve gone a little bit as a company, frankly, in fits and starts as it relates to what’s going on in the embedded area. It gets started probably 15 years ago with DOS with people doing some embedded devices. And then we sort of slowed down and then some people doing some stuff with Windows, and we kind of got NT off the ground in the embedded space, we kind of got CE off the ground. But we haven’t had the kind of continuous learning and improvement and commitment and passion that I think had perhaps in the past characterized our success in some of the other things that we’ve done.
It is certainly clear to us that one of the most important competitive battlegrounds for our platform as we face the next five to ten years is the embedded space. It’s clear to us that there’s going to be a variety of devices that are important in the world, that extend beyond the PC itself, which we know, which we love, which we will maintain, but which will not be the only important device in the world. And so the need to really have a rich and complete offering for folks who build special purpose embedded devices is clear to us. And we’ve taken that to heart in a lot of ways. We formed a special division, we focused in on the market, we put one of our top folks, Bill Veghte, who you just met, in charge of the business. We’ve taken the Windows CE source code, the kernel source code, and made it available to people to ease the speed, or to improve the speed of device bring up in that environment. We’re pushing hard on our toolkit. You’ll hear me say later that we’re rolling the core componentization for the embedded market into the basic source tree for our Windows 2000, and now our Windows XP efforts. So we’re pushing, pushing, pushing.
We know there’s some work we have done and still need to do in the pricing and licensing area. We’ve dramatically dropped the price of Windows CE over the course of the last year. There may be other things that we need to do to show greater flexibility on terms and condition, and prices. But the key message I want you to take away here at the front end is, our absolute commitment, both from a technology perspective, and a business perspective, to work with you for our mutual success.
I’m going to try to talk to you about why I think we can add some value in your environment through the kind of platform approaches that we’re taking, but we need your feedback, we need your push back, we need to know from you how we can help better on both the business side and the technical side.
We really made this commitment in earnest about a year ago and said we’re going to go after the embedded markets, we’re not going to blink, this is something we’re in for the long-term. And the good news is, we have had a lot of progress in the marketplace in the last year. We’ve started to build the kind of feedback loop that I described to you, and are hearing from you about the issues and concerns that you have. Our revenue has grown, that’s one measure of the kind of market progress we’ve had, our business is about four times as large this year as it was the year before if we take a look at competitors like River, et cetera, we’re probably out-rolling them, albeit on a lower base, by a factor of almost 10.
We’ve had over 780 design starts with partners in the last year, that’s up by a factor of three versus the year before. We have over 450 partners in 37 countries around the world building off our platform and providing services to other people who are building devices off this platform. Windows CE 3.0 is in the market. I’ll talk about the next version of that later on today. And we’ve got the first beta of the Whistler or Windows XP version already available.
And lastly, we as a company have delivered to the marketplace some devices built on top of our own technologies. Certainly one of the things, I think, that has assisted us greatly in the PC market, we were not just a provider of the operating system, but because we also provide applications, we had skin in the game. The same is true in this embedded space, whether it’s the Pocket PC, which depends on Windows CE, what we now call our Car.NET appliance which depends on Windows CE for the automotive market, the MSN Web Companion which is built on top of Windows CE, or some of the devices now that we’re introducing on top of the embedded Windows platform.
So, we will not only be a purveyor of platforms to you, we will make sure that we are a leading edge user of the technologies that we’re giving you that we, if you will, eat our own dog food, and never provide you something which we don’t think we could put in production in our own embedded device line up.
What I would like to do now, just to give you a sense of where we are, is to invite Keith White to come join me up on stage, and we’re going to show you a demonstration of three or four, five different devices that have come to market over the last year based around our embedded technologies just to give you a sense of some of the exciting and interesting things that are going on.
MR. WHITE: Let’s start over here, and as you mentioned, and Bill mentioned, we’re really seeing a move to connectivity, and these devices requiring rich applications and services. The first device is from Bally Gaming.
MR. BALLMER: This looks like quite a nice device for this venue.
MR. WHITE: It does, it’s perfect for the Vegas environment.
MR. BALLMER: Is this the one that guarantees that I win?
MR. WHITE: We’ll see what happens in about two minutes. We’ll see if you’ve got the magic touch.
So, basically, these devices were just sitting on the floor and not giving information back to the back end infrastructure. Security is a huge concern in the gaming industry because it’s a very highly regulated industry, and time to market is super important for them. So they required an operating system that allowed for rich applications and service, and rich graphical capabilities. And, as you can see here, we’ve got some rich graphics going. In fact, they’ve taken NT embedded for this device. They’ve scaled it down to about 12 megabytes running on Compact Flash, or booting off Compact Flash, and they give you about a 640×880 24-bit color display, so very rich user experience.
So, why don’t you go ahead and maybe bet all five credits and see if you can win this device.
Not bad, $20, not bad. I guess you might be buying lunch today.
You win every time, basically, is what’s happening.
MR. BALLMER: On a Windows-powered device, we all win all the time.
MR. WHITE: Exactly. Basically, they’ve added some additional functionality to interact with the game, you can see some more rich graphics happening here. So, again, Bally Gaming.
MR. BALLMER: But essentially this thing has almost PC level capability, a little bit lower on memory, a little bit lower on disk, and it takes advantage of the NT embedded technology.
MR. WHITE: That’s correct. They use off the shelf components, they focus their efforts on building rich applications on top of the operating system instead of spending time building drivers and components. And, you bet, they brought this to market very, very quickly.
So the next device is over here. This is from the Vail Ski Resort. And Vail ran into an issue where they basically had thought that they were losing about $300 to $500 thousand a year on lift tickets, leakage, where people would not buy lift tickets and they would just be up skiing, and dissatisfied customers. So someone would come up with a lift ticket that wasn’t valid, and they would have to send them all the way down to the lodge in order to pay for a new ticket, and they wouldn’t go to the lodge, they would just leave because they were upset because they would have to go all the way down.
So they partnered with Symbol to build this device, and this is really a rugged portable terminal. It runs 802.11(b) from a wireless networking standpoint. It’s got a built in RF card. And basically they use this device at the lift, and then it ties to a back end NT server, SQL server in order to manage all this information.
So, first off, if you’re a lift operator, you’re going to log into the system. So what you’ll do is, you’ll basically take this, and you’ll log into the system, and what it does is, it lets them track the different lift operators so they can say, okay, well, today I’m going to work on the Happy Mountain Beginners Slope on Chair 1, and I can log in. So this way they can track information about where their staff is at and what they’re working on.
MR. BALLMER: And if I let my friends on, they’ll know?
MR. WHITE: Correct, exactly.
MR. BALLMER: Okay. I think that’s half the leakage. But go ahead.
MR. WHITE: It is. It’s all the friends going up. So the next instance is if someone comes up and logs in with their card, it tells us that this is a valid pass, that this person has access to all the different lifts. And you can actually get more information about this guest. It allows the Vail Ski Resort also to understand what lifts are being used and how often, and to really get an understanding of what’s happening.
MR. BALLMER: So, you’re saying they have on this NT/SQL back end, they have real time data essentially on where everybody is on the mountain.
MR. WHITE: Exactly. And then, at the same time, let’s say that someone logs in with an invalid card. So you heard a little different sound there. In fact, the device vibrated that time, and it says, hey, you’ve got a stolen pass here. So, basically, let’s say that it wasn’t a stolen pass, it was an honest mistake, someone forgot to renew their pass, or something. You can actually go into the guest information, and you can change their credit card information on the fly. So you could say, okay, Mary, give us your new credit card info, we can do it right here at the lift, right here on the mountain. And then you can update the information to the back end, and that sends it back to that SQL Server database, let’s them log in and go from there. So, again, solving a real business issue, and saving them a lot of money from that standpoint.
MR. BALLMER: Super. And this is in production.
MR. WHITE: They’re using this today.
MR. BALLMER: Great. Great. I encourage you all to get out there.
MR. WHITE: The third device is from Store Logic, and what this is is this is a network attached storage device based on Windows NT embedded. So, server appliances are becoming more and more popular. People like the idea of a streamlined dedicated device that’s easy to set up, easy to manage. So, what we saw from Store Logic is that they took NT Embedded, and they took out all of the other components, and just focused it and streamlined it to be just a storage device. And they set it up so that it’s easy to add new components or new drives to add storage to the device itself. And, again, instead of focusing their efforts on creating drivers and components and all that, they spent their limited, valuable, their resources on building value-add management on top of it.
So they set up a management scheme that manages these devices all from a central location through a nice Web UI. They can even manage other NT servers. So server appliances, we see these becoming more and more popular. We are going to release in the next couple of months the Windows 2000 with the server appliance kit, which will allow OEMs to build network attached storage devices, or Web type devices. In fact, you see these today from Compaq, Dell, IBM and others that are shipping these devices. And when Windows XP Embedded comes out, a Whistler embedded comes out, everyone will have access to all these different components, and create a very wide variety of different server appliances. So that’s one other market.
Now, the last device is from Scan Communication, and this is the Scan scanner. And what this does is, this really shows the power of what you can do with CE, and with some innovative hardware designs. So this device has 256 megabytes of RAM so they can store video on it instantly. It plays 30 frames per second of streaming broadcast quality video over 802.11(b) wireless network. And you can use this device for a variety of scenarios. In fact, the first one that they wanted to focus this on was for the new XFL league. So they wanted to use this for the referee as an instant replay device, rather than the NFL where the guy goes and sticks his head in, and you wait for like 15 minutes.
MR. BALLMER: Yes, it looks kind of silly.
MR. WHITE: Yes, exactly. These guys can have this on their hip, and pull it up automatically in order to bring up the replay.
MR. BALLMER: So, you’re saying the refs are going to carry these around while they’re running around the field, and then call it up for replays?
MR. WHITE: Exactly. And coaches will use it in different scenarios as well. So rather than me talk about it, why don’t I invite up Mike Keller, who is the VP of Operations for the XFL, to talk a little bit about what they’re using and what the device is for.
MR. BALLMER: Cool.
MR. KELLER: Well, as one football player to another, I’m really delighted to be here to talk a little bit about the developing technology and developing partnership that we have with Microsoft technology and Scans Communications and the XFL. Now, many of the people here may know about the XFL, if you don’t, then you’ve been in a cocoon for the last few weeks. But we’re delighted with what has been taking place because when Vince McMahon announced the XFL about a year ago, he said three things, he said, we’re going to have smash mouth football, we’re going to give the fan all access, and we’re going to develop technology that is going to be able to take the fan inside the game like it’s never been done before. And by working with your technology and Scan Communication, we think that what we’ve got here is going to be able to speed the game up, and take the fan inside the game, and give him, again, that all access pass to have a lot of fun with the XFL.
So we’re going to invite a couple of the Las Vegas Outlaws to come up.
MR. BALLMER: By the way, the Las Vegas Outlaws won the opening games, they’re leading their division, they had a 19 to nothing win this past week over the New York/New Jersey Hitmen, and we had great ratings and filled up all of our stadiums. So if you’re out there make sure that you get out to see an XFL game.
MR. KELLER: So we’re going to set up a little instant replay scenario, so we’re going to videotape and take a look at how it looks on the device.
MR. BALLMER: Okay.
MR. KELLER: So I was trying to see if he had possession before he actually dropped the ball.
MR. BALLMER: Before he fell off the stage.
MR. KELLER: Exactly. So the device allowed me to pause the device, I’m going to go ahead and rewind this, and we’ll pause it there, and let’s go ahead and play it forward and we’ll see the frame by frame review of Kevin throwing the ball. Good form. It gets to Tyrone and we’ll go ahead and freeze it, looks like he’s got possession. Go ahead and forward it on, and he does have possession. So we’ll rule out a fumble. So again, this technology gives instant access to that capability. So again Scans chose this because they wanted to get the product to market fast, they wanted to use the multimedia capability, the wireless capability, and thank you guys for coming up and demonstrating what you’ve got here.
MR. KELLER: By the way, Steve, we want you to have that XFL football wherever it is. And that will be yours to keep.
MR. BALLMER: Super, thanks a lot.
I hope it gives you a little bit of a sense of the range of things that people are doing in terms of embedded devices today, the momentum, the progress in the market, the innovative designs that people are doing are very gratifying to see, and it also, as I say, sets up this loop where we’re getting a lot of incredible feedback on things that folks in the community would like to see us do differently.
As we’ve taken a real step back over the last year, and asked ourselves the question, what are the key value adds that the embedded marketplace needs where we can make a unique contribution? I think we’ve focused in on four things. First of all, software infrastructure matters. There may be applications where it is sufficient, that it essentially has what is not much more than a program loader and a memory manager. That will be a commodity item, you can get that kind of capability from anybody, and it’s probably not worth very much. The more interesting, new generation devices involve media, they involve rich graphics, they involve great communication with other devices, other people, and other applications. And that infrastructure matters. There still will be devices that go back, bare to the metal, you’ll write code that essentially uses a very low level of infrastructure. But, we think the device of the future, and the place where we will differentiate ourselves is on those smart devices, in which software really does matter, a rich programming environment, a rich delivery environment, and a rich set of applications and services.
The other item which I think it will be increasingly critical not only in the embedded space, but across the full gamut of things that we and you do, is this notion of integration. And I want to talk a little bit about that in more detail, because I think it’s one of the most important trends we expect to see in the market overall. And that’s the evolution from a world of what I would call reasonably unconnected applications, and devices, and services, to a world of reasonably connected devices and services and applications. Whether we’re talking about the PC, the PC and the Internet, or embedded devices, we’re sort of going through a third phase of evolution.
The first phase was a phase in which everything was pretty much an island. And if you think back even 10 or 15 years, that was the basic world in which we lived. There might be some primitive upload of information, but devices were essentially islands and embedded devices were essentially islands. Over the last 10 years, both because of the sort of sweep in popularity of networking, and the advent of the Internet, we’ve gotten into a second phase in which these devices are connected, but the nature of the connection is not very rich. The devices, the applications, they don’t really know much about one another. They can’t communicate with one another in a very rich way.
Phase three, the phase that I think we’re entering into now for the computer industry as a whole, is a world in which you have smart devices, smart clients, and smart servers, smart applications talking to each other in a very intelligent way, where you actually can pass data at the semantic level, as opposed to just sending bits back and forth.
Why do I think this kind of integration is very important? I think the trends and the transformation that are happening on the Internet today highlight that quite a bit. If you want to put together an application on the Internet today, let’s forget the specifics of embedded, but just an application, and that application is supposed to
what’s a good example, Myskivacation.com. Myskivacation.com is going to let me book a flight, it’s going to let me notify whoever is picking me up that I’m coming, put it on their calendar, tell them when I’m late, or my flight is late, they should be automatically paged. It’s going to tell the U.S. Postal service to please hold my mail, it’s going to automatically enter me into the computer system at the Vail ski resort where I’m going to visit, and it’s going to be repopulated, so if I take that lift ticket from last year, that I haven’t paid any additional money against it will automatically update it and put it in the system. That’s the application I want to build, Myskivacation.com. And it’s got to talk to these intelligent devices, and it’s got to talk to other Web sites.
It’s a very sensible application to want to write. It’s a very impossible application to write today, really. How do you tell the U.S. Postal Service, I’m an application acting on behalf of Steve Ballmer, he really trusts me, and are you programmable so I can tell you to hold the mail? I don’t know how you start on that problem. How do you actually write an application that can put something on somebody else’s calendar with any degree of security and reliability, without writing your own calendar system? Very hard to do. How do you tap into the notification system, whether it’s paging or instant messaging, however people like to be contacted? It’s very hard to do. How do you have enough intelligence in the Web sites at Vail so that you can talk to them programmatically and say, Steve is coming back, give him credit in the computer system, we’ll take care of the payments. It’s very hard to do.
And what we need is an infrastructure that supports that kind of rich communication between devices and people, if you will. We need an infrastructure that supports that, from PCs to servers, to cell phones, to set top boxes, to other intelligent devices. That’s the software infrastructure of the future. And if I ask myself, or we ask ourselves at Microsoft, what’s the world look like in 10 years, we’re not going to be writing programs the way we write programs today. We’re not going to all just sort of write to the metal. There needs to be a higher level of infrastructure that kind of sits in the middle of that. And as we’ve thought about it, we say basically, this represents a new platform, a new software platform, a platform that’s got to be part of the PC, it’s got to be part of the server, it’s got to be part of a variety of smart devices, and this platform has to also sort of just live out in the Internet cloud.
Take the case where I want Myskivacation.com to represent me to the Postal Service. There needs to be an authority out there that we can all trust to securely validate my identity, that needs to exist at the cloud-based part of the platform. So this next generation, what we call our instantiation is the .NET platform, has to live in a variety of places. Now, if you go back five years we’d probably say that if it lived in the PC and the PC server that would be enough. It is quite clear that in this day and age as important a device as the PC will be, other devices are very important. And you cannot approach
we could not approach Vail, we could not approach Bally’s with our partners, we couldn’t approach the XFL, we can’t approach anybody unless there’s ways to get information at the semantic level to move through this platform, out of these smart devices and into the rest of the applications infrastructure that people build. That’s very, very, very important.
And so six months ago, eight months ago we launched this .NET platform. And we talk about the components that can be
that will be part of Windows, that will be embeddable in other devices, the services, identify, notification, storage, that we will host, and allow others to host out in the Internet cloud, and then the infrastructure, the application frameworks, the servers, et cetera, that people can use to build the back end application that pulls this all together. We’re launching this year a development tool, VisualStudio.NET, that brings the fundamental programming infrastructure, and this whole environment has embraced XML, and the SOAP protocol that we developed with IBM and the standards bodies to move XML information, XML payloads across the Internet, and preserve the semantic content of what people want to move.
So I do think there’s a new world emerging of smart devices. That is the future of computing. We are trying to respond with a platform that helps you mobilize and develop, and deliver these kinds of rich devices, smart devices instantaneously. And some of it will have to do with integration, some of it will have to do with presentation, as we saw in the case of Bally’s and the XFL.
To try to bring this to life for you, I want to show you a short video that we made to kind of demonstrate the application scenarios that we think will be important in the future, and how some of those may come about. So we’ll just show you a brief demonstration in the life of Steve Masters, an accident prone man who is just looking for smart devices and smart infrastructure to help him in the modern world.
Roll the video please.
MR. BALLMER: Steve may have problems, but those intelligent devices sure helped him a lot. The phone that maintains information about his position, a phone from which he can plug into the services in the cloud and give up personal information, pay for things, about himself. The smart card and the intelligence in that device. The X-ray imaging system built with the right kind of intelligent technology to provide information released from the smart device. This is the kind of world in which we’re moving. And the only devices I think that will make sense as we get into the future are devices that are smart, that do plug in, that do connect into this infrastructure. And if they have an end user connection, they really are smart devices about me. They store or allow me to access information about my personal preferences and data, my schedule, my contacts, whatever the case may be. The experience has to scale. There’s an appropriate user interface that scales from very small screens, from low resolution screens on to much larger screens like the one we saw on the Bally’s Gaming machine.
These devices need to be smart about other devices. They have to be able to announce themselves to other devices across the network. They have to be able to say what services they export, and they have to be able to discover other services provided by other devices that are participating in the scenario, in the solution that is relevant. Connectivity, we’re going to move, people are going to increasingly move these devices around. And the infrastructure has to be smart about quality of service, and deciding at what bandwidth and what capabilities to provide the user at different bandwidth.
One of the big issues we’re facing right now with the Pocket PC is the right thing for the Pocket PC, the right thing for these Tablet PC devices that were demonstrated in a video that we’re working on, the right thing for cell phones, is for them to be able to move seamlessly from a corporate broadband network connection out into the narrowband public network and back without people having to reconfigure and change them, so that when I’m at Microsoft, for example, my cell phone, my Pocket PC, should use our high bandwidth 802.11 network. But when I roam out into the world at large, that same device should be able to use the cellular radio network that is available for connectivity, and still have the applications all participate in intelligent ways. And I think the same case could be made for a variety of these new smart devices.
And last, but certainly not least, the software infrastructure that you want to have available to you as an application developer in these devices gets richer and richer. You shouldn’t have to worry about your own networking. You shouldn’t have to worry about your own management of people’s personal preferences, and some of their core data, payment, identity, et cetera. You shouldn’t have to worry about basic infrastructure that allows you to create inside the smart device a Web service that talks to other devices.
And so I think if you think in the context of the video we showed you or some of the scenarios, the smart device will be increasingly the norm, and we see that in the consumer market where, let me call them home peripherals, stereos, stereo replacements, jukeboxes, home server appliances are becoming popular. We see that in the case of special purpose devices for entertainment, recreation, some of the kinds of devices we saw here. We certainly see them in the industrial field, whether we’re talking about devices that people use in the warehouse, in the shop floor, that the salesmen use as they travel, all of these devices are going to need to have the kind of richness and smarts built in that I talk about here, and that we saw in the video.
As we talk about the infrastructure, the software infrastructure and plumbing for people to build applications, in some senses there’s a lot of services, multimedia services, graphics services, communications services that are very important. But the core programming is perhaps the most important. How do you create a device that is smart, that communicates easily with other devices, and how do you create a set of applications for that device that can appropriately and intelligently integrate their information elsewhere. I think the core really builds on the so-called XML technology that has become so important. How do you create an application that creates an XML payload, that passes it to other devices in an intelligent way, what are the protocols for moving that around, what’s the machinery that lets you create an application, that exposes itself and allows itself to be programmed via XML and SOAP very comfortably, and how do you do that with a kind of productivity that you will insist on as a developer. And really the target of our .NET application frameworks and VisualStudio.NET for the PC and the target for what we call our .NET frameworks, these can be put on other operating systems that can be embedded into smart devices, whether it’s a Windows CE device, or perhaps something that’s even thinner that you might want to put in the marketplace. They allow you to build this new-style Web service application very conveniently, and still have access to the range of today’s Windows applications services, streaming media, graphics, whatever the case may be.
And what I would like to do now is invite up on stage with me Rob Brigham. Rob works in our VisualStudio.NET group, and we want to give you a little bit of a sense of what you can do in terms of application development with the new VisualStudio.NET, the .NET frameworks, and the Compaq frameworks, which will ship later this year. Please welcome Rob Brigham.
MR. BRIGHAM: Thanks, Steve.
So one of the tenets of .NET is having access to information any time, any place, from any device. But when you look at a lot of the cool Web sites out there where you can check stock quotes, track the packages that you send, or buy things, they all require the use of a Web browser. And when you’re using a non-PC device, using a Web browser is usually not the thing that you want to do. So, if we can take these existing Web pages and transform them into Web services that we can program against, then you, the developer, can control how you interact with the site. You can do so in the manner most efficient for your particular application or device.
Let’s take a look at an example of doing that.
MR. BALLMER: Key to XML is essentially moving back away from presentations of the underlying semantics of the Web site, and then letting the smart device deal with the semantics instead of the presentation.
MR. BRIGHAM: Exactly, you just want access to the data.
MR. BALLMER: Great.
MR. BRIGHAM: So, here is MSN Photo Center, and this is a Web site that allows users to store their digital images online. Currently, the only way that users can upload their photos is through this Web page here, so you need a Web browser to do this. They want to fix this, and they want to do so by creating a Web service that allows any device, or any application to upload their photos to Photo Center.
MR. BALLMER: You mean, for example, if I was on vacation and I didn’t want to take my PC with me, heaven forbid, I could just directly upload off my digital camera?
MR. BRIGHAM: Exactly, yes. You don’t have to tote that laptop with you.
MR. BALLMER: Not that I wouldn’t want to take my laptop everywhere, but keep going.
MR. BRIGHAM: So, we’re going to do so in VisualStudio.NET, and what I have open here is the VisualBasic.NET Web project, and in it we have Web pages, and we also have Web services. So, if we go to a Web service, and we look at the code for it, we see that this code is just like the code you write for local components. It’s a class, and it has public functions in it. So, if we go down to the bottom, here’s that upload photo method. And this method just takes some photo information here, the name, the image, and then it’s going to call some database commands to insert that image into the database. Now, all that we have to do to make this public function exposed as a Web service, is add a Web method attribute to it. And that’s it. VisualStudio.NET and the framework is going to do everything that we need to expose this. So, we can build this project, and run the Web service, and we’ll see that we hit that Web service URL without invoking a method on it.
It’s going to automatically generate a description page for us. And on this page, we can see things like the methods that are available, the parameters that they take, and you can even invoke a method straight from this page. So it’s a great way to test out your Web services as you’re developing it.
We’re going to invoke the GetPhotoAlbums method, and you’ll see when we make this Web service call, it’s just an http request, so we can see we passed the method name and any parameter values with that http request. And what we get back is just XML data, even the binary photo images are encoded inside the XML. So this means that any device can now call this Web service. And that’s what we’re going to do next. We’re going to build an application that’s going to call this Web service.
So, I have a digital camera, and I use it all the time, I really love it, but the one thing that really bugs me is, as you said, when you go on vacation, you’re kind of tied to your laptop as well, and you have to take that with you, because the flash memory card fills up, and you have to upload the images. So that’s a real hassle. So, I want to try to help the digital camera users out by creating a kiosk, and this could be a photo upload kiosk that could be installed at tourist locations, so that as people are taking a lot of pictures, they can go to one of these kiosks, and then upload their images to the Web so they can delete their memory.
So, here’s my kiosk app, and in it I have an upload form. So if we go down to the bottom of this form there is an upload to Web button and when users click on this button we want to call that Web service. So before we can call that Web service we need to reference it from this client application. So to do so we can go to the add Web reference dialogue. And what this allows us to do is browse the Web and find out which Web sites are publishing services. So if we go to Photo Center…
MR. BALLMER: And this uses the UDDI discovery protocol for services on the Web.
MR. BRIGHAM: Correct. So if we go back here there’s even a link to UDDI. And you can go to a service directory like UDDI and see a bunch of available Web services out there. So we’re actually going straight to the Photo Center site here, and we can see the service they expose. And it shows up in the right hand side here we can add a reference to it, straight from this dialogue, and now we’re going to get a Web reference in Visual Studio, that means we can now call that Web service just like it was a local component. So we’re going to write that code now, we’re going to create a new instance of the Web service, and it was photoalbums.photoservice. And now that we have an instance of that Web service we can now call methods on it.
So even though this is a Web service that lives remotely on the Internet, we still get these IntelliSense statements on it. So I can see the methods that are available on the service, and then I also get the parameter completion here. So the first thing we need to send is the album ID, so I’ll pass that. The second is the name, and lastly is just the binary image itself. So there’s our Web service call, and we’re done building this client application. It’s now going to call that Web service so we can build and deploy this project now, and now it’s going to deploy it to our photo kiosk which is over there. So we can walk over and run the application on the kiosk.
Okay. So here’s my kiosk application here, and the first thing that I need to do is log in. So I’m going to apply my credentials, and when we sign in here, since this is a smart device, it’s going to authenticate me with the Passport service. And then when it comes back, since it has my identity stored on the device this Photo Center application is going to recognize me and it’s going to automatically pull down my images that I have on the Web site.
So you figure I have some pictures of my daughter, I’ve got pictures of my sock monkey, too, on here. But, what I want to do now is — I just went to the Grand Canyon, I’m out on vacation, I just filled up my camera full of images, and now I want to clear out some memory. So what I’m going to do is go to the upload photos section. And I just need to connect my camera up to the cable, and now that I have that I can download the images from the camera. It’s going to load it up onto the kiosk, and now I can choose things like the destination album that I want to put these photos in, and I can even set the picture names if I want to here. And now that we’re done, here’s that upload to Web button that we just wrote the code for. So when we click this it’s going to call that upload photo method on the Web service, push those binary images to the Web, and now it’s going to refresh my album and we’ll see the pictures that we just uploaded, and they’re down here.
So as you’ve seen here VisualStudio.NET is really going to make both building and consuming Web services very simple.
MR. BALLMER: Some day maybe we’ll have a camera that’s smart enough that you don’t even need to have the kiosk.
MR. BRIGHAM: Exactly. Ideally this would be wireless, and you could just connect up to the network and it would call that photo service directly, that would be ideal.
MR. BALLMER: It would be a smart device for somebody to build. Great. Thanks, Rob.
MR. BRIGHAM: Thank you.
MR. BALLMER: Smart devices with an infrastructure that lets them plug into smart servers and services running elsewhere out in the Internet, that’s the vision of where we go. The third element that is required to make that complete is a set of services, and we gave you kind of a sense of that in the demonstration that Rob just did of services that you can count on running in the Internet cloud, and communicating with these smart devices.
Take identity. We know today there’s a huge problem with people having to log in multiple times, reissuing their personal preferences, personal data, personal information. There needs to be services that exist in the cloud. Certainly, for the .NET frameworks we are building a set of fundamental services to support these applications, identity, payments, notification, storage. Some of these will be services that we run, some of these will be services that we run and our customers can run, and they confederate together, so that you can issue somebody an identify and federate in with, for identification purposes, the community of people which we already have almost 100 million on the Internet today who have identities, who have names, and who have a way for us to authenticate them across the Internet.
So some of these services are applications you will build. Some of these things are services that you can call from your application. I don’t want to authenticate this user, I will let somebody else authenticate this user, a service being run out in the cloud. What we showed you here essentially was a storage service. The photo work uses the basic XML storage infrastructure that we’ll put in place. And our own MSN sites will be able to run that, but so would any other service that wants to plug in and be available as another service out in the Internet for people to use.
I think there will be a variety of business models for these services. Some people will charge for them, some people will provide them free of charge in order to build a larger community of users for other things that they are doing. Microsoft, we have some core services, like authentication and notification, which we will provide to developers essentially at a very low fee. And then we will ourselves build a set of communications services, and sophisticated user interface that uses those services so that the community of users just continues to grow and build from the base of people that we have involved today. But, this set of services is an important element. If everybody is creating a new identity for people the whole notion of smart devices that know about your data and your preferences starts to eviscerate fairly quickly.
I talked earlier about how we’re putting skin in the game, that we’re working on some smart devices beyond the PC itself. Our Pocket PC is a very good example of that, based on Windows CE, and I’ll admit we got off to a little bit of a slow start, but we’re really at full throttle right now. This is a device that I would expect us to sell something above 4 million units in the course of the next 12 months, and it has really ramped up.
Stinger is a next-generation smart phone builds off of Windows CE and the Pocket PC code base. Car.NET is a product that builds off of Windows CE, that we’ve licensed to a number of the high-end automotive manufacturers to provide in car navigation and entertainment systems. Xbox builds off of Windows NT embedded, which will be available
and Xbox will be available later this year. The Microsoft TV, and Ultimate TV set top boxes, both the platform, as well as the Ultimate TV product, which we’re delivering with Direct TV this month, all build off of the Windows CE embedded technology, which we make available.
And just as you give us feedback, every one of these efforts also provides feedback to our core embedded operating systems group on things that we need to do different and better. We’re not asking you to make a bet that we’re not willing to make in force ourselves. If you look at the size of some of these bets, of Xbox the amount of investment we’re putting in there, in the Pocket PC and mobility space, or in the television space, we’re making huge bets on the quality of our own embedded technologies for these smart devices.
What does the future look like for us in the embedded space? Today at the platform level we offer Windows CE 3.0, and NT 4 embedded. And you see a list of some of the devices we have, and we’re in beta with the next generation of tools. As this year completes we’ll introduce a new version of Windows CE called Talisker, which I’ll talk about in a minute. We’ll introduce the embedded version of Windows XP, or Whistler, which I’ll talk about in a minute, and a range of upgrades and new devices are coming. In addition to final production shipment of the .NET infrastructure that I had a chance to show with Rob earlier, and these .NET Compaq frameworks, which will be embeddable both on CE, and again, as I said, on non-CE devices. We’re already in discussions with a number of people about moving the .NET Compaq frameworks to some other environments.
Talisker is the next release of Windows CE. It provides for greater componentization, so you can really get just what you want, and optimize around smaller footprints. We have very good networking support built in, UPnP, Bluetooth, 802.11. We’ve done a lot to make the user interface more flexible, the UI is now skinnable, and we’ve built in support for our ClearType font set. And I think it’s really a very important step forward. The readability of these new fonts on very small screens is incredibly improved, on LCD screens. And I think it will really make a difference in terms of the kind of readability you get on small screen devices.
We’re building in our latest Web and multimedia support. There’s a set of new things that we’ll do to improve the development environment and the operating systems support for good application development. And we are starting the process of building on the infrastructure I talked about, the authentication and notification services in the cloud, XML and SOAP support, the common language run time out of the .NET frameworks. And this will be available by the end of this year.
As part of that, or related to that, we’re also announcing today the Windows Embedded Strategic Silicon Alliance. This is a partnership that we’re putting in place with a variety of people who provide microprocessors and microprocessor instructions to optimize Windows CE and the Windows CE kernel for their processors.
We’re trying to make sure that you can leverage the latest processor innovation and allow for deep collaboration between us and those partners, people like Intel and NEC, like Arm and Phillips, and TI and Hitachi, you can read the list of some of the other partners. I think this is a very important step forward in terms of really making sure the Windows CE software and the platform, the hardware platforms on which you’re building are very, very well optimized together.
In the Windows NT world, we have taken an approach in the past that I would call highly suboptimal. We have built Windows, and then after it was done, we’ve gone and injected the technology for embedding. That’s why we’re sitting here today, and we only give you Windows NT 4 embedded. Embedding was kind of an afterthought. And we think it is very important for us to move this process of letting you embed NT up to a fundamental characteristic of the product. So with the next release of Windows, which we now call Windows XP, that’s the name, we are building the technology that allows for componentization and targeting, et cetera, into the core development of the product. So that within 90 days after the release of any new version of Windows, we’ll be able to give you all of the tools to allow you to componentize and embed that in a smart device.
We’ve taken huge steps from where we are today with you with NT 4. First Windows 2000, and then Windows XP takes a huge step forward on top of that. And the fact of the matter is, I think when you take a look at it, there’s a lot of technologies which we simply don’t allow you to embed today in a smart device, because we’re back on the NT 4 platform. So, greater speed, systematic deliver of the technologies which will allow you to embed, and faster release times.
The other thing which we’ve done in the Windows XP embedded environment is to allow you to embed smaller components. We’ve gotten a lot of feedback from this audience that you need better componentization, smaller footprints in the NT world, and we think we’re taking some very good steps in that direction.
In addition, in the XP embedded release, there is a set of things that we’ve done explicitly for the embedded market. Number one, we have execute in place as part of that operating system release. We have full headless support as part of the Windows XP release, and we have support for the Compaq PCI technologies as part of the Windows XP embedded release. So not only do you get all the new capabilities since NT 4, but some specific capabilities that we’ve been getting pushed on from the embedded community.
We also provide a better tool set, both for target designing, target analysis, and component designing to let you be more efficient and effective in the work that you’re doing. And, of course, because Windows XT has embraced XML and SOAP and UDDI, some of the core infrastructure protocols and standards and technologies that we talked about, this release will get you there.
Our target is to ship Windows XP in the fall of this year, and within 90 days of fall to have the embedded version available for you.
I hope that at the end of the session there’s a few things that are clear to you. Number one, we have a vision for where we think the computer industry is going, and what that means specifically for the embedded market.
Number two, we’re trying to enable a next generation platform, .NET, that enables you to build Web services, the application type of the future, in all of these smart devices. I think it’s fair for me to say, we have a proven expertise in software, and if software matters, if this stuff really does involve giving you an infrastructure that’s rich, I think we’re the best place to turn. The development tools we give you have been and will continue to be best of breed. We’re trying to build a platform between CE and Windows NT that will span the broadest set of devices. We’re committed to this market for the long-run. We’re building significant businesses, like Xbox and our mobility business, and our TV business, on top of the same infrastructure that we’re encouraging you to bet on.
And last, but certainly not least, we view this as a partnership. We know you’ll need our help. We know we need your feedback. We know there’s going to be technical support challenges, go to market challenges. When our partner at Scans has an idea that they and the XFL are interested in, sometimes those really require a strong three-way partnership to make happen. And so we encourage you to push on us, to lean on us, to talk to Bill, BillV at Microsoft.com. If you need help and support and we’re not giving it to you, I’m SteveB at Microsoft.com. We’re in this with you for the long-run. We certainly appreciate your spending not only the time with me this morning, but the time here at this conference, and let us know how we can help. Enjoy the rest of the show.
Thanks very much.
(Applause and end of event.)