Speech Transcript – Bill Veghte, 2001 Windows Embedded Developer Conference

Remarks by Bill Veghte, Vice President of Microsoft Embedded and Appliance Platforms Group
2001 Windows Embedded Developer Conference
Las Vegas, Feb. 7, 2001

MR. WHITE: Well, good morning. What an exciting first day. We had Steve Ballmer come out and talk about our commitment to this space, talk about our .NET strategy and how smart devices will play a very key role in the future. And we had some very interactive sessions. I had the opportunity to sit through a couple of them, and I think that the level of content, and the interaction back and forth was super important.

The exhibit hall last night with the welcome reception, also having a lot of interaction with you, and this is really a key benefit of this type of conference, the ability for us to share ideas and share information back and forth. So, again, what a great first day, and very exciting.

I do want to thank our sponsors, because I think this type of conference is not possible without a lot of great sponsors, so ARM, Arrow, Apnet, B-Square, Hitachi, Intel, MIPS, NEC, Odyssey Software, Symbol, and VentureCom, all helped make this type of conference possible. And, you know, to have over a thousand people come to Las Vegas and be able to really get some great information and share a lot of ideas is a key area of our sponsors helping to make that happen.

They did ask me to do a couple of housekeeping-type things. Apparently there’s been a couple of session changes. When you registered, you should have some detail on some session changes, but you should check the registration desk for that.

You do get conference evaluations after each session and for the conference itself, make sure that you turn those in to the registration desk. There is a special gift courtesy of ARM that you get when you turn in that eval form.

Tonight we have a party at the House of Blues, and that starts at 7:30; you need your badge to get in. That’s the way that you’ll get in to the show. If you’d like to get some extra tickets for some friends or something, you can buy those at the registration desk.

And finally, we’ve created some extended hours during the day for you to be able to go to the exhibit hall and spend some time with the partners. There’s a lot of great information about how you can help bring your devices to market faster, how you can share ideas and information, and I really want to stress to you to spend some time with those partners as well.

So yesterday, Steve laid out this vision of .NET. What we’d like to do is bring Bill Veghte up, who is the person really responsible for making this vision a reality for the embedded space specifically. So, Bill — we’ve asked him to really talk about where we’re at with today’s products, and what challenges we’re facing in the future and how we’re going to address those moving forward. We also want to show you a lot of today’s products as well as give you a sneak peek at some of the future products. So, with that, I’d like to welcome Bill Veghte, our vice president.

(Applause.)

MR. VEGHTE: How are you guys doing this morning? I haven’t had enough coffee yet. So, yesterday you heard Steve talk about where we’re going as a company, our commitment to the embedded marketplace, and the opportunities we see. I wanted to hit on one specific slide that I think was particularly important for us as a group together.

Our view of the potential in the future. Software infrastructure matters, the first point. The operating system and the platform is about more than just a program loader or a memory manager because it is the applications and services that differentiate and that enable you. It is these applications and services that will drive business models, drive end users, and get people excited.

Next, there’s this debate going on in the industry: do PCs matter. Is it thick versus thin? I don’t think about that at all. I think about the fact that, hey, there’s a bunch of data on the PC. There’s a bunch of data on the server. PCs aren’t going to go away. Users will continue to author and create data on their PCs that data will continue to reside in servers, and it will growingly reside in the cloud on the Web. So, it is about integration with those cloud devices from PC to server to the Web to smart devices on the edge of the network, because those applications and services, those experiences need to project out to the edge of the network, not just reside in a centralized server somewhere.

Smart devices are the future, smart devices in a client context implies smart about you. You’ll see heavy investment around personalization and identification from Microsoft to enable you. Things like Passport. Passport today is simply an identity and an authentication services on the Web. You’ll see us push that service down into our client capability, so that what does Passport mean for Windows CE, for example? Passport for Windows CE means that your identity is available, your preferences, your personal information is available on that CE device, but it’s also available up in the cloud. Think about that Steve Masters video we showed yesterday. Steve Masters had an identity, he carried it with him, but it was also available to him in the cloud. That identity was something that then he authorized people to utilize to release data. So smart about you.

Smart about the network, so that as the network is very dynamic, it’s very dynamic because there will be a variety of connection types from Blue Tooth to 802.11(b), from wireless LAN to infrared to public networks. The ability to intelligently react to those changes is critical, and you’re seeing us do things like a set of quality of service interfaces, and a set of media sense interfaces, and we’ll put those in our platforms so that the applications and the services don’t always have to ping and pull. They have notifications that come back to them about the state of the network, the quality of the connection, the speed of the connection.

It’s smart about software and services, because that data needs to flow. That data needs to flow across different devices, scale to the device attributes, and the display surfaces, and that means heavy investment on our part in things like XML. We are betting heavily on XML, and industry standards like UDDI and SOAP. So smart about software and services.

Finally, it’s smart about other devices. You all are building devices that you want to have participate on the network. Participating on the network implies that they can announce themselves, and they can be discovered. They can announce and discover in a rich fashion so that the attributes of your device can be utilized, so that they can participate in a rich fashion. If you’re building a printer, you want to be able to announce and have people recognize that it’s a printer that handles multiple page types, that it’s color or it’s black and white. That’s why you’re seeing us invest in things like Universal Plug ‘n Play, and in SSTP discovery protocol that we’ll be putting in Windows CE 4.0 or Talisker.

So, let’s talk about where we are today, and what I wanted to do is actually give you my assessment as an engineering organization with the business where I think we’re at and the things that we’re trying to do. I recognize and appreciate the commitments that you’ve made to Windows CE. For some of you, it’s been a long row to hoe, but with Windows CE 3.0, I think we’ve got a really good product on ours hands. The customer feedback, the feedback from you, has been excellent. There were a set of things that we needed to do with Windows CE, and with 3.0, I think we delivered on that.

We needed to continue to push the componentization and the flexibility of the platform. That means giving you more flexibility in the number of components. It means making sure that you can build devices that don’t have footprints of 16 or 32 megs, footprints that are down in the several meg range with your application. Take Unisys as an example. Unisys is building a check device that with the application and Windows CE is a meg and a half. You’ve got people like Symbol Technologies with their scanner device running an image at about 4-1/2 megs. You’ve got Matthews Marine building a ship steering solution at the 3-1/2 range with application.

As a platform, Windows CE 3.0 has 220 components and a minimum kernel configuration of under 400k. We need to continue pushing that, but the feedback that we’ve gotten to date has been good, there’s a good solid sweet spot there, and we will continue pushing that. This is one that we can’t just let loose on. We need to continue to make sure that that footprint is down, even as we add functionality and make sure that as we’re adding functionality, that functionality is delivered in components that make sense to you.

Real time. Real time is something that has just been

— we set expectations in the marketplace in some of our earlier releases, and I think that’s really dogged us. With the delivery of Windows CE 3.0, we have a good solution. We have a good solution as demonstrated by customers like Siemens, or GE, or Mitsubishi Electric, who are testing and using it in the marketplace today.

Web browsing and multimedia, we had great Web browsing solutions on the PC. We had Web browsing solutions that more Internet content providers or publishers are targeting than any other platform in the world. We needed to make that available to you as a development community, and we needed to also give you a very lightweight HTML renderer, so we did both. We have a miniature browser, and we have a full IE browser. I think we delivered on that, which you will see out of us going forward as taking that full browser and making it more flexible. The fact that you have a full browser and you can’t separate the rendering engine from the UI, that’s a problem. We’re going to fix that. But we deliver the richest Web browsing experience on the planet, bar none. We provide a platform for that. We provide a platform for advanced multimedia. So, taking the critically acclaimed Windows Media codecs, taking the rich interfaces of DirectX and delivering them to you as a CE customer.

Connectivity. We offer a very high performance TCP/IP stack, but then we start adding specific functionality. We had lots of feedback from people that they wanted a lightweight HTTP server — we delivered that. We had feedback that people wanted Internet connection sharing, and the NATCH protocol. With the network add-on pack that we delivered this fall, we enabled that.

So, I think that we’ve got a good strong networking solution and connectivity platform out there. We will continue to push the envelope. Steve talked about one of the design principles for Talisker yesterday. One of those design principles is wireless, is wireless in the context of how long does it take that network stack to be built up or broken down, how well does it handle intermittent connectivity, those are areas that we will push very hard. Enterprise integration and data access, this is about DCOM and COM, this is about MSMQ, delivering those capabilities in a componentized fashion so that you can pick and choose depending on what enterprise integration and connectivity solution is important to you.

The last is reliability. When I talk to people about reliability of Microsoft platforms, sometimes people talk to me about Windows 95, and they say, what about those blue screens, and am I going to have those blue screens on Windows CE? Windows CE is a very reliable platform, and it’s a platform that you build up. You pick and choose which components, you pick and choose which drivers. The long test runs that we’ve run on Windows CE 3.0, and the feedback that we’ve had is that the reliability of the platform is excellent. It doesn’t mean that we need to turn our head on that. We need to continue to push, and push on the reliability, but when I look at our stress mix, our test stress mix, and the runs that we do over long haul against some of the devices that you’re building, we were running more than twice as long with Windows CE 3.0 than we were on previous releases.

So with that, that’s me talking about where we are with Windows CE 3.0, and in fact I think that was a good break through release for us. Let’s actually roll a video and see what some customers have to say.

(Video shown.)

MR. VEGHTE: So the next thing I wanted to do, I’d like to invite Travis Ames up on stage. Travis had a great job for the last six months, he traveled around the world to look at all the different devices that people were building off of Windows NT embedded and Windows CE. So when we were talking about this demo he said, I want to show all these devices, I want to have a big wall up on stage, and I’m going to show them all. We’re going to let him show you, we’re just going to see one. And what have we got here?

MR. AMES: Great. Well, I have a very exciting and unique device to show you today, Bill. It’s from a company called Cyberbank, and basically, Cyberbank saw a great opportunity to combine the world of the cell phone with the world of PDA. To do this instead of having two separate disconnected form factors, Cyberbank wanted to combine these two capabilities into one small form factor that can deliver the easy to use, always on capability of the cell phone, while still having the rich applications of the PDA, such as email, Word, as well as full Web browsing. Also, to do this Cyberbank needed to integrate the functions of the cell phone with the PDA to create a seamless end user experience. This meant integration at the application level.

So to meet all these requirements Cyberbank choose Windows CE 3.0 for their PCE phone. So let’s take a look at this unique form factor here. This is a PCE phone from Cyberbank, this is the PDA type of form factor here, and we also have the Bluetooth handset which can be used for dialing, or to use as a voice communications. So let’s fire the device on right now. To appeal really to the cell phone market, we had to have the same functionality that you’d expect on a cell phone — instant on, great power management capabilities. Windows CE 3.0 delivered that to Cyberbank. This device has over six hours of continuous battery life, with up to two days standby. It’s very cool.

Also, Cyberbank, to deliver these rich applications of the PDA needed all the applications inherent in Windows CE 3.0, such as Pocket Word, Pocket Inbox, and Internet Explorer. So I’m going to show you right now, we’ll go into Pocket Inbox here. I’m going to check my email, and I connected up earlier this morning using dial up to my ISP, downloaded some messages here, and I can view my email, and Pocket Inbox supports attachments such as Word or HTML files. I have an HTML file here, so I’m going to just click that. So you can see the full featured, rich browser experience on the small form factor device. Whether I’m viewing this online or offline, I still have this great Web browsing experience on this small form factor, very cool.

So to really deliver on the cell phone aspect, Cyberbank built their own cell phone dialing application using embedded visual tools. So let’s check out that phone application. And you see, its very simple, easy-to-use interface just Ike I’d expect on a cell phone. Now, really the key to making a value in this application, having both the cell phone and the PDA capabilities, was to be able to integrate and have these applications talk to each other, to have the cell phone dialing application be able to access my contacts, and my contacts application, using the technologies of COM. So we’re able to automatically have all my contacts from my contact app available to me for one-touch instant dialing, which is very cool.

So basically with Windows CE 3.0, Cyberbank was able to have power management, instant on, rich Web browsing in Internet Explorer, Pocket Inbox, Pocket Word — all these applications and rich technology components available to them so they could focus their development resources instead on delivering their own value added applications and services on top of the platform.

So what do you think about this?

MR. VEGHTE: Very cool, very cool.

MR. AMES: Do you want one, Bill?

MR. VEGHTE: I do. I don’t understand why you have two and I don’t have any.

MR. AMES: Well, we can change that.

MR. VEGHTE: You saw the video, you saw this demo, what you’re seeing is the opportunity

where

Siemens as a great company, or Cyberbank as a great company, took their hardware innovation, their knowledge of industrial automation, or their knowledge of cellular communication and integration of both cellular and PDA and delivered solutions. They focused on that innovation, and they focused on the applications and services. What they left to us was to make sure that we have a great IP stack, or that we have a great Web browsing experience, or that we have tools that enable the development of applications such as the dialer. So that is I think what we’re all about.

I do recognize … and there’s feedback that I get consistently from many of you, which is, tell me how you think about synchronization, or Pocket Word or those solutions. The trick with this is, particularly in Windows CE, is we will absolutely invest to enable the plumbing. So, for example, when you look at Pocket Inbox, and you look at the componentization, we will provide mail transport, such as POP3 or SMTP. The trick though is how much UI work do we do when the display surface attributes of this device are very different than this device. And how do we go forward on that? Synchronization is another that we often get questions about and requests. I understand the need for active synch, and I understand the need for synchronization of data back from server to PC to your client device, and that is something that we are going to solve, but we’re going to solve it at the plumbing level, not at the UI level. The UI level and your specific solutions, that’s your expertise, that’s your excellence, and that’s what we need to enable you to do.

MR. VEGHTE: Thank you very much.

MR. AMES: Great. Thank you.

MR. VEGHTE: Okay. So let’s talk about NT 4 Embedded. What we wanted to do with NT 4 Embedded is take a proven, reliable code base of NT 4, and make it available to you, the embedded developer. NT 4 is the industry leading file and print server, it’s an industry leading Web server, it was used extensively as an application server. It was a defacto standard for many, many corporations as their business desktop. So we wanted to take that platform, componentize it, and deliver it for you.

So how did we do? We delivered it, we delivered it with components so that you have 250 components. You have a minimum footprint of 8 meg of ROM and 12 meg of RAM. We wanted to make sure that you could take the off-the-shelf components and drivers and capabilities that you associate with NT and have them quickly and easily available for you. We wanted to do some embedded specific functionality, things like boot from flash and CD-ROM, or the headless support. I think we did those things.

I think there are a couple of things that we must do better as we go forward. We must improve the timeliness of the delivery. There was too long a lag from the delivery of NT 4 embedded. And as a result we are

embedded is part of the engineering practices with which we will deliver Windows XP both on the client and on the server. So that implies that every day, as we’re building those platforms, we’re validating the components, and defining and delivering those components. So the benchmark and the metric that we use for that is 90 days from the availability of Windows XP that we release to manufacturing a Windows XP embedded product.

So timeliness, it took us a while to get it out. We’re making a bunch of changes to improve the timeliness for you, so that you can take all the great innovation on our Whistler, our Windows XP client and server platform and have them more quickly available. There is embedded specific functionality that we will continue to do to improve our headless, to do things like execute and play, and Compaq PCI.

We also recognize that updates and service packs are super important for you. That’s not something that we’ve done with NT 4 Embedded. And now that we are putting the embedded platform as part of the mainline engineering practices for Windows XP, that’s a process that I think we can and will do much better around. But, you have with NT 4 Embedded a proven, reliable, tested in the marketplace in a wide variety of environments platform with which today you can build great solutions.

So again, what I want to do is I want to show you a video. And talk about a demo. So let’s go to the Nortel video.

(Video shown.)

MR. VEGHTE: I want to talk about a device. And as you watch this demo, I’m going to invite Aubrey Edwards up who runs our Windows CE and Windows embedded marketing efforts. There is a lot of interest in the marketplace around server appliances right now, and so one of the key things we’re doing and investing in, we have great industry leading server technologies, from file and print, to Web to caching, to firewall and proxy, making sure that those server technologies are available for you for the myriad of applications that you can think of putting them in. And as we think about those designs, and delivering those solutions, it’s about that server also participating in the infrastructure of your customer’s environment, whether that be an IT environment or a plant floor.

MR. EDWARDS: Okay. Thanks, Bill.

So, just like Nortel, we’re going to talk about a solution that really has some really quite demanding requirements. This is a Store Logic network detached storage device. Now, detached storage is a fast growing market, and Store Logic wanted to get their device out quickly, but they also wanted some unique competitive advantages. And so this network detached storage device needed to be scalable, needed to be reliable, just like the Nortel solution, but it also had to be very easy to manage. That’s one of the key requirements in terms of, if I’m in a small business, or if I’m in a large enterprise, I might have numerous of these devices, and I need to be able to manage them very easily, and potentially all from a single location, so a single console management concept is really what Store Logic was looking for.

And what they created was this Serview application. Now what this Serview application does is, it uses all the rich features of Windows NT embedded, all the management capabilities, things like our Windows Management Interface, WMI, things like the SMNP capabilities, all the rich management tools, the user account management, performance gathering, that are part of the Windows NT base, they use that and created this very simple easy to use application that I’m going to show you now.

This application, effectively, when you fire it up, it goes out and finds all of the server appliance devices on your network. So you get a logical and hierarchical view of all of those devices, whether they’re in a single building, or whether they’re spread out across 20 locations and multiple cities around the country. And so I get a high level view here of all the servers in this particular zone or domain that I’m actually managing, and you can get some high level data on how much storage is in these devices, and how much is free, and so on and so forth. But as I drill down, what I get is a view of that particular server. And I can start to manage that server, and you can see that I’ve got a single place to do very common tasks that a network storage administrator would typically do, getting the server started, getting percentages and performance on how much of the processor, and how much of the cache hit rate are being utilized.

I can look at the event logs of that server. So whether that server is in this location, or whether it’s across the country, I can remotely pull all of that information back from this single console. I can go to networking, and obviously I can start to configure things. So, from this location, I can configure the IP address of these network detached storage devices. I can do management of the partition, management of the physical drive, I can reformat drive, I can delete drives, I can manage all of the network detached storage functionality of this device, from this location.

And the last thing that might be interesting to people is, I can also manage all my users who need to access these network detached storage devices. And, again, utilizing all the services of Windows NT embedded, all the built in security of Windows NT embedded, the viable security meant that Store Logic was able to build this device, and not focus so much on the core underlying infrastructure, they’re able to focus on the value-added applications. The applications that will make network attached storage operators look up and go, that gives me something unique, that gives me an advantage in terms of these other offerings, and that’s really what Windows NT Embedded allows Store Logic to do with this Serview application.

MR. VEGHTE: Great. Thanks, Aubrey.

(Applause.)

MR. VEGHTE: I think one of the growth opportunities in the embedded space is going to be using these server technologies. I think that caching for file or storage management is an incredibly huge opportunity across the breadth of devices. You’ve seen us in recent weeks announce partnerships specifically in the network attached storage space, in the SAN space with companies like Compaq, NEC, Dell, IBM and others, and we will continue to push in that space.

Let me talk about tools for a second, because you can have a great platform, you can have lots of richness, but if it’s not exposed through the tools, all is lost. The objectives, the things that we needed to do with Platform Builder and Target Designer were take the componentization, expose the flexibility that’s delivered by those components, and provide a great environment for you to pick and choose them. In Platform Builder, we knew that we needed to make device bring up much easier, and there are a bunch of things that we’ve done with Platform Builder 3.0 to make it significantly easier. Things like, one of the pieces of feedback that you gave us was, we want to do debugging at the kernel level. Basically as we’re doing device bring up, we want to step line by line through it. So we’ve provided kernel source access for you to step through line by line. We’re going to actually demo that later. So that as you bring that device up, you can debug it more quickly and easily.

We knew that as you’re delivering, or another piece of feedback you gave us was that, hey, wait a minute, you’ve got a set of components in Platform Builder, but I want to add. It should be very easy for me to add my specific SPOR package, my specific CPU architecture, or my specific additional functionality. So, we’ve provided a lot of extensibility and flexibility in Platform Builder. So much so so that you can write a program in embedded Visual Basic and automatically export a component and import it into Platform Builder, so that you can leverage it across a variety of designs.

Another piece of feedback you gave us was, you said, this is all great and good, I’ve gotten my OS image, but that OS image isn’t the full set of components that you have in Windows CE. It’s my specific ones. I’m defining a platform for my customer. So, I want to be able to export an SDK, consumable by the embedded visual tools that supports only the specific interfaces that are in my OS image. So we’ve done that. We’ve delivered something so that you can simply, within Platform

Builder, on the basis of the OS image that you’ve created, export an SDK.

In Target Designer, we’ve taken and provided a very rich IDE and, again, allowed you to pick specific functions or pick a specific component, and automatically all the components on which it depends are dragged in. We’ve provided extensibility so that you can author your own ADF, or your own components. That’s in the device bring up side, that’s on the OS image creation side. Let me talk about the applications and services side.

The promise of our partnership in our community is that you take the industry-leading tools of Visual Studio, of Visual

Basic, of C++ and in the future C#, and you make those available for the embedded developer. You make the link between Target Designer and Platform Builder to Visual Studio and Embedded Visual Studio very smooth, so that it is a complete development environment.

And I think with the embedded visual tools that we’ve delivered in 3.0, we have enabled that for you, but I don’t think we’re done. I don’t think we’re done for two reasons. One is, I get feedback, we, my development organization gets from you is that you want device profiles, you want more sample profiles for specific devices. I’m building a PDA, you don’t have me pick all those specific components, start with a sample for me. You will see us do device profiles against the delivery of the next versions of these tools.

We’ve had feedback from you and our broad Visual Studio community that it is not only client-side development, not only server-side development, but also service development. VisualStudio.NET is the most significant release of Visual Studio that we’ve done since the mid-1990s. It is because it is about enabling service development, service development from the cloud to the server to the client device.

What we need to do is take those innovations and make sure that they’re available for you, both in the languages, and in the environment for Windows XP Embedded, but also for CE. So that the innovations of C# are available for you as well. So, you’ll see us pushing, pushing around device profiles, pushing around taking those innovations and making sure that they’re available to you.

But, most importantly for you as a group is that whole life cycle. I understand and recognize that it is that life cycle from device bring up to the creation of application and services, and so providing an end to end solution that flows smoothly from OS debugging to SDK creation to the programming and development of application and services.

So, what I’d actually like to do is demonstrate some of the advances that we’ve done, and I’d like to invite Mike Hall up, and what Mike is going to do is, he’s going to give you this end to end demo, from OS image creation to the development of applications and services. And when we were talking about this demo the other day, challenging him to plug it into the infrastructure of a corporation and some back end data.

So, what do we got?

MR. HALL: Okay, so let me show you what we’ve got here. I’m going to be using Platform Builder Version 3, and Embedded Visual Tools to rapidly create, configure, debug and deploy a Windows CE embedded system. So the scenario that I’m going to be using here is like an airline check in, an airline kind of gate control application.

So, in order to build and use this kind of scenario, we need to have a number of things here. We obviously need to have the operating system. We need to have an application that can be used at the gate check in to check people in, view data, and synchronize in some kind of back end data store. In this situation, we are using the SQL Server 2000 at the back end, and a plug in called Platform Builder Version 3, which is SQL 2000, Windows CE Edition for Platform Builder Version 3.

We’re also going to be making use of an Internet browser, the IE 4 browser for Windows CE to view an active server page again connected back to the same back end SQL Server database to show at gate control the list of passengers that have currently checked in for the Blue Yonder Airlines.

So let’s get started with configuring the operating system. Okay. So what I’m running here is Platform Builder Version 3. You can see here on the right hand side of the screen a number of items in the catalogue here. In the hardware abstraction layer I have support for three reference platforms. Platform Builder is extensible at a number of levels. First of all, the ability to add support for additional reference boards through CE component files and board support packages. Also, the ability for silicon vendors to add support for their silicon for Platform Builder Version 3, and at the third level for you to add support for your own either source code applications, or pre-built binary applications into the catalogues so these can easily be incorporated into the image of the platform that I’m going to be building.

So for the application that we’re building today, I have a pre-built embedded Visual Basic application that needs to be incorporated into the catalogue, so that we can use that as part of our platform. So in order to do that I’m going to manage Platform Builder components. You can see there are already a number of components plugged in here, including support for the SH 4 micro engine reference board, Tipton Technology video drivers, Real Tech ethernet, and here’s the plug in for DAO 3.1, and SQL Server 2000, Windows CE edition, for Platform Builder Version 3. So I can easily incorporate the embedded Visual Basic application by adding the CE component file into my catalogue here.

When I close down this folder, you’ll see that the embedded Visual Basic application is now being added into the catalogue. So at this point I’m ready to configure the operating system. So I select file and new, this brings up the platform wizard. I’m going to be building an Internet client device. So I’m going to call this I-Client, and the reference board I’m using today is an X-86 reference board, so I choose in this case the X-86 processor, but it will be very easy for me to move the target that I’m building here across to other reference boards using different processors.

It’s a CE PC that I’m targeting, and here is where I get to choose the configuration of the operating system for this device. I can choose a minimal build, this will be around 400K bytes in size, and a maximum build, this would be around 8 megabytes in size, making use of the rich functionality of Platform Builder Version 3, and components of Windows CE Version 3. I can choose a custom image, or select from a preconfigured image of Windows CE. And in this case I’m going to choose the IE sample image, because I need to make use of the Internet Explorer Version 4 browser.

So this is now creating the platform files, the project files required to deploy this application. You can see the list of components shown here in my platform view. Obviously I need to add my Embedded Visual Basic application to this platform, and it’s as easy as right clicking and then selecting add. I also need some run times in order to make use of the SQL Server components, I need data access 3.1, SQL Server CE 2000, and of course some of the Embedded Visual Basic components here, as well.

At this point I’m now ready to build, download, debug the operating system for this device. I’m not going to build here, because that takes a few minutes. But, what I will do is switch over to a machine that already has exactly that configuration built, and downloaded, and running on a reference board. Once I get to that point, of course, I’m ready to build a software development kit, so that my application developers within my organization, or external to my organization can then start building, developing and testing applications against my reference board.

The interesting thing here is that they do not need access to Platform Builder in order to do that, they don’t need to incorporate the application into the OS image at this time. I can provide the image, provide the software development kit, and they can do that work for themselves. So it’s as easy as going to platform, export software development kit, and choosing Embedded Visual C, or Embedded Visual Basic.

Okay. Let me show you some features of Platform Builder Version 3. What I’d like to show is the ease of embedded systems development and debugging. We really have brought the power of applications, desktop level debugging down to the level of embedded systems developers, fully integrated into the IDE of Platform Builder Version 3. One of the things that we shipped with Platform Builder is the ability to have some of the kernel source for Windows CE Version 3, the ability to set breakpoints in that code, and step through that code. So I have a portion of that source code open on screen now.

Let me just halt the operating system for one second, set a breakpoint inside of one of these functions, and then allow the operating system to continue to run. This function simply returns a list of current running processes to the connected debugger. So if I refresh the list of running processes inside of platform builder the breakpoint will then fire. At this point I’m ready to step through the source code for this component of the kernel. This could easily be kernel source, this could easily be a device driver that I’m currently building and testing, or it could be application level source code. I can step through each level of the operating system at this time.

Okay. So I’m just about done with breakpoints, so I’ll allow the operating system to continue to run. Okay. So let’s show you the scenario actually running on the reference board. So if I just move over to that device, and get that up on the screen, very good, so this is now the image of Windows CE Version 3 that we have built, configured, downloaded, and have running on this reference board. It’s an X-86 reference board. I have two things that I’d like to show you. The first thing is the Internet Explorer Version 4 that’s running. So maybe, Bill, if you’re kind of getting into the airport, and you’re ready for your airline flight, you want to make sure you’re checked in. And it’s very easy for perhaps somebody from the airline to be walking around with a mobile, wireless device, and be making use of the Internet explorer, and an active server page to examine the back end SQL Server database, and find out very quickly whether you’re signed in for this flight.

So if you run the Internet Explorer, this will connect to the active server page which is running on the server, that also contains the SQL Server database. If I look down the list here, I see that you’re not currently checked in. So what you need to do is go to check in, and get yourself checked in here.

MR. VEGHTE: So as he’s going through this, you’ve watched, it’s about putting that functionality at edge of the network. At the edge of the network you know that I’m not checked in, but I’m here. On the back end of the network you know that, hey, there’s a reserve

is he checked in, where is his customer data, where is his frequent flyer milage, et cetera. So it is about putting that intelligence at the edge of the network, and then doing intelligent things for me the customer.

MR. HALL: Okay. So here’s the Embedded Visual Basic application that we kind of created inside of Embedded Visual Basic based on this platform. As you can see, there is no data currently loaded into the grid control inside of this application. What I’m going to do is hit synchronize here. What this is going to do is replicate data from the back end SQL Server, that’s running on the same server with Internet Information Server, down into the grid control on this Embedded Visual Basic application. I now have a local SQL server database running on this CE device. So I can query, update, and manage that data, and then replicate that information back to the back end SQL Server.

Okay. So I see that your name isn’t in this list. So what I can do is scan your boarding pass. When I scan that, obviously your name appears in the control, and then I can insert your passenger details into this list. And you can see that your name appears here locally inside of this database.

How many of you have been either at a supermarket or an airline check in and found out that somehow the back end server has gone down, so you have to wait for either another check in assistant, or cue up in a different terminal, or point of sale device? In this situation, the back end server can go offline, and I still have the ability to check people in and manage their data locally on this device. When the back end server comes back online, I can simply re-synchronize that data back up to the back end database. And, again, that’s just a few seconds in order to make that happen.

Once the data has been synchronized to the back end device, you are now fully checked in. The SQL Server is aware that you’re checked in, you can get through to the gate. And when you get to the gate at the airline check in, of course, we can then run the active server page against the SQL Server database so that the people at the gate now know that you’re signed in. And you can see your name at the top of the list here.

MR. VEGHTE: Very cool. Great. Thanks, Mike. That was excellent.

It’s about that end to end. It’s about

I mean, what Mike showed you is we just went through the creation of an OS image, yet very quickly debugging it, and then going and deploying that application and putting it on the edge of the network. It is that end-to-end environment, that end-to-end solution, that you will see us continuing to push to deliver. So that edge of the network device, that kiosk, or that scanner can participate with the back end, and utilize the capabilities of SQL 2000 as an example in this scenario.

Let me talk about the business model, because the business model is another area that you as our partners in this platform give us lots of feedback on. We have done a bunch of things in the last 12 months to be a better business partner for you, and for the community, and for the industry. We’ve totally revamped our CE pricing. We’ve made it much more cost effective, particularly in volume. We’ve revamped our licensing model. I understand the things like COAs, and ULAs can be frustrating to you, and we’ve made modifications as a result.

We are doing a set of things about community development, things like this developer conference, things like our Web site. But, we need to do more, we need to push to enable, and catalyze the community, because these efforts

this vision of .NET, or this vision of smart devices participating at the edge of the network is as much about you

it’s actually probably more about you than me. It’s about us together delivering a solution. We can’t be successful without your expertise, your innovation, your vision. We’ll provide the plumbing pieces, you will provide that vision, those applications and services for you to deliver.

But, in order for that to happen we need to do a set of things in the community. We’re doing things like the Web site, we’re doing things like the Dev conferences. And we will do things as we deliver betas this year, such as system design reviews, and broader betas for you to participate in. Marketing air cover — that’s a catchall phrase to say we are starting to do things like sponsoring, do advertising, do more proactive press. And we will continue to push there. The support model, we had good feedback from you, and from the community about our support practices and how we can enable you, and your partners, to support a design that is deployed in the field for five, 10, 15 years. So we’ve revamped the support model.

We received feedback from you that said, sometimes it’s just not cost effective or it’s too hard to get your tools to prototype and to evaluate. So we delivered an evaluation or a prototyping SKU of our tools that allows you to produce OS images, in a prototyping or development context. Prototyping context is, I want to evaluate it, I want to try it out, and do that at virtually no cost. I think it’s like $14.99 for our shipping and handling. So providing that and making it accessible for you and your customers to evaluate and prototype as you make platform decisions, and go down the path of delivering applications and services and fantastic solutions for your customers.

The last piece is in general abut partnering across the different pieces and parts of Microsoft. There is always

I often get questions about how does the embedded and appliance group relate to Pocket PC, or relate to our MSTV efforts. And our strategy is about a flexible partnering model that allows you to pick and choose which

how much flexibility you want. My division, my group is in the plumbing business. We’re about creating things like XML schemas, or UDDI, or our UPNP discovery protocol, or a TCP/IP stack. We provide those to you and the tools to enable you to deliver innovative solutions.

There are parts of Microsoft that are delivering those innovative solutions, as well. They will take those pieces, those plumbing pieces, and they will deliver applications and services on top of it. They will deliver a focused, both application and service, as well as operating system, as well as hardware reference design into the community, whether that be a set-top box, a game console, or a PDA. So when I look at this I think about you making a decision, how much flexibility you want, how much differentiation you want or need, and how much risk/return you take, because the Pocket PC is a fully integrated solution with a different risk/reward model for you, but a different risk/reward model for us in terms of pricing, et cetera.

Correspondingly, at the high end with something like MSN Web Companion or WebTV, or Xbox, where it is a completely branded Microsoft solution, and we bear all the risk, we are also doing end user demand generation around that, because that’s a device that we will brand, we will bring to market. And when you think about partnering with Microsoft, yes, there are different parts of Microsoft that have different solutions, and different strategies. But, it is about a continuum in flexibility. I am at that base level, we are at that base level, enabling you to pick and choose the components, enabling you a lot of flexibility in hardware platform, so that you can differentiate, and you can deliver the applications and services that you want, based on your unique vision of the marketplace.

So we talked about our partnership model, we talked about our strategy, and we talked about where we’re going. But, I understand that this marketplace is very, very competitive. It’s actually incredibly fun because of that. I understand that every day you’re faced with a decision, or your customers are faced with a decision whether to use a Microsoft platform, whether you go in house, so you develop your own operating system platform, or whether you use competitive commercial platforms, whether it be Linux, or Wind River, or Palm.

And we were actually at a CEO luncheon yesterday with Steve Ballmer and I, and there were questions which is, how do you think about Linux, and how do you feel about your prospects relative to these competitors. And, in a word, we feel very good, because there are some very, very hard challenges that the Linux community, and the Linux vendors face. There are some hard challenges that each one of these companies face.

Let me start with Linux. There has been a tremendous amount of hype or enthusiasm around Linux. But, the blush is off the bloom. When you watch Linux companies like Red Hat go from a stock price of $151 to $6, when you watch DA Linux go from $320 to $7, and get saddled with a bunch of shareholder lawsuits, there’s questions about the business model and the viability of those companies. Is there a sustainable business model to support you over a longer period of time? And if there is, then that implies that free is not free. It is

but, suddenly you have to factor in the development costs of either you maintaining it, or the developer’s fees for the additional components that you’re going to get charged for for adding to your platform, whether it be a browser, or a set of manageability tools.

If there isn’t a business model that persists, then that implies that you and your customers are going to be in the operating system business, as opposed to

— so you’re going to be investing and delivering a TCP/IP stack, and a management stack, as opposed to delivering innovation and value in the applications and services. We all know, as you’ve evaluated the tool set, that the embedded solutions, both at the application services, application and services programming layer, but also in the core embedded tools, that the Linux tools are not mature yet. Will they mature?

As they mature, if they mature, will Linux fragment at the upper edges? I don’t know if any of you were at Linux World last week, but if you were you heard pitches from Red Hat, you heard pitches from DA Linux, you heard pitches from Linao, all talking about their different management architecture. Linux today is about a set of kernel services. And as it moves up the stack will it develop as an application service platform, or will it fragment? Management, and the management infrastructure is something that I think is core to the platform to enable applications and services. So how does Linux evolve based on its business model, its intellectual property licensing model, evolve beyond a kernel, and a set of kernel services without fragmenting, beyond just the porting of UNIX applications, and develop and deliver real innovation? Linux has done a fantastic job of taking the innovations that exist within Windows, that exist within UNIX, and applying them, and delivering them. What Linux has not done as of yet is demonstrate that they can be a breadth application and services platform, nor have they demonstrated that they can deliver innovation. How does .NET happen in Linux, other than just simply cloning a set of intellectual properties or technologies?

Wind River. Wind River represents where we’ve been in the embedded marketplace. They’ve delivered a great platform if you’re thinking about the operating system fundamentally as a program loader, and as a memory manager. They’ve done a great job delivering solutions for 8 and 16-bit. But as we evolve into this world where it is about connectivity, it is about applications and services, the question is, can they evolve beyond that heritage, and can they deliver an application and services platform. Can they evolve? And what they’ve been doing is trying to evolve into that application and services capabilities through acquisition. So cobbling together a set of solutions as opposed to delivering on the tool side an end-to-end from Visual Studio and C++ to Platform Builder. They’ve been cobbling on the basis of acquisition so that they have a DCOM story, but it’s sort of tacked on. Can they evolve to be an application services platform? Can they evolve their PCOS customers on the basis of their ISI acquisition? And can their business model align with yours as they push more heavily into services and distribution?

We talked about Palm. Palm has done a phenomenal job delivering an operating system for PIM. An operating system for a PIM with a great piece of hardware. And they deserve a tremendous amount of credit for delivering that. But people are now thinking about a PIM as much more than a contact manager. They’re thinking about it in the context of email, or browsing, or multimedia, and they don’t have a platform today to deliver on that. They have an operating system, and a platform tuned for Web clipping applications and for a PIM. They don’t have pre-emptive multitasking. They don’t have a prioritization scheme. How do they do memory management? They have some very hardcore OS problems and challenges, and they have some very hardcore platform challenges as they try and deliver a breadth of applications and service experiences. They have a challenge as they move from a drag and bolt to the arm architecture. How do they migrate their OS and their applications and services in a compatible fashion? And last, but not least, they have a hard business model question, which is, do they think of themselves as a platform company or as a hardware company, particularly when 97 percent of their revenue comes from the fact that they’re a hardware company, particularly when they’re a hardware company in the PDA space when their growth is not as fast as the overall PDA space? So that’s how we think about the competition.

The next 18 months — where are we going? We’ve talked a bunch about the opportunities, and the exciting things that we’re doing in Talisker and Windows XP embedded. We need to take those and deliver them. We need to make sure that they’re the richest platforms on the planet but deliver embedded flexibility. So that’s one, deliver those products.

Two, we need to continue to push the efforts that makes it easier for you to participate in the platform, for us to be together as a community. This platform and this vision is more about you than it’s about me and Microsoft. It’s about us together providing solutions. And I know we can do a better job through things like source, or through things like our Web site, through things like these developer conferences, facilitating that participation, making it easier for you to give us feedback, making it easier for you to understand where we’re going. So I welcome suggestions and feedback about how we make it easier for you to participate and drive this platform, because it is about us together partnering to drive it. We can’t do this in isolation, you can’t do this in isolation. It’s us together.

We need to go out and make this vision of .NET and this vision of services that go from the cloud to smart servers to PCs to smart client devices real. That means that we need to provide through our tool sets, through our operating system, and through our applications and services, we need to provide personalization. We need to do a better job around data interoperability. We need to make sure that as we deliver Visual Studio, as we deliver C#, that Web service programability is a core design goal and function for those solutions.

On the tool side, not only do we need to make it a great service solution, but we need to continue pushing so that it’s an end-to-end, from device bring up to SDK creation, to the development of these applications and services, and you’ll see us push harder on that. And there are areas that I think we can do a much better job in, for example, the OS creation. We need to continue to make it more componentizable. We need to continue so that you think of it

— you say, I think about it as Web browsing, so you don’t have to decide that Web browsing equals IE, TCP/IP stacks and a NIX driver. So that those packages are quickly and easily available for you.

And it’s about business growth. Yes, we are a business. We’re seeing as a business we’re growing well on the basis of revenue, on the basis of design wins, on the basis of the partnerships that we’re forming together, but we need to continue to grow that business, 300 percent is a great number. I think we can do better. And we need to continue to push to be a flexible business partner for you.

Let me talk about the road map. There’s two elements that I want to make sure you get out of the road map. One is, I get lots of questions about how we think about Windows CE versus Windows NT embedded, or Windows XP embedded, and where are we taking those. I get questions which says, is Windows CE going away? No, it’s not. We have a large engineering team investing heavily in Windows CE because we think that one platform cannot solve the myriad of demands and solutions that you need in the marketplace. With Windows CE we want to push that platform to be a great lightweight client platform, lightweight means mobile, lightweight means power management, lightweight means flexibility across a variety of CPU architectures. And we will go down that path. You’re seeing us, even in the last couple months, we delivered the network add on pack this fall. We’ll deliver a set of additional board support packages this spring. And we will also deliver a Talisker beta this spring.

So, lightweight platform, what does that mean for Windows XP Embedded, and where are we taking that? I absolutely look at that also as a client platform, but at the high end. This is where you want the latest and greatest Windows technologies. And, frankly, the device that you’re delivering on the client side has almost all the functionality that you would associate with a PC. Is there overlap there, yes, there is. We’re going to show you a demo in a minute around creating

— actually a partner of ours is creating an advanced set-top box using Windows XP Embedded.

Now, you say, wait a minute, Windows CE is the leading platform on digital set-top boxes this year, how does that work? There’s a range of set-top boxes. There are set-top boxes that, heck, they have everything from caching to firewall proxy to a rich gaming environment, very high end set-top boxes, and there are volume set-top boxes that are more limited in their functionality. So we absolutely look at these platforms as overlapping in that client space, but CE we push on being lightweight, and Windows XP Embedded is about taking the full functionality that you would associate with Windows NT or Windows 2000 or Windows XP and giving you the embedded flexibility.

So, on this road map, let me talk about betas for a second, because these are your platforms, these are your platforms, we want to hear from you, we want to get beaten up, we want to know how we can do better to serve your needs. Talisker beta we want to ship this spring. Windows XP beta two — we’ve already shipped beta one — beta two we’re shooting for late spring/early summer. If you’re not watching our developer Web site, if you’re not on our mailings, make sure you are so that you can participate in those betas.

We are separating the client and server releases of Windows XP, or what was code named Whistler. So we will deliver the PC version, not the embedded, the PC version of Windows XP in time for market availability this fall. That means map out 90 days from there, and that’s when we deliver Windows XP Embedded. We will follow the Windows XP client release with a server release. The Windows server release is slated for late this year/early next year. We will follow that by 90 days with a Windows embedded server release. That’s what we’re doing in the operating system.

Equally important is what we do in that tool. As we go from Visual Studio 6 to VisualStudio.NET — it is the most significant VisualStudio release that we’ve done probably since the mid-’90s. It is about service programability. We’re even introducing a new language C#. So that is something that we are shooting for release the second half of this calendar year. And then driving those innovations into making them available not only for you as a Windows XP Embedded developer, but also for you as a CE developer. With the delivery of Talisker as an operating system, we will absolutely deliver the Embedded Visual Tools and Platform Builder as part of that release.

So, with that, what I would like to do is actually invite Aubrey up to demo Windows XP embedded and try and create an advanced set-top box for you.

MR. EDWARDS: Okay. Thanks, Bill.

The set up that we have is, we actually have two machines, we have a Target Designer workstation where we’re going to show you Target Designer, and build the components to make the set-top box. And we actually have a set-top box out here from Fujitsu Siemens with the Whistler Embedded technologies, and we’ll actually show you the operating system running on a real set-top box, and we’ll show you some of the capabilities.

So what we’re going to build is sort of an advanced set-top box. So one of the questions you might ask is well, what’s an advanced set-top box, right? So it’s a device that has multiple functions. The device we’re going to build is going to be able to play DVDs and do DVD decoding, it’s going to be able to browse the Web, it’s going to be able to tune and watch HDTV and digital television. We could easily add functionality like firewalls, and Internet connection sharing. It’s really about a device that has intelligence and can do multiple functions.

So, if we look at Target Designer, you’ll notice if you’ve used Target Designer before, the Windows XP Embedded beta one version of Target Designer changed a little bit, and there’s a couple of different views here. The first view I quickly wanted to show you was this component view, and one of the goals of Windows XP embedded is to componentize the general purpose operating systems to have 100 percent componentization.

And what you’ve seen in our beta one that we released in September last year is that we’ve already got nearly 5,500 components of the operating system.

MR. VEGHTE: And all the different drivers.

MR. EDWARDS: That includes all the system services, all the device drivers.

MR. VEGHTE: The point is that we’re componentizing every device driver in this system as well.

MR. EDWARDS: And so, for example, let’s play a little game here, Bill, how many NIC cards do you think we support in the Windows XP embedded beta one?

MR. VEGHTE: Somewhere north of 100.

MR. EDWARDS: Somewhere north of 100. Well, we’ve just applied a filter to go through this whole long list of hardware and devices, and we have 473 NIT cards that we support as part of Windows XP beta one. What that basically means is that no matter what type of device you’re building, you can use standard off-the-shelf hardware components, and you can be pretty certain all this guarantees that Windows XP Embedded is going to have a device driver to match your NIT card, your display card, your USB device, your DVD-ROM, all of those components. So that’s a real big benefit in terms of getting you to focus on the applications and services and not have to write device driver and low-level OS code.

Okay, so let’s go back and have a look at how we build this set-top box. The second pane, or view, that we have in Target Designer is the configuration view, and this is a configuration that’s called “keynote” that basically is a configuration for the set-top box, and the process to get here was, we have a new tool in Windows XP embedded called Target Analyzer. What Target Analyzer does is, it runs on our target machine, which is our set-top box. And it analyzes the hardware, so it gives us all the configurations of the hardware, and pulls in the right components for us to use to get a base OS running on that hardware. That really saves a lot of time.

MR. VEGHTE: So it detects the hardware and then matches that hardware to a component.

MR. EDWARDS: Absolutely. And so when we were building this demonstration, it took us less than two hours to get the operating system up and running. It takes about 20 minutes or so to run the Target Analyzer. You port it into Target Designer. And that process took less than two hours to build that and bring it back down into the set-top box.

MR. VEGHTE: And if it doesn’t detect, then I can simply choose a component as well, or add a component?

MR. EDWARDS: If it doesn’t detect, you can use your own components. As you see the list of components the set-top box is going to run, you’ll see the kind of low-level things the Target Analyzer detected. For example, it’s detected an ACPI file. That means that we’re taking advantage of all the great features of Windows XP by having all the great power management capabilities, so I can do quick boot to resume and standby. I get all of those power management facilities now as part of Windows XP Embedded that we previously didn’t have in Windows NT Embedded 4.0.

As I go down the list, you’ll see other components that we’ve added. We’ve added, because we know what the set-top box is going to do. We want to take advantage of the digital television tuning capability. We want to take advantage of all the direct show and multimedia capabilities that Windows XP Embedded provides us. And so we’ve added the components manually. We’ve added things like the Internet Explorer component because, again, we want this device, as we look at the Internet Explorer 4 component, we want this device to be able to browse the Internet.

And then the final component that we’re going to ask is the application, the user interface to this set-top box. Clearly we want to create a easy to use user interface so that the user can navigate around the functions of this device. So using the power of Visual Studio, we’ve actually built an application that we’re going to include in this configuration of the set-top box.

MR. VEGHTE: Before you switch off, the other thing that you’re seeing as you watch on the right-hand side of the page, you have IE is the component, one of the pieces of feedback that many of you gave us was, it’s not only IE as the component, but it’s some of the settings associated with IE, such as its proxy settings and its connection model, so that directly here, out of Target Designer, you can set up and configure those components, and the associated registry settings.

MR. EDWARDS: Absolutely, Bill. There’s the style sheet that allows you to go and change that proxy setting.

So the last step that I would do, or the last two steps I would do once I’ve done Target Analyzer, add in my own components, I would actually do what we call a dependency check. And what check dependency does is actually looks at all the components that I want to put into my image, and makes sure that any dependencies or that other components may rely on are also included in that particular OS image that I’m going to build.

Now, that process takes about a minute or so on this machine, so in fact, we ran it just before we started the demo, and you see that in my task list, which is where all the notes and tasks that I’ve got to do to complete my OS, there’s a message from “Defensicheck” which says, base service is dependent on at least one member in the file system group. So that basically means that I don’t have a file system for this particular set-top box. We’ve got a CD, I probably want to include a CDFS, if it’s got a DVD I want to include a DVDFS. You see, I simply drag and drop those components over, and I probably also want to include a FAT file system, and the flash memory that we have in that device as well.

So once I’ve actually done that, I can go ahead and build the target image. Again, that’s a process that takes about a minute or so, where it pulls all of the binaries out of the repository. Okay. So why don’t we step over to the set-top box and have a look at what we’ve got here. So the first thing you’ll see is that here is the custom application. The application I write in Visual Studio, which is the user interface. And it’s a fairly straight forward interface to allow the user to get straight to the functions they want. So I can play a DVD, I can watch HDTV, I can browse the Internet. What I’m actually going to do is play a DVD. And we’re just going to

this is the prototype, and we’re just going to play a DVD, we’ve got a DVD in there

(music plays)

so the other thing I just quickly wanted to talk about was the soft power capabilities.

You were just seeing me there, and once I stop the DVD I went to the power switch, I used the power management capabilities of Whistler, Windows XP Embedded to actually power down the device. Again, that happened in about three or four seconds, so again the power management capabilities are something that we’ve got now as part of the embedded product.

MR. VEGHTE: Great. Thanks a lot. Good job.

MR. EDWARDS: Thank you.

(Applause.)

MR. VEGHTE: What he was showing you there was Target Designer and Windows XP Beta 1. So we will drive forward and make sure that you can participate in those betas as they come out the chute.

So where are we today? What are the next steps? First, utilize today, utilize Windows CE 3.0, and NT 4 embedded. These are great platforms, they’re rich platforms that enable you to build innovative devices, and build your skill set and your capabilities around applications and services. You heard a vision of where we’re going with .NET. You heard how smart devices participate and are key to that vision. Think about your customer scenarios, the customer environments and the problems that you’re trying to solve, and have data moving between these devices, and participating with the Web in an active fashion is going to work. Think about those scenarios, and communicate those scenarios with us, and with your other partners.

Participate in these betas. This platform is about you and us together delivering great solutions, we can’t do it without you. Get those betas, give us feedback, push us, tell us what you think we can do better, how to prioritize, and how to focus. We want that feedback, because this is a community, this is a community that is more about you building innovative solutions than us. This is much more than Microsoft delivering technology. It’s you and us together delivering great solutions. Give us that feedback, tell us how we can do better, and how we can, together with you, build a community.

Thank you.

(Applause and end of event.)