|
Remarks by Bill Gates
Mobility Developers Conference
New Orleans, Louisiana
March 19, 2003
View the Video
Watch a taped video of Bill Gates' Keynote (1 hour 25 min.):
110k | 300k
|
BILL GATES: Well, good evening. It's very exciting to see a large group here, because of all the opportunities that are ahead in the mobile environment. Probably the most exciting thing in computing today is all the things happening around mobile. And so tonight I want to share with you how Microsoft is building platforms that can contribute to that and drive the scenarios that will make the value of these devices far higher than they are today.
We have a rich history in the computing and software and communications industry of bringing digital approaches in that are great price performance, that really empower people to do their work and do their play in new and different ways. And this decade, we think, is when that will all come together. This is the most exciting time. Now, you might say that's kind of surprising because the economic environment is tough, a lot of the hype of the '90s proved to be overblown, certainly in terms of business models and some of the things going on. And yet, we believe that this is the time that the real scenarios get put together, the hard work gets done, and the people who persevered and focused on the right things do extremely well.
Now, the 1990s have a lot of lessons for us. The '90s were very focused on the PC. Devices didn't interoperate very much. It was really just the PC, starting with character mode interface, that was MS-DOS. I'm sure many of you weren't involved in the industry in those days, very different. And that was the beginning of the software industry. Prior to the PC being a high volume platform, the software industry was very, very small. It was fragmented because everyone who made hardware had to go out and get their own operating system, and get their own software applications. And applications had to be very expensive because the volume of any particular application was quite limited selling onto mainframes and minicomputers.
With the PC, that all changed. It changed because of the uniformity of the platform, because great development tools got built, and the volume was there. And so we saw applications of immense variety that drove the PC industry forward. In fact, it was a virtuous cycle. The more we got applications, the more volume of devices would sell, that would create scale economics, and bring the prices down, which would further fuel the demand. At the start of the decade, it was character mode. Early in the decade, particularly with Windows 95, the switch to graphics interface as the standard way of doing things took place. Developers had to learn a new paradigm there, and that was a challenge. But the people who got in early, the pioneers, were the ones who did by far the best. A big opportunity.
Later in the decade, of course, we had the explosion of the Internet, and despite the fact that some of the claims and expectations were not met, the fundamental change that brought, the empowerment, the ability to connect, at least at the bit level, computers of all types to each other, was a platform that we built on. The idea of browsing web sites and lots and lots of standards that came with those made a big difference. And, again, the software industry, just like it has with graphics interface, adopted that, and the people who came in early did very well.
Now, despite the success of the '90s with over 500 million PCs, with all sorts of rich connectivity, that was just a warm up for what will happen this decade. The reason for that is, that the number of activities that were done digitally in the end of the '90s was quite small, creating documents with things like Microsoft Office and electronic mail were really the only things where even in the United States you had over a third of people, as a standard, doing things with a digital approach.
In this next decade, which we call the Digital Decade, the breadth of things that will be done digitally will be far, far greater. Obviously, music will be primarily in digital form. Photos will be primarily in digital form. The way that you sequence them, annotate them, share them with other people, edit them, all of that will be far, far richer because it will have moved to be purely digital.
In this decade things like bill paying, the richness of communications where you can control who can get a hold of you, instead of saying, okay, anybody who has my phone number can interrupt me, or anybody who has my instant messaging can come in and take my time whenever they choose. So, we can put the user back in control using software. We can make communication far richer than it is today. We can take the divide of the voice world and the screen world and bring those together, so if you call a restaurant, seeing the map, seeing the menu, or talking to a colleague when you might want to see a list, or a document. Those things can be integrated together, and be very, very simple.
And one of the reasons that this can all happen is that the key advances are still taking place. Despite the reduction in IPOs, the sanity of how people think about business models, the advances in, say, chip technology have not slowed down. Moore's law is moving at the same exponential rate as it did in the past. The advances in the storage on these devices, the speed of the fiber networks. And new innovations, the 802.11 Wi-Fi capabilities that are coming into the mix. The quality and resolution of the flat panel screens. All of those things enable new applications to be built.
Now given the when I talk about these scenarios being mainstream, it will be five, six years before everybody is doing these things. But it's actually the people who get involved now in building the applications who will be the winners as these new activities go mainstream. And so, the conference we're having today is like the early Windows conference, talking about graphics interface as a standard user interface. Here, though, the applications run on the mobile devices, and they run on a combination of mobile devices working together with a classic desktop PC. Often that combination is very important because most users will use the different devices. So, a very bright future.
Now, I wouldn't say that the industry hasn't had a lot of twists and turns along the way these past years. And so we've got a video that talks a little bit about the twists and turns, and the lessons that come out of those surprises. Let's take a look at that.
(Video segment.)
Well, we've had a lot of fun up to this point, let's talk about what's ahead. One of the key things is this idea of devices working together. In fact, often the press will talk about different screen sizes, different devices, as if they're a substitute for each other. That is, that you might buy a mobile phone instead of a PC, or a PC instead of a mobile device. We don't see it that way. We see that, over time, as every one of these form factors is becoming more popular, typically users will interact with all of the natural form factor designs.
Starting with the largest, the largest is the wall size. In a meeting room, in a living room you'll have a display that's designed for sitting far away from it, using a simple remote type device. The next size down would be the desktop. The screen on the desktop is getting larger all the time, in fact, 19 inch, 20 inch, and even larger LCDs will be practically priced for typical workers within the next several years. We may even have much larger screens as you move out towards the end of the decade. Then we have the Tablet size, the size that's easy to pick up and carry around, and yet it's still large enough that note taking and editing type, things are easy to do. The pocket size is also very important, it's very simple to take with you. Here we have the proliferation of different capabilities, from cameras to PDAs to phones, mapping devices, digital wallets, lots of things that will be combined in different ways, and as the hardware becomes more powerful, there's an ability to put more and more of those things into a single device, so a very fast moving form factor. And then finally the smallest, which is the idea that you ought to have glance-able information on your wrist, the classic watch-sized form factor.
Now, if we think about a scenario like seeing your schedule, being able to change your schedule, coordinate with other people, clearly for that to be effective it needs to work on all the different devices. In fact, even in communication, we need to know which device you have with you, and so that if something is urgent enough, based on your context, that we should notify you, somebody is trying to communicate with you, or some change has taken place, a flight change, a customer problem, then you should be alerted on the device that you have with you. So a lot that has to be done to bring these things to work together, to have the user interface and the file formats work across the different devices.
I mentioned Tablet PC as one of these form factors, we think the Tablet is an explosive form factor, because things like annotation and reading, note taking, haven't really been possible. The pocket-sized device is a little small for those things, and yet the portable PC is unnatural to sit and read with, because it's a fairly large device. These devices just came out late last year, already there's six different manufacturers, and many more to come, making quite a variety of these things, and are doing extremely well. In fact, virtually all the models are presently sold out, and the software is simply getting better and better for these things. Now, some people think that there's a close mapping between these devices and corporate networks, and don't see that these devices will also connect over the wide area networks. And so there's a lot that can be done here to drive high revenue, high value users onto mobile networks, where they have this type of device. So it's a go anywhere form factor, on a very natural extension of bringing the pen into this, and the size, the miniaturization, the improvements just keep coming at an even faster rate than we expected.
To give you a little sense of some of the things going on, and how the Tablet is being used, I'd like to ask Cory Linton to come up and give us a look at that.
Welcome, Cory.
CORY LINTON: Thanks, Bill. (Applause.)
With the Tablet PC, we have a new Windows form factor that is completely mobile, and because it's based on Windows, so you can use your existing skills to build all kinds of great new applications. And we support you can access Tablet technology through either managed code or native code. And to make easier to access the managed code, we shipping the .NET Framework with Windows XP Tablet PC Edition so that you can get all the benefits of managed code without having to redistribute the framework.
So in this scenario here, let's assume I'm an aircraft mechanic, and I'm going out to look at an aircraft, and I have here an HP Tablet PC, with a GPRS card that's connected to AT&T Wireless Services GPRS service. So I'm going to bring up a form here, this is just an order parts form. And on the left here we have a bunch of text boxes. And these are just standard Windows text boxes, that were created on a standard Win Form. With our SDK that we shipped in January, our Version 1.5, we have an object we call the pen input panel, and with one line of code I can bind that pen input panel to any text box. So when I click a pen in it I get this writing surface right here, so that allows me to get a really good input experience with really very little coding on an existing or new Windows application.
I'm going to go ahead and enter the customer name here. I'll go ahead and enter that, and it will fill in these other fields here. Now, what's cool about the pen input panel is it has a technology we call factoid, and that allows me to specify what kind of data will go into the text box. So, for example, in this phone number field we've told the pen input panel that these are numbers that go into this field, so if I write some numbers that look like S's and Z's, when I recognize it, it's going to know that it's a number and it's going to convert it properly. So it allows you to really enhance the recognition and get a much better recognition experience.
So imagine, on a laptop you can't get that kind of input experience in highly mobile situations. Imagine me as an aircraft mechanic holding the tablet and inputting data right there on the tarmac while I'm looking at the airplane. So input is great, but let's really see what we can do with the full power of the PC here. In this application I actually have a 3D model of the airplane that I can look at, and I can even take the model apart, I can take parts off and still rotate it around, and so imagine as an aircraft mechanic I can take the plane apart virtually, in this 3D model and save hours of time. And this comes from a company called NGRAIN, and they have a 3D software framework that allows me to manipulate and modify complex 3D model, such as those that come from CAD files. And the neat thing about NGRAIN is it's all software based, so it doesn't require any hardware acceleration, so it's designed to work on common laptops and Tablets.
So in this scenario, let's assume that I need to look at the landing gear, so I can zoom into the landing gear and here, again, I can rotate the landing gear around, or I can pull parts off of it, take it apart. Again, think about the amount of time I can save being able to do this virtually and take a close look at the landing gear, here.
Sometimes, though, you may not want to take the model apart to find the specific part you need, or you can't find it in the model, and there's a company in Bellevue, Washington, Leszynski Group, that's doing a lot of work in advanced shape recognition. And with their platform what we can do is I can actually go in, and I can sketch the part, and look over here on the left, and it will go search all the parts in the database and find a part that matches what I just sketched. So, again, it's using really advanced PC technology, advanced processing power, and the ability of the direct manipulation with the pen to give a much better experience.
So I can go ahead and write in a quantity of parts here, go ahead and order those, and then I can take it to the customer, and the customer can actually sign in the Window right here. And what's neat about this is today I may take an order on the tarmac with a customer, I go back to my office, fax out an order form to the customer, they sign it and fax it back. Now, the customer can sign it right there, and it's a legally binding transaction. So I save all that processing time. And I can hit submit order, it will go out over GPRS, and using web services look in our company databases, find the part and then give me a confirmation number that it's being shipped. So you can see, the Tablet PC really enables a lot of new scenarios, and new opportunities for developers. And because it's built on Windows and has the .NET Framework, you can get all the benefits of managed code, and use your existing skills to create new applications. So we're really exciting to see what mobile developers will be able to create with the Tablet.
For more information go to Tabletpcdeveloper.com, where you can get our SDK, lots of source code samples, and lots of technical documentation.
Thank you very much. (Applause.)
BILL GATES: So where are we in terms of seizing the opportunities the mobile industry has? On the down arrow side, the negative side, of course, there's quite a bit of incompatibility in the different tools, even simple things like dealing with different screen sizes, different button placements, that's been very difficult. We'll talk about some plans we have that really will change that, we think, and turn that into more of a positive. And then we have the tough economic climate that no one in the IT industry is immune from. In fact, most companies overall are facing the challenge there, and it means customers are expecting more value, and that's probably a good thing, even though it's going to be a period of leaner years than we've had in the last five or six years.
On the very positive side, we have the continued hardware advances. The power we have in these phones today is about 20 times what we had in the original personal computers, the graphics resolution is about the same. And yet, we're just at the beginning there. The idea that photos and music and lots of other information can be stored in these devices is becoming more and more practical even at the very high volume price points. I think everyone would agree that in the long run there will be screens on every one of these phones, and very nice screens, and voice will only be one of the things you do. And, in fact, the voice and data worlds will be less divided than they are today.
Sort of in the yellow category I have three things that we're really believing in and pushing, and I definitely think are key ingredients for this industry moving forward. Web services, that's the idea of programs making themselves easy to discover, and being able to essentially call a program across the Internet, not forcing somebody to browse into a single web site, but rather they can have an application that gets data from many different web sites. Web services is something Microsoft has really bet its whole strategy around, and there are a lot of industry companies now building the standards there, and the progress has been fantastic.
The deployment of the Wi-Fi networks, we'll talk about the relationship of those with other networks. I put that in yellow partly because there's so much fragmentation there, that it's tough in terms of knowing where there's a network, or how you get on, how you subscribe and those things. So there has to be some simplification there. And finally, the whole data connectivity, although that's being rolled out, the pricing models, the subscriptions, some of those things are still in an early stage, and it takes some fantastic applications in order to move that to the green category because there's so much expectation and hope in what can be done there.
One of the scenarios that we think is very important is making the whole idea of communicating more intelligent than it is today. I mean, say you're on your PC instant messaging with somebody. You ought to be able to just click and create a cell phone connection, or vice versa, say you've got your cell phone and you're talking to someone, and you want to not only share the small screen, but share a large screen. You ought to be able to simply click and have that happen very automatically.
So the PC and the phone can be quite complementary to each other, not just taking your information and syncing between the two, but even scenarios where they're both active, and being able to work together. Some things like customizing the appearance of the phone-sized device, actually building in the commands and buttons to let you do that on the phone overloads the user interface. And you don't do it that often, and so it ought to be trivial to take the larger skin, the PC form factor, and go in and do the customization: the different photo backgrounds you want, the different commands that you use a lot. And then, just as soon as you do that, be able to send that to the operator, and that can be put onto the phone. And so this complementarity of these devices, there's a lot that we haven't done that we will do to really bring that front and center.
I mentioned Wi-Fi as kind of a yet to be determine,d in terms of will it drive revenues into the mobile industry. Some tough challenges here in terms of not only the fragmentation, but also the quality of service, which is not inherent in 802.11 the same way that it's been designed into the pervasive mobile networks. Being able to seamlessly roam between these things, understanding what the business models look like, a lot of work to be done here, but we see it definitely as an opportunity. The fact that Wi-Fi will explode and essentially be in most corporate environments, in most home environments, in all the locations where business people spend significant time, hotels, convention centers, airports, I think we can take that as a given. The speed of those Wi-Fi networks will clearly be moving up as we evolve from either B to G or evolve from B to A, probably some mix of those two, and ideally we'll have a chip that can deal with both of those things.
Likewise, you know, we'll have Bluetooth for short area connections. So Bluetooth, Wi-Fi, and the pervasive data networks GPRS, 1XRTT, and third generation approaches, all of these need to be made so that the user doesn't have to deal with a lot of the complexity, and right now that complexity is showing through for work to be done at the software layer.
The success of the mobile industry taking and justifying even more aggressive investment requires lots of different players, different types of players working together. And there some things about this that are like the early PC industry. In some ways, you can say it's even more complex because the operators play such a central role here in really determining what works from a business point of view, and what works in terms of being simple and supportable for their end users. But we've got, of course, the hardware industry with its role to play. We've got the people who do the manufacturing for the chip vendors. We've got software platform builders, of which Microsoft is one, developers, integrators, all of these things need to come together. So, it's obvious to a business why they should equip their employees with mobile devices, and it's obvious to the consumer why they should keep moving up to the most powerful devices, and get more value throughout their entire day by using that device in new and different ways.
Now, we're very committed to the Windows platform as being one of the leading platforms that runs on these devices. Obviously, we're stronger in the devices that are the more powerful devices, where you get the nice color screen, where you're connected up to data services. That's where we're focusing our energy, and that's how we measure our share of activities is against those devices, which over time will be virtually all the devices. We're taking things that are familiar to people, when appropriate, bringing those into this world. We're taking formats, like the Windows Media capability, the idea that you can take photos and just have audio annotation, or rich clips that you can edit on the PC and just render those automatically on these devices. That makes sense to people, it's an excellent thing.
We are seeing a lot more cooperation in terms of the standards across the different devices than ever before. Some of the things that were in the lap direction were too isolated to one device scenario, and now that's being fixed, and we're very enthusiastic about that. And implementing all of those standards into the software platforms that we built, the development kits, the tools, the evangelization, the ways that we've learned how to do those things in the past apply wholly here. Microsoft breaks out our mobile activities in the P&L. You're probably well aware we're in a significant investment mode. And we're going to invest and invest and invest to get the most popular platform here, because we believe in these scenarios.
We have a lot of ways that mobile devices connect in to our other products. I mentioned connecting to the media capabilities. We've gotten our development tools, these forms controls that work on all the different devices, and very advantageous proficiency in development. On the mobile device, we run a mini-version of our SQL database, and so applications can do rich replication onto the client device. We're actually building the next generation, our applications, our own applications will be built to that small SQL store. So an even easier integration with third party extensions.
In the messaging scenarios, we have rich synchronization. This is a feature that in the next version of Exchange, the Exchange Server 2003, which is code named Titanium, these things come as standard capabilities. The web access to mail, the mobile access using those ASP.NET controls to work on different devices, and the rich syncing capabilities. For a time, we thought this was a separate product that people would have to spend extra for, but then getting 100 percent deployment would have been difficult. Now, we've decided, look, it's not a separate product, it's not a separate charge, it is built in for all of our Exchange customers. And so it gets 100 percent deployment, that means that users of mobile devices can just assume that that kind of connection is there for that.
I'm very excited to talk about some new partnerships we have. I'm sure you've seen over the last year us going from the starting line to build up now a rich set of partnerships. The ones that have been announced this week at TKA are a very significant addition to that. We have a partnership with Verizon on this Samsung device which is called their SPH I-700, a very, very nice device. This device also is being used in a partnership with Sprint, and then also with Sprint there's a version of the pocket PC made by Hitachi. This is the Hitachi G-1000. It's fairly unique in that it has this keyboard here. Both of these have the camera device built in as a standard feature. This one has the ability to enter text with the small keyboard. And we're seeing a lot of innovation in this pocket PC form factor, and I'm excited to be working with Verizon and Sprint on those devices.
Now, the Smartphone is a new form factor for us that gets us down to the high volume arena, with the smaller screen size and, therefore, a smaller overall device. We have some experience with the Smartphone primarily in Europe where it's been growing. The average revenue per user is up 15 percent above any previous device, and the data services are driving 90 percent of that gain. There is actually some gain in the other forms of uses as well. Smartphone users are more loyal, that is there's lower churn, partly because they put onto their device a lot of very important data that they have. And so the switching cost on top of that carrier relationship are much higher than they would be otherwise. We're seeing that the voice and SMS revenue actually not only hold up, but go up slightly, and then you see these additional data activities driven by the rich applications that are connected there.
Another point, and this is a piece of measurement in the United States. In this market, of all these PDAs, platform devices, a 55 percent share of those are the Windows-based devices, and so we also have Palm and Symbian. Palm, all of the different people who manufacture based on theirs, likewise for Symbian. But we have a significantly higher share than either of them with the majority of that market.
Now, to be clear, Microsoft is just at the beginning of what it's doing in this business. We've said that about many businesses before, and I think we have a very strong track record of credibility when we say we're going to invest that we do that, and follow-through, literally, for decades in evolving the platform in a very compatible way, making it work with all the different things that it needs to work with.
Let's take a look at Smartphone innovation. Smartphone is very exciting. I imagine some of you have seen it, but it's such a deep product, I would like to ask Ori Amiga to come out and show us some of the Smartphone innovations that have taken place.
Welcome.
ORI AMIGA: Thank you very much.
What I have here today is a brand new Smartphone 2002 device I would like to give Bill after the show. Now, Smartphone is a great end user experience right out of the box, but I would like to customize and personalize the device to suit Bill's needs and preferences. We'll configure it with his Exchange corporate settings so he can access his mail offline, we'll customize it with a personal home screen to suit Bill's preferences, and we'll even download and provision the device with a great new game from one of our partners.
Now, Smartphone boasts the same great, familiar Windows CE operating system, development tools and platform as Pocket PC, offering one of the richest, most compelling, and most innovative new development platforms for mobile applications. We've enhanced Smartphone with a great secure and expansive XML-based configuration system, allowing us to provision the device remotely and securely and basically control every setting to offer our operators, our enterprise customers and our developers a great platform to extend, and offer even greater end user experiences.
Now, let me show you how we can leverage this XML-based system to quickly and easily provision Bill's device. What we have here is an ASP.NET web application. This application will provide us a sample reference in our software development kit, allows us to configure virtually every setting on the device, and order generate the appropriate XML fragments. We can then go ahead and send over the air.
Now, as an operator, I can go ahead and use this type of infrastructure to bootstrap my devices, install software and end user updates directly over the air to my customers, or even leverage as part of my support system. As an enterprise, I can configure things such as my employee's email accounts, in this case we'll add Bill's Exchange Mail Server account. We can configure things such as GPRS so that Bill has access to the network using our AT&T wireless GPRS defaults. We can even configure things such as Pocket Internet Explorer Favorites, so Bill doesn't have to type it on his device, and have a rich browsing experience through Microsoft Events web site.
Now, the tool has order generated all this XML for me. I can go ahead and send this XML through a trusted provisioning server, I can package it up in a CAB provisioning file and attach it to an email, or even download using accessing from my desktop, or I can even call our native APIs on the device with custom handcrafted XML from our own C++ application.
Let's go ahead and send this down to the phone. And what you'll quickly notice on the device is that our Pocket Internet Explorer Favorites are being provisioned. There's our MS Events web site. We can click on it and quickly browse to our NDC web site using the new GPRS network settings we've configured. We can switch back to the home screen, and you'll quickly notice that a new message has arrived, and our Exchange Server is now synchronizing our mail for us.
Now, this is all nice and great. Let's go ahead and take it to the next level, and show you how we can personalize and customize the look and feel of the device for Bill. Now, I happen to know Bill misses his Xbox a lot while he's away from home, and so what I thought we'll do is customize the home screen to look and feel a little bit more home for him.
So, let's go ahead and leverage our favorite XML editing tool, in this case VisualStudio.NET, to build our new home screen. We'll go ahead and drag an XML fragments with our new JPG that we've prepared. Now, I want to add in a messages plug-in, because not only do we want the home screen to look cool and fun, but we also want it to be functional. This plug-in that we provide in the box allows you to see the number of unread email messages, and unread SMS messages right there from the home screen.
Now, it's important that Bill knows where he has to be next at any point in time, and so we'll add in a calendar control that will render the next appointment. Now, let's go ahead and deploy this down to the device. Not only is the extensive mechanisms we've built in for you to customize the home screen layout with images, different color schemes, and et cetera, but we've also provided the ability for third party developers to build their own custom home screen plug-ins, provide the .dll into the home screen process, we'll load it, and it can run right side-by-side with the 13 different plug-ins that we provide in the box.
Now, the Smartphone configuration system is leveraged in the same way in this scenario, and so we can take the home screen, send it over the air, send it as an attachment in an email, beam it from one phone to another, download it from the web, or any other rich set of mechanisms to get it onto the device. The configuration system is loaded. My new home screen, as you can see, we've got a great new background. Our mail and SMS messages are showing up right there, and our calendar tells us we're currently at the NDC Keynote.
Now, I'm pretty sure Bill is going to be happy with his new background and miss Xbox a little bit less. But I don't think it's quite the same type of experience. And so, to help us with that comes Microsoft Gaming Studio and Exacto, one of our premier gaming ISVs. What you're looking at is Links. This is a direct port of the Windows PC version of this incredibly popular golf game. Exacto was able to port this game from Windows to the Smartphone's platform quickly and efficiently, leveraging the same type of skills they had on the Windows platform, leveraging the same type of development tools, same sets of APIs, and the incredible power of the device to get this game onto our platform.
Now, let's go ahead and take a tee shot right here. As you'll see the game, your photo realistic graphics, incredible sound, very high playability, and is overall an incredible gaming experience on this new and exciting mobile platform. It looks as good as the game did when it came out for Windows, using our powerful ARM-based processor, our 176 by 220 high resolution display, with over 65,000 colors.
Now, I'm pretty sure Bill is going to be incredibly exciting by this new phone. We've shown you the power and extensibility mechanisms we've built into the device, the personalization and customization features, and what a great mobile gaming experience it is.
Thanks very much.
(Applause.)
BILL GATES: One thing that I mentioned is very important is XML Web services. This is essentially the infrastructure that's necessary to fulfill the promises of the late '90s, and early in this decade about what the Internet would do. It goes beyond browsing, to say that software running on any computer can discover software on another computer and agree on a protocol to exchange very rich information. That's a platform advance that's very necessary for e-commerce. And yet, web services can't succeed without many platforms adopting it. And so we have a group called the Web Services Interop Organization that has companies like IBM and Microsoft putting out the specifications, talking about the test cases, and this has come together in a really fantastic way. I think it's a best case example of the industry working together to bring out the necessary standards. Already the pioneering customers are building applications using XML Web services.
XML Web services are a perfect fit for mobile devices, because they allow the code on the device to go and get services remotely. So if something is very complex, like converting a document format, or if it requires a large, up to date database, like getting financial status information, the idea of having a standardized call from the application, and yet the application still controls the entire user interface of what gets presented that is a great fit.
So having the run time to do web services is very lightweight, it fits into all of these devices, web services includes the idea of how users need to be authorized, either authenticated for security, or authenticated that they have the right kind of subscription relationship to be able to get at the services, all of that is extremely well defined. And the protocols are high level enough that complex error handling, safer rich message flows can be handled on the server end, not over burdening the mobile device. And so these standards will be pervasive on the PC, on the mobile devices, all smart devices will have this.
Microsoft spent the last four years building a version of Visual Studio that takes advantage of this. Our first release of that, VisualStudio.NET, was just about a year ago. For us, we use the term .NET to describe all the work we're doing to enable Web services, so that version of Visual Studio, the version of our server products are branded .NET, the run time capability we have .NET Framework, and the small byte code environment for mobile devices is the .NET Compact Framework. So it's about connecting all the devices, information and people together easily.
Now, this bet when we made it was a very risky bet, but the way things come together now it's a very clear mainstream thing. And every developer here should be thinking about how they provide Web services, or how their application can connect up and use the Web services that will get built. Examples of this, of course, billing, being able to check what the status is there, location APIs, the standards for that will be done around web services, directory look ups, presence, call set ups, which will be some sort of SIP type standard rack in a web service. All of the existing capabilities, you just saw this rich provisioning, which we think is a clear thing to give the user lots of flexibility and yet not raise the support costs for a mobile customer, which a lot of those rich customization things, if they aren't done right, would lead to costs for the operator on an ongoing basis. So Web services lets you drive in those types of things. And here I'm just showing the diagram of how those web services call, that use the format called SOAP, connected over the air to the different devices, completely independent of the network that's used to connect those things together.
Now, when somebody decides they're going to build an application around Web services, because that's a broad industry standard, they have a choice of platforms. IBM implements these things in a product set they call Web Sphere. We implement them in our .NET products. Why do we think .NET will get a significant share of all this activity? Well, from the beginning we defined it for web services. We also are completely language neutral, so whether you want to use C, C#, Java, Visual Basic, or dozens of other languages, the run time environment is uniform, and that means taking existing code and wrapping it to provide XML Web services becomes very practical. In fact, particularly in this environment, a lot of the XML Web services will come where there's a layer built on top of existing code, rather than asking people to build applications from scratch. Our Visual Studio applications have always been the most powerful tool set, because of the rich capability that they offer.
We're also building an ecosystem around Visual Studio, and it's really been great to see what the add on packages are doing for developers. And so in Visual Studio we include unique capabilities for the mobile environment. One of those things is the .NET Compact Framework. This has been out for trial usage for a number of months now, we've gotten a lot of great feedback and continued to improve this, but it's now that we've made it available for anyone to ship with their applications, and so this is a subset of the .NET Framework that's appropriate for mobile devices. It includes byte code execution, and the rich libraries. So a lot of application developers now are free to take this, and start download. Over time the actual .NET Compact Framework will be built in devices, into devices. In fact, there are already some devices that are doing that. Most of the new devices that come out will have this, because the actual memory requirements for it are reasonably modest, but saving the download for the multiple applications that use it is something that we're very enthused about.
Visual Studio actually has a revision, a revision that comes out in the next couple of months that will incorporate this and incorporate advances in all of our mobile capabilities, including the ASP.NET controls that give you rich forms capability, that you don't have to think about the different devices. So it's a significant milestone for mobile developers to have the .NET Compact Framework.
Let's take a look at what it's like to use these tools, including the compact framework, to actually build an application. So let me ask Ed Kaim to come out and show us building an application.
(Applause.)
ED KAIM: Hello, Bill.
Well, I'm here to show you how easy it is to take Visual Studio.NET and build a .NET Compact Framework application, so that all developers with any existing Visual Basic or C# skill will be able to make the most of these great devices. Now, the device that I have in my hand here is an HP iPaq 5450. This is an absolutely phenomenal enterprise device. It has built in Bluetooth, biometric support for authentication, wireless, and just about anything else you're going to need in an enterprise. In fact, when I attach it with the Symbol scanning this is a Symbol scanning slide, this is a great device that Symbol provides so that developers can build in scanning of bar codes directly into their applications.
So I'm going to walk you through the scenario I'm about to build here. What I'm going to do is play the role of an enterprise developer, and as an enterprise developer it's a very basic application that I'm going to put together here. What it's going to do is it's going to be something where, as a user, I give these devices out rather, I give these devices out to my users, and they're going to be able to go into our shipping department and scan the bar codes on packages. When they scan the bar code on a package, it's going to call a Web service with that bar code information and pull down some data, that we'll put in a nice grid. After that we're going to print it out. I know you're probably wondering, well, how are we going to print it out, I'm not going to be dragging out one of those big laser jets. And I'm glad you asked, this is an HP DeskJet 450 device. As you can see, it is completely wireless, it's Bluetooth enabled, and completely battery powered, so I can have this in the back of my car, or wherever I need it, and it will print. It's on right now, and it's ready to go.
So since I've got my printer ready, I've got my devices ready, and make sure I've got my paper ready, now I'm going to step into the Visual Studio environment. In Visual Studio, as with most applications, I'm going to start off with file new, I'm just going to create a brand new project from the ground up here. And I'm going to use C#, create a quick smart device application, an use Pocket PC as my platform of choice. Now, Visual Studio will go ahead and create all the forms that I need, so that way I can begin dragging and dropping controls, and start developing right against those. And since I've got a scanner here, what I want to do is go into my toolbox, into the Symbol controls component, and drag and drop a control provided by Symbol and their managed SDK, so that I can now program directly against that control. As a developer that means no more C-level program in order to access hardware extensions. As hardware extenders are able to provide these controls in Visual Studio it's going to create great value, because all of a sudden, out of the box, their controls are immediately usable by over 7 million developers worldwide.
But, once I scan something in I'm actually going to want to push it right into a data grid, so let me pull up a data grid, then I'm going to drag and drop that grid onto the form, and place it up here nicely. And so now I've got my grid control, drag and drop it, and now I've got some nice tabular data to work with. But, I need to fill up that grid control, and I said I'm going to use a Web service here. So what I'll do is I'll come over to the references tab, and I'll right click, and I'll choose "Add Web Reference". As a developer, I'm able to just find the URL of the assembly file, and connect that, and actually pull in all of the information that I'm going to be using in order to be able to access that Web service. These web services are incredibly valued to the enterprise developer, because they enable a scenario in which you can extend your existing IT infrastructure without having to rewrite any of the services, or any of the back end server logic. By extending these applications easily out to devices, any of these 7 million developers, or any existing IT infrastructure investment, whether it's data, or corporate email, or corporate information of any sort is now expose-able to your application developers.
So I'm going to set the name of this Web service here to my WS, and I'm going to add a reference to it. So that was pretty basic. Now I just want to get in, and I want to double click on the scanner control to get to the code that's going to happen when I scan something with the bar code. So I'll just drag and drop two lines of scanning code I've got here, for the interest of time I'll just drag it instead of writing it live, but as you can see, it's two lines of code, and it's just one line to create the Web service object that Visual Studio made for me, and another line that will actually go through, pull back something from a packaged report, and put that right into the data grid, very simple.
But, I want to go a step further, because I said I was going to be doing some printing. And this is where HP does a great job with Visual Studio, they provide mobile printing controls. So as a developer I don't have to worry about low level printing APIs, integrating with their DLLs, or any of that. All I need to do is drag and drop a mobile print button right onto my form, and now not only did it put a button in place for my user to print, it automatically injects all of this code, and this is all the code that I need to do proper programming, in the case of error tracking and everything, so that way the manufacturer of the hardware knows that it's going to be used in a very consistent and very easy to control way. So I'll just drag and drop the printing code I have here. Once again, it's two lines of code, and I've got one extra step I want to add, because I'm generating a report on a server here, and because I generate that report on a server it's going to return me a URL. I'm going to take this URL and I'm just going to pass it in as the path to be printed by the printing SDK. One of the great values of the different ways of printing across to these devices is that you're able to print over Infrared, Bluetooth, from a print server, or directly at the network printer.
So what I'll do at this point is I'm going to build this application and deploy it out to my device. Let me reach down and pick up that device, as it's up and running. And I also have, conveniently, something to scan. Let me pull over this way, I'm just going to show the scan real quick, and it has pulled up the data in the grid, let me make sure I get this lined up. And here we go, and as you can see, it called the web service over wireless, pulled that stuff right in, and it has some data in the grid. Now, I want to go a step further here. I'll pull out my stylus, and as a user I want to print out this report now, because I've got this great information, so when I click the print button it will call that web service to generate the report on the server, pull me back my URL, which I'm passing back to the print SDK, I'll select the printer and press the print button. And now in a couple of seconds it will render that, and it will start to print this out on this printer here.
So as this moves ahead, in the interest of time, since I probably won't have the time to finish this, I'll just turn this slightly, so you can see it's beginning to print out.
The final report is a very simple report. I can do this from virtually anywhere, with a few lines of code. Visual Studio.NET and the .NET Compact Framework provides incredible value to the enterprise, and incredible value to 7 million developers worldwide. But, I'm just one developer standing here on stage, and I just built one quick application. Let's take a look at what a real enterprise company like Pepsi can do when they take a little more time out, and a few more developers.
(Video segment.)
BILL GATES: It's great to see what Pepsi has done. They were an early adopter of the Compact Framework, and there's been a number of others. I thought I'd show just a quick list to give you a sense of the breadth of applications that people are building. Field sales, a very big area, in fact, that's probably been the biggest single area. Mobile gaming, very hot, there have probably been more downloads, broader use, more commercial markets around that than anything else. Delivery routing, very interesting now that we're getting more and more GPS information, so people can dynamically change routes and organize their field people in a better way, and it's another solution that connects up to work they've done on the desktop. So mobile devices and the desktop are working extremely well together. A good example of the effectiveness of the compact framework is the experience that Game House did. They had two developers who spent a month and were able to take their game, Text Twist, put it on the Pocket PC, and it immediately ran on 30 different device models of Pocket PC. So it's one binary working on all of those devices, and the virtual layer hides those differences, so that they can sell that same product to all Pocket PC users.
The success we've had depends on partners building tools. So just like we've always done with Visual Basic and Visual Studio, we've encouraged people to build components that help developers. A good example of this is Odyssey builds what they call CF COM that lets you build new managed applications, but you can incorporate in any COM work that you've done. So it's complete interoperability there, and they did a very good job making that small and very effective. A lot of the other tools there, are all documented up on the Visual Studio web site, and many things there are worth looking at to see if they can help you build your applications.
In terms of evangelizing these things, we're constantly pushing forward, of course this conference being a great example of that. On Pocket PC we're going to have 25,000 developers with Visual Studio will get a Pocket PC device so that they can test out their applications, and this is one of the first ones that's got the compact framework in ROM, and understand how to be one of those 25,000, we've got up on our web site under Visual Studio, get Pocket PC. Another new thing for us is a smart phone developer kit. This includes a Smartphone device, actually a compound device, so you can see how your application looks on the smaller screen, with the different kind of navigation that takes places there, because we want the rich ecosystem we had up on Pocket PC to come down and build for the smart phone, as well. That we think is a great opportunity, because there will be substantial volumes, even greater volumes, in fact, in that smart phone space.
We want to help developers with all different aspects of their activities, tools to develop and test. We have certification programs, we give visibility to different applications. We have what's called Mobile to Market, that's a complete catalogue of all these applications, and in our relationships with operators we get the operators to expose that catalogue, so that the operator is getting as many neat applications onto their devices as possible. And so we make it very straightforward to make the connection all the way from the end user back to the developer who has built that application. We see a wide range of applications being built, some that even surprise us, even though we're the platform provider.
I did want to say a few words about the wrist-sized device that we call SPOT. This is very different than what we have in typical mobile devices, it is a one-way network. So in that sense, it's more like paging than it is like two-way data. Now, it's very effective for some things. We have enough capacity to send down some instant messages, send your calendar, things that are of broad interest, like sports, news, those work very well. In no way do we see this as being a direct competitor to anything that's done on two-way networks. Two-way networks are where you have interactive applications, you can message back and forth, respond to what people are saying to you, but we do see it as having a role. We have partners like Citizen and Fossil, Santo, will actually be building these things and they ship in the fall time frame. Now, for developers what we're doing here is completely consistent. Again, the development tool is Visual Studio, the execution environment is the .NET framework. It's actually a subset of the compact framework, because of the limited memory on these devices, we've even had to subset down. And of course, the screen is a 120 by 92 pixels, black and white. So a lot of limitations there, but we will see interesting applications, and people are thinking about extending out onto these one-way devices, we're very interested in talking t them.
So the sky is the limit in terms of new mobile applications. We thought we'd do a demo here towards the end, sort of a vision that we have of some of the kinds of things applications will be able to do as all these pieces come together, things that have never been done before. So to give you a sense of that, I'd like to ask Oshoma Momoh to come out and show you what he's built, he calls his Meet Me For Coffee Application.
Welcome, Osh.
OSHOMA MOMOH: Thanks, Bill. (Applause.)
Hi, everyone. So we've been talking for a while about all the great new opportunities for developers. I want to take a few minutes to show you what some of them are going to be, and our visions of the future. I've got in my hand here a Samsung I-700 Pocket PC Phone Edition, a brand new device, as Bill mentioned earlier. This week, Monday, Sprint launched this device, and it will be available a little later this year. So what I'm going to do is show you the I-700 and a nifty little application that I built using the .NET Compact Framework and Visual Studio.NET. So we're going to start off here with the application, it's called Meet Me For Coffee. And the idea behind Meet Me For Coffee is that I want to be able to get together easily with my friends somewhere nearby for a cup of coffee.
I'm going to go ahead and sign in using .NET Passport. It's integrated here just as it would be on a PC, very easy to put into your application, and the idea behind that, of course, is let's use a common directory service, and some authentication to bring back a list of things that matter to me. In this case a list of my buddies, people who are online and nearby.
So I'm going to pick Bill, it would be great to have a cup of coffee with Bill, he's probably a little tired after his long talk, I'm also going to pick Kei, a good friend of mine. I talked with Kei earlier today, I know she's nearby and up for a cup of coffee. And rather than enter an address here I'm just going to use our current location and click find. When I click find, what we're doing is actually calling location APIs on the .NET Compact Framework, and then getting location information back for Bill and Kei and myself, plus the location of the nearest coffee house. So in this case we actually are going to the MapPoint.NET web service, but you could imagine also going to a different location service run by an operator, or another third party, or maybe using GPS locally on the device.
Now clearly, everyone is nearby, you can see Bill is it looks like about 20 feet off stage, Kei is just around the corner and there's a coffee house just a few minutes away. So I'm going to go ahead and click invite, and wrap that information up. Privacy is important in this scenario. Bill and Kei have opted in and decided it's okay to share location information with me. When you clicked send for invitation, we're actually packaging up the location info, a little invite message, into an SMS text message in this case, and sending it off to a device that Bill has, and to another one that Kei has. If we look here on the screen we can see that Kei has actually accepted already, but Bill has not. So I'm going to switch over to Visual Studio and show you why that's the case.
So here in Visual Studio we can see now that we've actually got this application up in the debugger. It turns out that Bill had left his Smartphone on the stage here, and I went and hooked it up to Visual Studio, and actually trapped it right at the point where we're going to get in an SMS message from the network. So you can see my SMS message, and we're going to pull it off the queue right here. So I'm just going to click F10, skip forward one step, and now we should be able to actually pull up information in the message and debug it, just like we would a normal application. So we can see within this SMS message my name, the address of the coffee house nearby, and some other information that was wrapped up into that SMS envelope. Again, the idea here is that you'll be able to do this by calling a common set of APIs, that are just part of the platform, and available there for any developer. And we'll try and do that in as transport independent a fashion as possible.
So what I'm going to do now is actually switch back so that we can see the application running on actual hardware. I'm going to hit F5 here, and click back over to see the hardware. What we've got in front of us here is that same Meet Me For Coffee application, that's actually running on a Microsoft Smartphone. This is something that I'm very excited about personally, we've been working for a long time to integrate the .NET compact framework with the next generation Microsoft Smartphone. So I'm showing it to you here live for the first time. (Applause.)
So as you can see here we've got information about myself and the location. I'm going to go ahead and say, yes, I want to attend on behalf of Bill. And he should be over to meet us soon. Now, hopefully Kei is nearby, and she's going to join us, as well, for a cup of coffee. Here's Kei.
Hey, Kei.
KEI AMOS: Hi, Osh.
OSHOMA MOMOH: How are you doing?
KEI AMOS: I'm great.
OSHOMA MOMOH: Good.
KEI AMOS: I just received your invitation for coffee on my new watch, let's take a look. As you know, Microsoft is investing in building a consistent platform that scales down to the smallest embedded devices. Some of the first products that we're introducing this year are SPOT watches like this one. SPOT stands for Smart Personal Object Technologies, and this one is made by Fossil.
OSHOMA MOMOH: Excellent. This is the device that Bill was showing and talking about earlier?
KEI AMOS: That's right. In fact, our platform is so consistent across all devices that we even use Visual Studio.NET to build custom watch faces like this one.
OSHOMA MOMOH: So, what you're doing is actually rotating through some of the face plates that you've done.
KEI AMOS: Right.
OSH WOMA: You've built those with Visual Studio.
KEI AMOS: There we go.
OSH WOMA: Excellent.
KEI AMOS: Let's take a quick look at the project. What you can see is typical C# code. So, as you can see, we are fully committed to making VisualStudio.net the tool developers use for building applications for virtually any device.
OSH WOMA: Great. Thanks, Kate.
So, that about wraps it up for us. We're going to throw it back to Bill to show you the road map for rolling out some of this cool new technology. Thanks very much. (Applause.)
BILL GATES: All right. As Osh said, we'll be increasing the richness of the platform on an ongoing basis. Tonight is a milestone because of the availability of the Compact Framework. It will be showing up on the Smartphones and more and more people will be putting them into the ROM of the devices. Likewise, we'll provide richer capabilities that will let you get at the messaging activities on the phone, and there's a lot of neat applications that people are talking to us about that require those extensions. So, this next wave, just over the next year or so, we'll be able to satisfy those requests.
Looking out into the future, the richness will get dramatically higher. APIs for the personal information management information using the standard database there. A lot of advances in terms of the graphics that we can do. Better APIs for getting at the Bluetooth, different profiles, more multimedia, also not asking people using C++ to use a special tool, having that more integrated into the Visual Studio environment.
We'll also see a lot more richness in terms of working with voice as a way of interacting with the device. Of course, we've seen the beginning of that with things like name recognition, but widespread voice quality, there's been more work to be done, and the extra power on these devices makes a big difference there, and that's something we see as very standard in Smartphone devices in the years ahead, an area of big R&D investment for Microsoft and part of the reason we're doing that is because voice, as a complement to this screen, the buttons on the device we think will be extremely important.
So, you can expect a lot to be going on in the tablet arena, the portable arena, and a much higher percentage of those connected up to these data networks. Also, the SPOT type devices, Smartphone, Pocket PC devices, really very rapid moves in all the different dimensions, not just more capability, although that's probably the part I'm most excited about. We'll see lower cost at the same time we're getting the higher performance. And so, for a developer thinking of an application, the sky is the limit. There is no application that won't be able to fit onto these new devices.
We're very committed to working with the developers, taking all the lessons we've had over the years. We're committed to making the platform richer, and so that what the developer has to do is just focus on their applications. We're committed to working with operators so that this is really a strong business value to them to get these applications running on their devices and drive subscription revenues, per minute revenues, all the different ways that they get business activity out of this. And so this business is something that probably would be the fastest moving of all our businesses, one that is going to be a great business for us, and we're very, very committed to it over the long-term.
So, thanks for coming tonight. We've got a developer exhibit hall, Hall J, that will be open until 9:00 tonight, and I think you can get a glimpse at some of the great things going on, and we look forward to working with you to make all this vision a reality.
Thank you.
|
|