Speaker: Bill Gates Remarks Chairman of the Board and Chief Software Architect Event: 2000 Microsoft Financial Analyst Meeting Well, good morning. Microsoft was started with really three fundamental ideas. The first was that software is going to be very important, that it was going to determine how much we could pass on the great improvements that would be made in tools to users, and that the software industry would exist with a dynamic that was independent of the hardware manufacturers. It would be a large industry. It would involve literally tens of thousands of companies coming in with specialized solutions built on a platform. The second idea was that the value of the platform would be significant. Within that realm of software, having the platform that optimized the hardware, saved developers work, worked to create interoperability between those various things: that would be a fundamental aspect; in fact, an asset that the leading platform would be significantly more popular than the number two platform because of the dynamics of software availability. The final big bet was that the hardware advances would come without the company being directly involved in those things, by being neutral to the various advances, by embracing those advances, by collaborating with the companies involved and yet fundamentally not being in that business that we could get exactly what we needed to run our platform on. It's kind of fascinating that today every one of those factors I'd say, is in full force more than ever. Some of the things we think about when we think about hardware now, we need to think about the communications connection as well. When we think about software we have to think about a Web site and a service as being part of that picture as well. But in every way those same principles are exactly what we're focusing on today. It's kind of interesting that right now we'd have to say in terms of doing long-term research, in terms of saying, okay, this new platform is going to have to have speech recognition, handwriting understanding, deep schema mapping, it's going to have to be a much richer platform than we've ever had before, and it's going to have to be a platform that partly runs on the client and partly runs as a service out there in the Internet. Building that unique platform is something that we've taken on very uniquely. And it's only because of the research work that we've done over the last eight years that we really think we have an opportunity to pull these pieces together. We have a very substantial R&D budget and getting that budget focused on this unified platform, a unified approach to storage, a new approach to user interface, that's where most of that money is going to be targeted as we make this transition to .NET. The bleep here is that the kind of empowerment that we were aiming for 25 years ago was just a small start at what's possible to do in a world driven by software. I think there's a pretty broad recognition of the fact that information of all types will be software driven. And to an extent that it is not today, when people are really looking into doing sales analysis inside a company, you'd expect those people to be incredibly empowered. You expect it to be easy to navigate that data, share that data. When people analyze, do we really need to meet face to face or can we collaborate on this in some other way? You'd expect them to have lots of options in terms of how they do that. When you take notes and you want to share them out with other people or go back and check on them, you'd expect a software interface to help you do that. And yet in the world at large most information is still stored on paper. Most information, if you want to go back and find it in a contextual setting, it would require incredible effort to do that. Even at the consumer level things like photos, movies, music, we're just at the beginning of making it easy to find those things, pay for those things, customize the way you experience those things in this digital environment. When people talk about the fact that there's a certain amount of e-commerce for business-to-business, the fact is most of that e-commerce is really still arranged in any sort of complexity in a paper-based, phone-based fashion. Whenever there's a surprise, a change, those things are not done through the digital system. Today that's a simple mapping of essentially the purchase order itself. And yet the opportunity to do customer service, to market to those people, to let them track what's going on, to customize your offer to them, that's pretty profound. And competition will force companies down that path in a pretty rapid fashion. In some ways you could say that the core of what we do always comes back to the knowledge worker. Yes, we reach into the business operations and people at home, but the person who's trying to analyze things, trying to organize things, trying to create things, their job, which goes well beyond simply reading information that they find through following links up on the screen, that's where our software really has its heart and soul. And we're quite certain that what we've done for those people to date is a small part of what we need to do and what we can do in the years ahead. In terms of hardware there's certainly a lot of opportunities created by the advances here. Broadband connecting up businesses- really you'd have to think of that as commonplace; even broadband connections that are good enough to deliver phased digital video, down to every desktop. On the consumer side, it will take quite a bit longer. But because of the incredible advances in storage, where even 10, 20, 30 gigabytes of storage are becoming commonplace, not just on PC devices, but smaller-screen devices as well, the ability to download large amounts of information and let you get at it in a off-line fashion, that emulates the idea of the full broadband environment. One of the milestones for broadband that we have been pushing for, for a long time, is when are we going to have TV sets connected up to a two-way digital system? That idea of interactive TV, the R&D in software that goes behind it, the user interface that goes behind it, we've had a long history of investing in. You'll hear some of the updates on that today. But this is the year where that finally rolls out, not as a stand-alone activity, but integrated in with the same types of information and preferences that you have on the PC and the other devices, as well. Wireless is really a breakthrough area. And in fact the part that is the most fundamental to us is actually the part of the wireless market where you don't pay per-minute charges; that is, wireless infrastructure installed on a business premise or in your home. For a few hundred dollars of cost, your home gateway -- that is, the device that will connect up to your high-speed Internet connection, whatever technology that is -- that device will be able to distribute, throughout your home over the wireless network, audio, video. Any sort of control or screen-type interaction will be projected out through that wireless network. So something like the screen on the refrigerator can be an extremely inexpensive dumb device, literally just a screen with the wireless receiver and the intelligence of a home gateway, running a specialized version of Windows there, will actually project itself out so that you can see Web sites, plan the schedule, look at photos, do whatever you want on any of the screens that are in the home. And so you don't have to manage them as separate devices. There is the one device that's projecting itself out to do those things. So wireless is important as well, in the wide-area network. It's important for both small-screen devices and large-screen devices. In many of those scenarios, we don't need much bandwidth. Once you leave the office, once you leave the home, you'll primarily be downloading communications-oriented elements that can be done on fairly low bandwidth. And so making that complementary so that as you transition into the home or business wireless environment you have the same device, the same user interface -- that you get the advantage of that higher bandwidth as part of that architecture. The PC itself is not standing still. Things like the microphone being built in; that will be commonplace. In fact, it's been pretty interesting. As we just recently put out a long-distance offering through the PC, I was stunned at the number of people who just jumped on that and started working on that with our Exchange Instant Messaging. But we're going to make real-time communications a primary use of the PC. Real-time communications today, except for young people who use a lot of instant messaging, is less than 10 percent of the time spent on the PC. This will be 40 to 50 percent of the time on the PC. When I say "real-time communication," I mean, the combination of screen sharing, voice and video sharing, that allows you to collaborate at a distance. And so that scenario will be built into the system, and the applications all will take advantage of that. We see new form factors for the PC. In fact, in some ways you can think of devices simply in terms of their screen size: the small screen that fits in the pocket, the screen that's tablet-sized, the screen that's probably three or four times that size and is desk-sized; and then the screen that's large enough for a group of people to look at it together, which is either the white board in the conference room, evolved, or the TV set in the living room that's evolved. Those different screen sizes though, all will speak to a common platform, a common architecture. And that tablet-form factor that you can take into a meeting is one that we consider particularly important. We're at the early stage of building a prototype for those things. It's a form factor that will essentially, not only replace the portable market as we think of it today, but be substantially higher-volume. And there are software advances that go with that. For example, when people are in a room with their tablet devices, automatically being able to share information, automatically being able to look back and say: "Okay. Who was in that group? Who was there? I want to send follow-up mail to that group." Those tablets detecting each other, or in sharing with each other, that will be a built-in digital meeting capability that really only makes sense when the device is with you on a regular basis. The small-screen devices, those will proliferate. In terms of volume, there will actually be more of those. That's not where you'll do your creativity. It's not where you'll look at your portfolio or do your taxes or do collaborative-type meetings. But it is where things like schedules, notices that you need to see, a map to tell you where to go -- those things will need to appear on those screens. But there will be no difference between a Pocket PC and a screen phone. All of these devices will have the voice capability, be connected up to the wireless network, and be extremely general purpose. So whether it's game-playing, home control, personal information, all of that will be there, but connected back to a service that you use. The market for the small devices can never be a substantial market unless there's a platform that encompasses them as well as the PC. Otherwise, the difficulty of constantly updating your preferences, your voice recognition, your notification criteria, all of those things will overwhelm you and make the market for the small device and the utility of the small device extremely limited. Now a final element in this that we just take for granted is that behind the scenes you'll have very powerful systems that are running the applications. I use the term "Web site" and "application" interchangeably here. That PC data center, the cost performance, and the kind of reliability you'll get out of it because of the new architecture will allow you to essentially have infinite demand against any one of these sites and yet have very low cost. The key here is the combination of chip advances, using more chips, using more address space, and then applying a software algorithm on top of that that we call software scale. So in a lot of ways, what we've got here with .NET is very analogous to the founding vision of the company -- the PC is the empowering tool; first BASIC, then DOS, and then Windows, but independent of how people want to develop, how they want to get that hardware, and creating a volume feedback loop that led to the breadth of very deep applications. It wasn't just the number of applications; it was the richness of those applications. And that's what we've got to do here again. There is one big difference between this era of creating this platform and any previous platform we've created, and that is the incredible visibility that all these activities receive. In the early stages, even promoting graphical interfaces was a case where people -- really, it was hard to get them to pay attention. They didn't recognize how that would transform the way people work and how explosive it would be. And it was really the power users and word of mouth that got it out there. Today those factors are still the most important, but you've got business people thinking through, how do they embrace this and drive new business models. You've got every pundit following what's going on in the industry and the rise and fall of the different valuations. And so it's, in some ways simpler to get a message out; in some ways a noisier environment. We did a little video that kind of captures this atmosphere of how the industry is being talked about everywhere. So let's go ahead and take a look at that. (Video segment.) (Applause.) BILL GATES: Okay. So we're definitely in the mainstream in terms of everybody paying attention. But how will people think of this next phase? In some ways people say, "Wow, the Internet, isn't that the answer?" And in the sense of global connectivity, a certain simple approach for locating different sites, and a critical mass of people getting involved with this, it's there in the form that we need. However, what we've got now, when you think of using your PC, you've got the Internet and browsing in one world. In that world, it's about reading information. You go to one site, people show you what you want on that site, you take that information, either scribble it down or cut and paste, and then you take it over to the other world, which is literally a different user or interface with different commands and things, and do your creativity. And so you have to bridge things back and forth. If you want to take information from three or four different sites and look at it in different ways and then just choose something and send a message and tell somebody on the Internet to do something as a result of what you're viewing, there's no way to do that. The Internet browser is a feature of the PC. It's not a feature of the platform. But we can change that by actually saying that the messages across the Internet instead of just being presentation onto a screen, those can be programmed, talking to each other. And that's where the Internet really becomes a platform. Now, you could say, well, isn't that just client-server? Didn't we have that idea: big computer, small computer talking to each other, programming back and forth and getting the best of both? And yes, we did, but it was in a very constrained environment. When we talked about client-server, the developer of the client code and the server code worked together. They trusted each other, they knew what they were doing. These had the same security contexts, they knew how to locate each other's services. That was a well defined environment. If we're going to take this idea of computers working together and say that works arbitrarily across the Internet, we actually need a much different way of doing the programming and the data exchange. It's a form of programming that's called loosely coupled. The only way to do this where you can deal with that is to be message-based. And so Microsoft, several years ago, was saying, okay, this is a real revolution; it's very exciting for our tools, but we need a format that can describe this very rich data, and none of the things that had come out of client-server met the full requirement. And that's why we got behind XML. It actually came from a strange direction. It was how people were trying to encode and peg very rich text documents on a thing called SGML, and we said the way that hierarchical pegging works, with a small amount of change and a fair amount of extension, could be used as the language to have high-level interoperability. The interoperability problem has been around for a long time. How do you get these systems to work together? In fact, you look at the consulting business, probably half of the time they spend is just glue code that makes things work together. Computers have no way of recognizing what functions the other one provides or how their data formats may have changed, and adapting to that automatically. With this new environment where we use XML as the base standard, and we write tools and environments around that, actually is the final solution to that interoperability problem. And so what we're going to do is move away from the idea that what you see is simply what one site wants you to see. What you'll see is what you want to see. It won't just be read-only. You won't have islands of information. All the different places that information can come from will be integrated in the way that you want. There's two other very important things about this new environment. The first is that you won't just deal with it from the keyboard. Speech, handwriting, even sort of visual gestures, will be part of that interface. That's a profound change, and it's one that's been anticipated for many decades, but it's only now that the hardware and software platform is ready. It's not a simple thing to do. We can't just have one speech application or one handwriting application; we have to do exactly what we did with Windows, and get that base out there, get the tools out there, and get thousands and thousands from people who are used to working with the platform at that level. Another important change is that the Internet as we know it today has really allowed people to lose control of how they use their time. You know, e-mail comes in, it could be junk mail, could be important. You know, a page comes in, a fax comes in. If you want to know what's going on; did a stock price change? Was a trip delayed? You have no way of having something work on your behalf to let you know what you do want to know and then filtering out those things that are not important to you. Well, even going back to the 1940s when people had these dream visions of how, essentially, information-at-your-fingertips ought to work, there was this idea of the agent -- something that would work on your behalf and filter out things and notify you of the appropriate things. Well, that's a very deep technology being able to do that automatically without your having to be too explicit, and do it across the all communications interactions that you have and across all kinds of information that you might care about. And that Information Agent is a key part of this platform. To sort of illustrate why it's a different kind of platform, because this agent, although pieces of it run on each of the devices to connect up, the most profound part of it actually runs up in the Internet as a service, intercepting all of the changes, all of the actions -- somebody wants to send you mail, somebody wants to page you, and using logic that you can customize or that third parties can program against to actual determine what that interaction should be like. So in the sense of no more interruptions and total user control, you have that filtering capability. It turns out that's very important not just for users, but also for all the systems that are connected up that are talking to each other. So the Internet will change; it will change to be more than just presentation, it will change to be a platform where most of the messages are programs talking to other programs. So the Internet plays the same role that the PC did. You could say it's the Internet plus all the devices -- the new set top boxes, the new PCs, the new small-screen devices -- because the code really runs in all those different places. So the next-generation Internet and those devices is what the .NET platform runs against -- .Net is our platform. The analogy is Windows. And for everything there was in Windows -- storage, security, user interface, programming models -- everything you can go through and list in Windows that existed there, exists in the .NET platform. And it will be no surprise to you that in some ways we've taken very directly the parts from Windows that apply here and simply are now creating those as Internet-based services. Some of these things, like authentication, which we're doing through Passport, the event filtering, have to be done in a very different way, in a richer way both in terms of the scale and the functionality because of what's being addressed. But there's an evolution here in terms of how people program and how they think of this platform. Now, this is not just about signing up a lot of users. That's an important element of it, but the developer aspect, so that it's a rich experience for any type of information you want, including vertical-type interaction -- say accounting-type data or, retail sales-type data -- all of those things need to be on this platform. And all Microsoft will do is empower that to happen. We ourselves, although our filter business will change somewhat as we get into this, the role of the third parties continue to be fundamental there. So if you look at that comparison, you have all the elements on the left, like the file system, compound documents, the OLE work we did, and then their analogy over on the right, things like the Universal Canvas, the XML Store, the XML Messages, all there coming into this environment. It is a bit of a new experience. Creativity is still of critical importance, but it's a combination of creativity and communication. I mean, you've seen with the explosive growth of Instant Messaging that that desire to communicate, to know what someone else is up to, to see what you can share with them, that's pretty fundamental. And being able to get at your information anywhere, that's pretty fundamental. We today have two worlds of electronic mail. We've got the world of Hotmail and the world of Exchange. And there are significant advantages to both of them. From a business model, Exchange is nice. We charge for it. Hotmail is lesser functionality but supported across an advertising base. But Hotmail does have this advantage that you can get at it anywhere you go. You can get it on any device. And Hotmail has the advantage that if you don't want to have an administrator setting up and dealing with things, you don't have to; you just get people to sign up for it. Now Exchange, the list of advantages there is quite extensive, the customizability, the security mode, the richness, the fact that a corporation can control things, make sure that mail is handled in a certain way. What we want to create through .NET is taking the rich technology of Exchange but the pervasiveness and the scale of Hotmail, and create a service that will actually go beyond even just being the best of both of those worlds. It will be more than just mail. It will be files and other information as well. And by doing that, we let customers work at a variety of levels. They can continue to have servers that they license the software for, but those will connect back up to the service and get the latest software. Or they can simply connect up and have the richness of Exchange through a pure service-type relationship. The advanced features, of course, require the monthly fees, so you always have a break point between what the free service is and what the charge for service is. But the programming model, the richness is all the same; it's a unified development activity. That's probably why .NET is an interesting challenge for us internally, because we have all the great work we've done on the client and the server, and then we have the work through MSN we've done on the service that's really gotten incredible traction and it's done super well over the last year. And the experience of both of those groups is very important to build the new capabilities that we're talking about here. So I've talked about the agent. I've talked about your information being available anywhere. But the interface over the next year, as we're showing you more and more prototypes, I think you'll get a sense that by stepping back and saying that we can redo the interface, we can improve a lot of things. The number of search commands you have today, just the number of commands you have in total is way too many. We can reduce that while we're making the system more powerful. And it's really this communication-centric idea, everything running on top of the browser over time, including the creativity aspects, that give us the opportunity to do that and accommodate in the natural interface activities. The new interface doesn't require that you totally work through speech. The keyboard is still there. And, in fact, in the early years that will be the primary way that people get at it. So the richness of what we've got here we're going to work on any device, even devices where we don't do the initial client operating system. We'll have a layer of software that in some cases we have to pay for it, but it comes down and runs on that machine and connects it up to the .NET world. Then, of course, there will be devices like our Windows CE devices, set-top boxes, small-screen devices and the PC itself that just come with the .NET affinity built in, so that if you put a Passport on your machine you'll get a Passport that works across the Internet. If you want to have files that you want to share out and, say, you have a PC at home, PC at work, that kind of service capability, the user interface of Windows will just make that automatic. The files can show up without your having to do any special work there. So there's .NET connection software that is available on all those different devices. And so we expect this to enable incredible innovation in the devices, just like it did in the PC world. In fact, this is even less constrained because now we've come up with a way to present information independent of the screen size, and it's much more scalable. We can balance how much work is done on the server versus on the device itself. Having intelligence in the device is very important, things like handwriting recognition, speech recognition, automatic responsiveness, the ability to work offline. Those require more than just a browser. This is not simply moving back to centralization, but it is taking a balance of what's centralized and what's on the client and getting those to work together. The first two years of this .NET capability will be some of the features that we drive into Windows and the other products, but probably the most interesting part is making it easy for developers to get at these things. The Web applications that were written for the 1995 to 1999 Internet, that is that presentation Internet, those applications were really cobbled together without a set of tools explicitly designed for websites. And so if you go in and you look at any one of those applications and the different file types and how they maintain it, how they get scalability out of it, how they add new features to it, those applications are like any sort of first generation class of applications. They can be dramatically simpler. And so the tool set that we're building here actually the VisualStudio.NET work that we rolled out recently at our PDC, it's got two breakthrough goals. One is to make it easy to build websites as we think of them today, and that is to have half as much code, have a lot more richness. The second is to make it easy to build those websites so that they can become services, so they're not just presenting information, but they're presenting capabilities. And part of the reason this appealed so much to website developers is that they're already facing the challenge when they say, okay, there's different cell phones, different screen sizes, different capabilities. There's these TV set-top boxes. There's the range of PCs. How do they have it mapped out in their websites the ability to talk to all those different things? How do they keep up with that? Well, sure, the top three or four websites can put engineering teams on every one of those things, but this is a world where every business has a website and the richness of that website is important. So if we can make it so simple by using XML the right way, you write the logic once and then either somebody comes in and gets at it directly through the XML as a service, or you simply map that XML into the different views for all the different presentation devices, we can fantastically simplify what people do. We can take something that has been a controversy, like WAP versus HTML and say, "Hey, that's trivial. You just have a map that maps into HTML and a map that maps into WAP." And it's a few hours work to support both of those things. This platform spans work and home. It's fair to say that the value of good information tools is much higher to somebody at work than it is at home. Our basic proposition is that by giving knowledge workers the best tools to revolutionize how they meet, how they share notes, how they find information, it's worth having the very, very best tools for your knowledge workers - it's worth even more than, say, $200 a year to get the latest service, to get the support, to be connected to something that does that very well. As you move down in the size of business, as you move into the home, obviously that number goes down somewhat, but the tools and the service have to span those boundaries. It's got to let people doing work out of home who want to access things that way do so. The PC has always straddled this boundary, and the .NET strategy does that as well. The fact that you can work offline is also very important. Offline also means when you don't want to pay a lot of per-minute charges, or the bandwidth of the connection is limited. And so this idea of using the storage and automatically popping onto the device things people want access to, that's a fundamental element of .NET. And anticipating how to do that is one of the breakthroughs that we have here. Today this is incredibly complex. When you think about copying code, copying Web pages, copying e-mail, copying files, it's just too much trouble. People are doing less and less offline because we haven't made this simplification that they need. And yet, that's going to be part of this platform and built in. I want to give you an example of how workers can see the different things that they care about. And this is a case where some of the customization will actually be in their hands. It will be in the hands of developers and the end users as well. This is a concept we call Digital Dashboard, and so I'd like to ask Howard Crow from our knowledge worker group to come out and show us how we're talking about knowledge workers seeing information in a new fashion. HOWARD CROW: Good morning, Bill. BILL GATES: Morning. HOWARD CROW: A few weeks ago we released the Digital Dashboard resource kit as a way to help our customers and our partners really take the first step down the road to .NET. What I'd like to do today is show you the Digital Dashboard resource kit. The resource kit is based on a new technology called Web Parts, which we'll ship in the next version of Office. And those Web Parts allow end users to have complete control over their Web experience. Not only that, but we've actually based this on an open framework that will allow partners to develop Web Parts into Office and into our platform. So let's take a quick look at what that end-user experience looks like. Here's my Digital Dashboard. As you can see, I actually have different types of information that are surfacing inside my Dashboard, everything from rich ActiveX Controls showing Office data to content that's coming from our other properties, such as MSNBC and Microsoft.com, as well as information from some of our partners, as we can see here from the Dow Jones and Reuter's partnership. What I want to show you quickly is how an end user would customize this experience. I'm a big fan of instant messaging. So what I'm going to do is add the instant messaging Web Part to my Dashboard. What you can see here is a list of the content that's currently on my Dashboard. I could create a new Web Part all on my own, but I'm going to go out and use my IT-provided catalogue of Web Parts. As you can see here, we have a number of different Parts from both Microsoft and our partners delivered in this catalogue. And in the next version of Office we will have a large catalogue up on the Web available to users, so we can deliver these services quickly and easily and let them customize their Web experience. Let me grab here at the Exchange instant messenger Web Part. I'm going to click on that, and the Dashboard will add it automatically to my experience. Now, I like to have my Outlook items front and center, so I'm going to go to layout here and take this Part and move it over, and just hit, "Okay." You can see that, really quickly and easily, I can customize the experience to exactly the way I want it. Let's take another look at some more advanced features of the Dashboard. For example, I can click on this Web Part over here and the other Web Part reacts to that. What we're doing is sending XML messages back and forth. The Dashboard provides a platform so two partners can develop these Parts independently using a common XML schema between the Parts. And so these Parts could be interdependent without any dependencies on each other. Each one can be in the Dashboard separately and be quite functional without the other, but they get another level of richness when they work together with those XML schemas. Here's another Dashboard, to give you an example of some different ways that we can service the Microsoft platform inside the Dashboard. Here you can see I have Exchange 2000 because we've Web-enabled it and I can have discussions and documents stored inside Exchange 2000 - very rich HTML-based views. I've reused the instant messaging control because I want it in multiple places - that's the way I work. Now instead of having to open and close different applications based on the task I'm doing, I can just flip through my Dashboard, which I've customized to the way I work, and get a very rich experience without having to open and close applications all the time. We've made a really big investment in XML because this is one of the first steps in the .NET platform. The Dashboard is based on XML; one of the reasons we wanted to make that investment, which Bill referred to, is the ability to transform that onto different devices. Now what I want to do is show you my Dashboard as it's running over here on a Pocket PC. Let's go in here and you'll see that we have the exact same Dashboard and I'm connected wirelessly to a wireless hub here, as you can see at the top. So the knowledge worker, as he moves throughout his building or his company, can be connected to the same experience on a Pocket PC that he customized on his PC. Let's zoom in a little bit for you. Let's drill into the home Dashboard here. And as you'll see, I have a list of Web Parts here. As you notice, the surfing paradigm is slightly different based on the device, because it doesn't make sense to have all those. But it's easily done with one XSL transformation on that page. The developers don't have to create two different experiences and manage two different experiences. So we can drill in here and here's my Factiva Web Part, for example. We've got the weather. And, finally, for the richest, very interesting view, here's my inbox. This is Exchange 2000, and here's my inbox live on the Pocket PC. I can get my mail and everything else that I need right here on my Pocket PC and have that same experience. So what we've seen is the way our customers and partners are getting started today. All of this is available right now, and we've got a lot of partners signed up and providing us with Web Parts. But more important is the experience that the end users have and feeling very enabled in the way they're working with the Web and working with their applications. BILL GATES: Thanks, Howard. Super. HOWARD CROW: Thanks, Bill. BILL GATES: The other constituency besides the knowledge worker that is critical here is the developer and what they'll be able to do. Some of the aspects we've got to have here are first of all making it easy for anybody who's used C, Visual Basic, Java, any of the languages, to move up into this new environment. We're not religious about languages. Any new language that comes along we will support. And it was fascinating to see at our developer's conference that we had lots of the lesser known languages saying, "Hey, this framework lets them exist in a development environment that's going to be great for the people who use those languages or have that base of code." Another element we need to bring to this is making it easy for nonprogrammers to see how these processes work on the Web, do that visually and then it's connected up to the code that only the developers understand. There's a whole history of this so-called case-type development, but it was never really mainstream, and never needed to be mainstream, until the Web came along and said, okay, all your business processes, your work flows, and your business transactions are going to be done in a digital fashion. Then it forces people to be explicit, and that's why we came out with BizTalk. The idea of the code updating itself without the user being involved, that's fundamental to us. Right now the frictional costs of getting a new feature, an improvement product from us is such that the licensing price is not the issue at all; rather, it's the difficulty of getting it onto all those machines and making sure it works on them. This platform has got to make dynamic deployments; that is, the code updating itself on a regular basis must be something that users just expect to do. And that revolutionizes the way we work with them and the ongoing ability to advance those things. People who write code for these services ought to be able to have one-click hosting. The way that operating systems have been designed, that's not possible today, because you have all these resource things that an application can do that interferes with other things that might be hosted on that same machine. Also, if an application needs more than one machine to deal with its load, the hosting service ought to be able to see that and just run it on multiple machines, or if it's not using much load it ought to be able to move other applications on to share that capability. So we need to abstract out at the level above the individual system how applications describe their needs as they run and how they avoid interfering with any other application. The .NET Platform is really the first one in which the idea of hosting can be achieved around the limitations of previous platforms. Since we had Forum 2000, that was day zero in the .NET strategy, which is a strategy that stretches over many, many years in terms of all the pieces coming out. The new user interface is the piece, the full new user interface is the piece that will take the longest, because it's got the most ambitious pieces. It is the most ambitious piece. But already we're really pleased with the reception we've gotten. We've put out a SOAP tool kit for our existing developers. SOAP is the standard around XML that does program-to-program communication. At the developer conference they got to see what we're doing here, and all of them went away with the sample code for the Visual Studio .NET. And that's where we announced the framework, and we showed people adopting it for a variety of different languages, including the ones that we support. I wanted to quickly show you what it means to program in XML against the Internet. And last night we were talking about this and saying, "Well this is not exactly a source code audience. Let's limit the amount of source code we have here. What can we do about this?" And we said, "Well, this is a great audience in a sense for these kinds of services," because when you go and get information from different Web sites it's never quite in the format you want. It doesn't quite combine the different things. And then if you want to go tell a Web site to do something as a result of what you've seen, that's not there either. So I'd like to ask Dave Mendlin to come out and show us what we've put together as our first demo of how an analyst or an investor might use XML across the Web. DAVE MENDLIN: Thanks, Bill. You're right, this is a tough audience. Today there are literally millions of professional developers using Visual Studio to build Windows applications. That is, with Visual Studio .NET, these millions of developers will have all the tools they need to build the applications that will power the next generation of the Internet. I think what we should do is take a look at the diagram, a schematic of what we're going to actually build. Today, if you wanted to get a lot of information from various Web sites - in our case, we're going to use information that exists on financial Web sites - you'd probably have to jump around. You'd have to go from Web site to Web site, and you'd write things down on a piece of paper or type it into Excel and then you could do some sort of a calculation. So what we wanted to do is show you what Web services and what Visual Studio .NET will enable. And to show you what that might look like, we're going to build a Web site, we're going to build Bill's investment research Web site, and we're going to do that by using programmable business logic that exists on the Internet. That's what a Web service is. We're basically taking a Web site and making it a building block that other developers can use. That's what Web service is and SOAP enables. The first thing we're going to do is go out to the S&P Web site. We're going to pull down all the industry sectors that exist. That's going to provide us a list that we can choose from. As a customer I want to go to Bill's Web site and pick the segment that I'm most interested in. Then I want to go out and take that industry sector, go out to Bloomberg's Web site, and get the list of stocks and the tickers that make up that segment. I'll then take those tickers, and I'll send them off to yet another Web site, Zack's Web site, and get the financial analyst recommendations to buy, hold, sell. And I can bring that back into Bill's Web site and then I can do something interesting with it. I can present it in a new and unique way. Let's go ahead and switch to the demo, and you can see we're going to be jumping - we're actually programmatically connecting to all these Web sites. Now, for users they only have to go to the one site, Bill's site. And so that's what you see here. Here's Bill's investment research site, and we've already made one Web service call. We've already gone out to the S&P Web site programmatically and retrieved back the list of the industry segment. And so I'll pick the communications services segment, and when I click Enter I'm going to be making a Web service call. I'm going to be going out programmatically to the Bloomberg Web site, get the stock tickers, hand that off to Zack's, get back the financial analyst information and then I can take that raw data and create something interesting. In this case I'm creating a chart. And I actually have the raw data available to me from Zack's Web site so I can do something interesting with that as well. I can export that directly into Excel. So now I have a rich way of interacting with that same data. I can pivot it. I can do all the things that you like to do inside Microsoft Excel, and it's actually now locally on my machine. So if the Web site doesn't have exactly everything you need, you have the data you need to manipulate it the way you'd like. So now we have the beginnings of a really powerful Web site. We've actually gone out and communicated with all these other - these other Web applications that exist on the Internet. What we want to do is go even further. We're going to connect this Web site to another Web service, one of our Web services, MoneyCentral. And it has a customer portfolio where you can order stock online and, of course, update and track your stock. So how hard is it for a Visual Studio developer to build a Web service? Let's take a look at some code that's been built by the MoneyCentral team. Now, this code that you're looking at, the "add to portfolio" function, exists internally to the MoneyCentral Web site. This is the code that is only available to those folks, the people on our development team for MoneyCentral. Now, we want to make this publicly available to our customers so they can use this same function. To do that all we have to do is type a simple line of code. BILL GATES: Yes, we just mark this as being a Web method. DAVE MENDLIN: I think it's great that Steve lets you write code now as the chief software architect. (Laughter.) And I think you did a great job. Now, by just simply tagging it as a Web method what happened? Just by doing that we've actually exposed that function now as a Web service. What does that mean? This code that you're about to see is XML, and it's a flavor of XML that Bill just alluded to called SOAP. SOAP stands for Simple Object Access Protocol, and it's a standard that we've co-authored with IBM and others. We've submitted it to the W3C. This enables a Web site to communicate with another Web site directly, so that I as the developer can program that function that you just saw, that in this case exists on Windows, and what's beautiful about this is that I can choose the programming language I want to work with. I can call that Web service, even if it's written in another programming language, C++ or Java, Visual Basic or COBOL, PERL, Python, pick the language that you want to program to and you can expose it out as a Web service and it can run on another operating system. We don't recommend that, of course, but you could certainly do that. What this means is that any Web site can communicate directly with any other Web site. And more importantly it means that two companies can establish a relationship with each other simply by exposing themselves to the Web methods. This code obviously is very complex and probably something that only the chief software architect could understand, no offense, Bill. The beautiful thing here is that it's actually generated for you automatically. When I typed in Web method - when he (Bill) typed in Web method - it automatically created this XML, this SOAP file. So developers don't even have to worry about it. It just happens automatically. So now that the MoneyCentral team has built that Web service we can use, we now want to go back to our Web site, Bill's investor Web site, and extend it. We want to enable the ability to purchase stock online. So I'll go to the toolbox, and what's wonderful here is we're actually generating a user interface, a Web user interface. Again, there are literally millions of professional developers who know how to build Windows applications, and they know a drag and drop metaphor. We've taken all the skills and knowledge that the existing Visual Studio developers have, over half the professional developers worldwide, and we've applied it directly to the Web, so that these same developers can build exactly the same way they always have. And so what I'll do is simply drag a button from the toolbox onto my form. This may look like a Windows form, but it's actually a Web form, a Web page. And I can double-click on a button just like a Visual Basic developer or a Visual Studio developer has always done, and I'm taken to the place where I write code. I've actually got a snippet of code that calls the Web service that we exposed on MoneyCentral, and basically what these two lines of code do is call out to that function that was exposed, patching in the stock ticker and the amount we want to buy. So now that I've written this code I can use it. Let's go back to our Web site, Bill's investment research site, and go to the next step. The application is ready to run through its final steps. If you look at the chart the best stock in the chart here is WorldCom, based on our analysis. So I'll pick WorldCom. And you can see that the WorldCom has showed up at the bottom, and I can type in the quantity that I want to use, 500. I want to purchase 500 shares. What this is going to do when I click on this button is go out and make that call to MoneyCentral and update our portfolio, which has just been done. So if we go look at Bill's portfolio right now, there it is. What you've just seen is the ability to connect Web sites together. We can enable business-to-business relationships, and developers are able to build applications from reusable components, those Web sites that exist all over the Internet. And as a developer it doesn't matter what programming language or operating system they're running on, they're a feature that I can use as part of my applications. There are literally millions of Visual Studio developers today building Windows applications. With Visual Studio .NET, developers will have all the tools they need to build those applications that will power the next generation of the Internet.Thank you. BILL GATES: Great. Thanks. Well, the road to .NET has many big milestones on it. The next release of Microsoft Windows will have some significant aspects in terms of storage and authentication, and instant messaging capabilities. The next version of Office will have very significant things. The enterprise servers is where we've made the most rapid progress by embedding very rich XML support, even in the servers being released this year. The generation after that is when you get the 100 percent capability. It's a very strong wave of products we've got here in 2000. The database products, SQL Server 2000, Exchange: you're going to hear about a lot of these, but these all reflect the new strategy. They all reflect the importance of XML, moving toward software as a service in the way they've been done, with Visual Studio being perhaps the most important one of these to really get developers moving ahead. Microsoft has the opportunity to take the R&D budget we spent, a lot of which has gone into long-term research, and get that into products that drive these new scenarios and get them onto the new devices, get them into new release of Windows and drive not only the client-side revenue that we've experienced, but also a new wave of subscription-type revenue that comes out of .NET. Making it easier to get at software and helping people get at this digital world: That's a phenomenal opportunity. And we're fortunate that there's really no one else building the platforms and thinking about this in quite the way we are. To quickly give you a tiny bit of logic about how we decided to do the presentations today, the four longer presentations will start right after me; these are of the core businesses, the big businesses that exist today. These are large groups driving forward, expanding how they think about their markets. Then we have four businesses that we gave smaller time slices to, but we thought it was very important for you to see how we're investing in those things. All these things - the core businesses and the opportunity businesses - are part of the .NET strategy. But the franchise in the home for gaming and TV is important. If we don't do that, we don't see how we can have .NET be at critical mass on all the consumer devices we're involved in. Wireless is very important, small business very important, and those are going to be the very, very fast-growing businesses, because those are new territory. So we're exposing you to how we think about how we're investing as we move forward. With that let me close and say thanks for coming and turn things over to Brian Valentine, who's going to talk about the Windows client. Thank you. (Applause.)