Steve Ballmer Speech Transcript – Fusion 2000

Remarks by Steve Ballmer
Fusion 2000
July 14, 2000
Atlanta, Georgia

MR. BALLMER: I guess we’re here today to build.It’s an exciting opportunity for me to get a chance to open up this Fusion conference.The absolute most exciting, fun part of my job is getting the opportunity to go out, to visit with, and to meet with our partners.And particularly today, 25 years after Microsoft was founded, the chance to be here, to have a chance to share some thoughts with you, and to have a chance to talk a little about the future and hear your input.I’m very, very energized.I hope we have an absolutely fantastic three days for you.I know we’ve got a lot of things we want to cover, there’re a lot of issues.And it’s just a pleasure to have a chance to start off.

The first thing I want to do is to thank everybody.Our company has been in business 25 years.One of the founding principles that Bill Gates and Paul Allen had when they started Microsoft was that we needed to be specialists, that unlike the computer industry of the ’70s, and even the early ’80s, our company couldn’t try to do everything.We had to focus and do what may be more things than most people, but we had to focus on a few core competencies.So we made a decision, essentially Bill Gates made the decision in 1975, that we would focus and we would partner.

And the thing that brings us all here today is our partnership.And I know absolutely, positively, 1000 percent that we would have no chance of being the company that we are today with the kind of revenue that we get, if it wasn’t for the hard work, the smart work, the incredible work of our partners, and particularly the group that comes here to Fusion, the group that comes and spends the time with us, who are most engaged, most active, most involved, most entrepreneurial partners, all of you.

So I’d like to start by thanking you and offering to you, I’ll do it by myself, but you can join if you like, a round of applause and thanks for our partner community.


MR. BALLMER: So thank you.

Before I dive into the heart and soul of the presentation, I want to talk just for a brief, little moment about an issue that may be on your mind.Partners have to assess the investments that they make.We know that the decisions you make today on where you’re going to put your investments in training, in technology, in staff, skilling, those are the most important decisions that you make.We feel thankful that you’ve made those decisions in large measure along with us.

And I’m sure that the commotion in Washington, D.C., is on the minds of some of you.Are we going to be in a position to continue to work with you, to partner with you, to serve customers with you in the future?Of course, the lawsuit is currently sort of in abeyance; we got what we might politely call a terrible ruling.It has been stayed — that is, set aside for a period of time while the thing goes through the appeal process.There are two key things that we believe we have absolutely top notch arguments on, and will prevail on during appeal.

Number one, we will continue to be one single company, a company that is able to bring the greatest amount of innovation from around Microsoft together with you to serve customers.Our company would be a weaker place if it was split up, and we don’t think in any sense that decision will be upheld on appeal.The second key issue is, will we be subject to the set of fairly draconian regulations that prohibits us from continuing to improve Windows?That is not right, it’s not what the law suggests.The appellate court of this very district court ruled two years ago that as long as there is plausible benefits we are allowed to integrate new technologies into Windows, and we trust on that point as well we will prevail on the appellate level.

This is a competitive, dynamic industry.If we slow down, if we don’t innovate, if we don’t bring new features, if we don’t keep our prices low, you’re all out the door and so are all of our customers.And we trust that on appeal we’ll be able to make that case convincingly.We think the law is clearly on our side.The appellate court has ruled on these issues before, and I want you all to remain confident that the investments that you make in getting people up to speed and getting customers involved with our technologies are good, smart, persistent, long-term investments.So I appreciate your forbearance.I’m sure you have to spend a little bit of time, as I do, explaining to our mutual customers why it’s okay to proceed.But, as our top partners, I wanted you to be able to hear directly from me what my view is, and why I’m so confident about our case on appeal.

If you feel moved on the topic, if you feel as if the government is doing something wrong in this particular case, I encourage you to go to, the freedom to innovate network — feel free to contribute.Feel free to write a letter to your congressperson, your senator, whomever.Feel free to do any and all of those things that the spirit moves you to do.We thank you for that, as well.


MR. BALLMER: Okay, now to the good stuff.What is it that we’re all about?What is it that really brings us here together this year that we are trying to accomplish together?I think it’s really three things.I think our company has four overall priorities, and three of them are right in the intersection of your interest and our interest.

Priority number one for us is continuing desktop excitement.We brought Windows 2000 into the market this year and Office 2000.I’m going to talk about some of the ways that represents opportunity for you and for us.This is a year where we’ve made a little bit of progress, but we have a lot more progress to makein really going after the opportunities in enterprise, e-commerce, mission critical applications.I’ve had a chance to meet already with a number of partners.I’ve had a chance to get feedback from some of our folks who’ve been out meeting with partner advisory councils, and I know there’s a lot more that we can do.But the business is growing.We have some success, we have some references, some data.I want to share that with you and talk about how you and we can both go forward together, do great things for customers and make money.

Number three, we are in the process this year of really sort of ramping into overdrive with our efforts in online services, both with MSN and with bCentral.And while I don’t think in the short-term these are huge mutual opportunities, in the long-run these are core services that I think will benefit our work together, and will give us both an opportunity to talk to our customers not only about how they do business with technology, but will give us tools that will help our mutual customers advertise and deliver services over the Internet.One of the things we can do, I think, that IBM and Sun and Oracle cannot do, is to talk to customers about how we co-market together, not just how we co-develop new Web sites.

And last, but certainly not least, we announced our .NET platform a number of weeks ago, three or four weeks ago, and I want to talk to you a little bit about what it is.I want to give you a little bit of a sneaky peek at some of the technology, and I want to share with you our enthusiasm to partner with you in the era of the .NET platform as well.

Okay, desktops, how many people in this room run Windows 2000 on their own machines?How many people would go back and run Windows 98 again on their own machine?How many people have installed Windows 2000 for somebody else personally, not professionally, personally, on their machine?How many people regret that decision?

Okay, we’ve framed this issue pretty well.Windows 2000 is off to a, despite what the Wall Street Journal might tell you, pretty darned good start.But it ain’t no Windows 95.You know, there was no Mick Jagger, there was no “Start Me Up,” all that stuff, behind Windows 2000.Why not, you might ask?It still doesn’t run Sonic the Hedgehog, the mission critical application of the Ballmer children.It probably doesn’t run a few mission critical applications of some of the other children of people in this room.So, we couldn’t put it on TV and advertise it left and right, so it’s a little slower burn proposition.We don’t have the consumer business feedback loop working for us right now.But we’ve started to get pretty good acceptance.

This is the year where I think if we kick this into high gear, and certainly our people have that right there tattooed on the front of their brains, we can unleash a wave of desktop migration that leads to service opportunities for you.We can lead to a wave of migrations to the Active Directory, which gives you a chance to add value and management at a higher level.We can kick off a round of Office migrations that will, again, give us a chance to go back and build more custom applications around the Office environment for people.And so, if we sell that proposition well in our marketing, in our sales activities, in your sales activities and in your service activities, I actually see this as a huge opportunity.

We’ve shipped about three million copies of Windows 2000, pretty big number, but it’s not nearly the kind of number that you and we need to see.And so this will be a real priority, I think, for the both of us.We have a mix of people in the audience.We’ve got some people who write code, who do infrastructure deployments, who build e-commerce applications.But anybody who is involved in the infrastructure game, the Windows 2000 desktop migration represents one of our largest mutual opportunities.It draws with it digital dashboards in Office 2000.It draws with it Active Directory and IntelliMirror and management and policy, and all of those represent, I think, reasonably high margin service opportunities.

This is the year in which we will deliver

I’ve got to catch my breath, sorry.I’ve actually been working on new vocal exercises so I don’t blow my vocal chords out in a speech like this, and I’m not breathing correctly, and I’m going to blow my vocal chords out.I’m going to catch my breath, and then I’m really going to breathe well, and speak even better.

This is the year in which we have the richest server line up that we’ve ever had.We have Windows 2000, and Windows 2000 is a tremendous product.I’m going to assume, I’m not even going to ask, I’m just going to assume that everybody in this audience has had a chance to either deploy or build an application for Windows 2000.

Exchange 2000, yes, we did announce earlier today that it’s been delayed, but it will be available this year.We’re just holding it for more testing, more time, to make sure it’s perfect before it goes out the door.

SQL Server 2000 takes big steps forward — scalability, reliability, native XML storage.It will be available this fall.

Our BizTalk Server product, I’m going to show you in a few minutes, it’s essentially a tool in the server runtime for designing business-to-business workflows using XML.

Our Application Center Server product will ship later this year.It’s a tool that lets you manage Web parts.

The Commerce Server 2000 product has been dramatically updated to facilitate your development of next generation B-to-C applications.

The ISA Server which does proxying and caching and firewall activities — we’ve, again, I think taken big steps forward, and I would say in a sense we’re back in the game, and I think we’ve fallen quite a bit behind in that area.

And lastly, and this is probably more like a year from now, we’ll have the Visual Studio.NET product, the development tool which we’ll give you, again, a preview of in a minute, that lets you stitch together these things in the modern way, using XML as sort of the core fundamental technology building blocks for these next generation applications.

People ask me, how are you doing in the e-server business?Are you doing well or poorly?The fact of the matter is, we’re doing a lot better than the world knows.And I know, just so it’s no secret, because I think people have already given us a lot of this feedback, we know we have to communicate much more strongly how committed we are to e-business and e-servers and e-commerce.We know we have to do more effective marketing versus guys like Sun and IBM who are doing a very good job.We know we need to give better references so that when you and we go out and sell, people have the confidence to move forward with us, and we know that we need to make sure that you have more of the data on scalability, on reliability, on availability to establish these platforms as absolutely okay for people who want to do mission critical business.

Today, we have top database and Web performance on top of SQL Server 2000 and Windows 2000, the top absolute performance.I think that lasts for another few days.We’re going to see a breakthrough where IBM actually posts the new top database score, but it will be posted on top of, not AIX, it will be posted on top of Windows 2000.And then we’ll have to catch them, and the race is on, so to speak.I don’t see Oracle putting their best benchmarks up, by the way, on the Windows 2000 platform somehow.

If you take a look at the market today, about half of all secure Web sites, and about 60 percent of all business-to-business Web sites in this country, in the United States, are based around Windows 2000; 60 percent or more of all the new SAP installations are on top of Windows servers.We’ve sold over 55 million Exchange licenses, and you can see the names of some of the customers who are already using Windows servers in mission critical applications: NASDAQ, Barnes and Noble, Data Return, Dell,, Eddie Bauer, Cosco, Merrill Lynch,, amongst some of the good references for Windows in the e-server business.

Here are some numbers which might help you take a picture of where we are from a scalability standpoint.If you can see

— actually that projects pretty well

— there are three colors here.Color number one is dark blue, dark blue represents the performance you can achieve running on $170,000 Compaq box with SQL Server, and then in a variety of different programming environments.I’ll explain that in a minute.

Light blue is NT 4 on the same box, and that kind of rust colored, orange colored, ugly color, that’s what you can do on a $430,000 Sun box with Oracle.

The numbers across the page are columns that represent the number of active, or the dynamic server pages that can be served up per second with a variety of different application servers.So, on the right-hand side

— sorry, on the left-hand side, you can see what you can do with a Sun box in the hot application server, you can see what you could do with Sun I-planet, 787 dynamic pages per second.Sun Net Dynamics, 1039.Microsoft with Visual Basic and Active Server pages, 2000 pages a second on NT 4; almost 4,000 running on top of Windows 2000 Advanced Server, and if you’re willing to write VC++ code and ITAPI, you can get 3,500 pages per second on NT 4, and almost 8,500 pages per second on top of Windows 2000 Advanced with SQL Server.

Absolute performance as well as dramatically priced performance favors the Windows environment and SQL Server environment for these kinds of high scale applications.Now, people say, did you run that on one server or more than one server?The fact of the matter is, we scaled out, we used multiple servers, but the total cost is still higher

— I’m sorry, is still lower than it would be using a single Sun box.

People question the reliability of our stuff in the e-server world.Here are some customers and some data, NASDAQ for their real-time surveillance systems, two million transactions a day, 99.97 percent availability.Barnes and for their Web site, 99.98 percent availability.And the one I actually like best is Southwest Securities.Southwest Securities is an online back end process of transactions who actually processes more transactions per day than Schwab does, 99.993

— I never remember whether it’s 3 or 8, 99.993 percent availability on a 30-node Compaq system.So, we have references today, not only who are using this stuff, but using it in high scale, high availability applications.

What I would like to do now is show you some of the tools we’re bringing out that will help you build next generation applications around Windows 2000, and to do that we’re going to show you a demonstration of the BizTalk Server product which will be out later this year that helps you build business-to-business XML applications, and to do that, Kevin McCall from our product development group will join me.

Please join me in welcoming Kevin McCall.


MR. McCALL: Hi, Steve.How are you doing?


MR. McCALL: Well, Steve, I’m going to start by sharing a simple statistic with you that you probably already know.And that is, over 90 percent of all the orders that are taken over the Internet today are completely reentered manually into the back end systems that must ship them.And this really reinforces something that all of us already know, and that is, today it’s still too darned difficult to integrate that Web-based commerce application with all of the other applications that are running across an organization’s computing infrastructure.And so, organizations must actually do better than that.They must not just integrate business processes effectively internally, but in order to be competitive in today’s economy, as you know, they must integrate those processes with those of their customers and their key trading partners over the Internet.And BizTalk is focused squarely on this challenge.So, BizTalk Server 2000 specifically makes it fundamentally easier to integrate business processes within as well as between companies.

We’re going to take a look at a simple business process, a simple scenario here, and then we’re going to show the actual tool that defines this integrated process.So, in this case is using a Commerce Server 2000 application running on Windows 2000 for their B-to-C needs, and then they need to integrate that application with all of their back end assets.In this case, Oracle financials and order processing, I2’s supply chain planning, McQ warehousing, as well as wireless applications running actually in the warehouse.

Now, naturally, in order to have a more cost effective computing infrastructure, as we do this demo, their interest is to replace that Oracle set of applications with JD Edwards on Windows.

MR. BALLMER: Absolutely.

MR. McCALL: So, I’m going to get your help with this.Why don’t you just hit the mouse for me there.So, okay, there we go.And that’s the end of my demo.


MR. BALLMER: That just took a lot of service revenue out of people’s hands.I think we should put it back to Oracle.

MR. McCALL: Now, that surprises me.

MR. BALLMER: No, I want people to have a chance to make money taking that mouse click on.

MR. McCALL: Okay.That’s fair.Why don’t we walk over, and we’ll take a look at the BizTalk Server product and we’ll show how can use the BizTalk orchestration environment to find this business process and then execute it.Now, what we’re looking at here is the BizTalk orchestration environment.The BizTalk orchestration environment is an environment where we can define our distributed business processes, and then connect to the various activities defined in that process to the various applications we’re running across the enterprise.

MR. BALLMER: This is a tool that has a server runtime environment, that lets me sketch out the work flows, and then it will automatically generate the code that executes those between the Windows 2000 servers?

MR. McCALL: Exactly right.So a business analyst would define this on the left, they would define, for example, the “receive order” step, the “send to application” step, and then they would also define all these other activities that are occurring as part of this distributed process.

MR. BALLMER: So this is a higher level service skill and tool set that our partners could take, train some people on, and use to automate work they do and make money.

MR. McCALL: Absolutely, with any application, frankly.So here, that when we send this order to ERP system, we’re sending it to Oracle.Okay.Now, as a part of this demo, what we’ll do is, we’ll show how easy it is to add other applications into this process, and then we’ll take a look at the actual process running.Okay.So I’m going to go there.Actually, I’m going to get your help again, go ahead and hit the delete key for me there.Wasn’t that fun?


MR. McCALL: Now what we’re going to do is we’re going to drag a COM component shape here onto our process design surface.Now, when we do that, it’s going to ask us to define this step in the process.So I’m going to define the J.D. Edwards step in the process, and then what it’s going to do is it’s going to ask us what adapter should I use in order to connect into that J.D. Edwards system.

MR. BALLMER: So any COM components that our partners have written can be dragged in and manipulated, and integrated into a BizTalk server workflow?

MR. McCALL: Absolutely right.But, it actually goes beyond just COM components.They can also access, for example, MSN Q-cues, or many other types of systems, internal or external, using the BizTalk messaging services.So here we’ve selected the J.D. Edwards order adapter — let me click next, go with the defaults there.And what it does is, it defines that connection to J.D. Edwards through this adapter.Drag that over there, make this a little easier to see.And then we must connect the actual activity in the business process to that defined adapter.Once again, I’ll just go with the defaults.

And behind the scenes, what it’s going to do is it’s going to automatically handle how the data needs to move back and forth between those activities in the process.So I’m just going to click okay and go with the defaults.And what we’ve done is that we’ve put the J.D. Edwards component in there, and connected the send order to ERP activity in our business process to that application.Then what we must do is we must save this business process, we must rebuild it, because what it’s really doing behind the scenes is that it’s generating an XML-based process description for this integrated process, and that’s what’s actually going to be consumed by the runtime you mentioned, and then executed at runtime.

Okay.So now let’s actually change hats for a moment, and let’s go over to our B-to-C site, and let’s enter a new order, and let’s show this order actually going through the system, including going through J.D. Edwards, going through MCUE, and actually, we’ll pick it in the warehouse as well.So I’m going to log in, and we’re just going to move through this pretty quickly, of course.You’re all familiar, obviously, with placing orders over the Web.

So I’m just going to move through this quickly, I’ll, let’s say, buy some Age of Empires software so that in all my spare time I can play the game, of course.Let’s go to checkout.It’s going to use defaults that are defined in my Microsoft Passport, such as the shipping method I desire, and for example, my credit card number for my Visa and stuff like that.I’m just going to go with the defaults.

And then it gives us an order number — 8009.What’s happening now behind the scenes is that BizTalk is managing sending this message, this document, to all of the back end systems that then must play as part of this distributed process.Okay.So let’s actually jump over now and take a look at this order in J.D. Edwards.Okay.

So I’m going to jump over to the J.D. Edwards system.I’m connecting to a live J.D. Edwards system running on Windows.And I’m going to go into the sales order detail application, and let’s do a query and take a look at the status of order 8009.So I do a find — there’s our order, the Microsoft Age of Empires software, sitting within J.D. Edwards, order number 8009.Now, in addition, the message has also been sent to our warehousing system automatically.Okay.So if we jump over now to the MCUE software here, and I enter the same order number

MR. BALLMER: Now, BizTalk is handling all of the routing of messages to bind, essentially, the new e-commerce application with the old back end application?

MR. McCALL: That’s correct.It’s kind of the hub in the hub and spoke model, if we talk about going back and forth between all those different applications.And BizTalk is making sure that the right data gets sent in the right format to all of those applications, over the right transport, in technical terms.So now we’re looking here at the entry in the MCUE warehousing software.So we see here, Kevin McCall, the person who placed the order, order number 8009, and now what we’re going to do is by clicking “allocate order” it will send the message, once again through BizTalk server, down to a wireless device that’s actually sitting in the warehouse.

So let’s take a look at what we have here.Now, what I’ve got here is a Compaq iPaq wireless device. And in the old days, the way most warehouse processes work is that they print out a bunch of paper that represents a picking ticket, and they walk around the warehouse and they pick goods from the bins, then they scribble on those pieces of paper and bring them back.So what we’re doing here is, we’re enabling completely wireless communication in the warehouse.

So by using this iPaq device, or let’s say a Symbol, or a Telzon, or an Intermec device that people may have used in their warehouses before, then we can send a wireless XML-based document directly to this device in order to give the person who is physically closest to that bin the picking instruction in the warehouse.So I’m going to put that back there.Now, I’m going to come over here and click “allocate order.”When I allocate order, it’s sending the messages back and forth between the right systems to do that.

Now, let’s quickly go over here to the Wolf system and let’s zoom in on the actual iPaq device.And in a few moments, what’s happening is the message is going from a queue through BizTalk server, and it’s being sent wireless down here to this Compaq iPaq device, handling all of the translations, data format translation if necessary, also handling the protocol issues to make sure that it gets down here.So after a few more seconds, as long as we aren’t antagonizing the demo demons, of course, then what we’ll see here is the actual picking instructions show up.

Now, what this will allow the warehouse worker to do is click pick to confirm the pick.So there it is.So there our pick has appeared.And we see here, I hope you can see that okay, here is order number 8009.We see the item that we purchased, quantity one, and we see the bin that we need to pick it from in the warehouse.So now I can click picked, and click done, confirm that pick.And then what’s happening is it’s sending the message back from this wireless device, once again, through BizTalk server to our warehouse management system.So if I wait a few moments and then click refresh, we’ll see that this order has actually been picked in the warehouse.

So there we go.Now it’s back, it’s been updated in the MCUE system.It’s also updated the other relevant applications.Now, the last step that we have here is to actually ship the order.So the goods are now sitting in a staging area in the warehouse, and by clicking “ship” we can then actually perform that shipping process.Now, here it’s displaying the text for us that, for example, might be sent to us over email.So as a consumer, I might receive an email message that says, hey, Kevin, your order has been shipped.If I wish, I can also have a confirmation sent to me over the phone, if I have that in my actual profile for this B-to-C site.

So what we’ve seen so far

and there we go, Steve.There’s our order confirmation.Do you want to do the honors there?


MR. McCALL: Okay.So there’s our confirmation for order 8009.And you may be wondering how that happened.

MR. BALLMER: I really am, because I couldn’t hear a thing on this phone.

MR. McCALL: Okay.The way that happened is that within our orchestrated process, all we did was drop in an activity in that process that said, “call user back,” and we attached that, we bound that to a COM component that’s running, basically, on top of the telephony system that’s included with Windows 2000.So our last step, just to bring this full circle, is we’ll go back to the commerce application that we used to actually enter the order, and let’s check on the status of our order.

So by clicking on the order number we see that, indeed, the order has been shipped.So what’s happened there is as a result of not only picking the order and doing the other steps, the documents flowed back and forth between all the appropriate systems, including the actual commerce system to tell me the order has been shipped, as well as updating, for example, my financial system so, indeed, we can bill the customer for their order.

So, in summary, the BizTalk orchestration environment makes it fundamentally easier to define businesses processes and integrate internal applications, but you can also use it to define business processes that go across organizational boundaries, to integrate with your customers and key suppliers.

MR. BALLMER: Can I ask you a key question, though?

MR. McCALL: I think so.

MR. BALLMER: Does it only work with Windows 2000 servers?

MR. McCALL: Okay.Good question.That process can actually coordinate activities across applications on any platform.

MR. BALLMER: Really?Excellent.Thanks very much, Kevin.

MR. McCALL: Thanks, Steve.

MR. BALLMER: I hope you get something of a sense not only of what is possible, BizTalk Server will be shipping later on this year, but also of our complete focus and dedication to providing you with tools that really help you focus in and take advantage of these e-server opportunities, not only e-commerce, but also the enterprise server opportunities that are out there.

If I shift from the largest organizations and talk now a little bit about some of the smaller organizations, since we do have a number of partners in the house today who do focus in on smaller businesses, we did announce earlier today a new version of our Small Business Server product, Small Business Server 2000.It builds on top of the Windows 2000, SQL 2000 generation of applications.It provides the same kind of great price performance and value that the old release of Small Business Server did, and there is a set of tools here at the Fusion conference for those of you who are interested, that can help you prepare to sell and service this product.

One nice thing in Small Business Server 2000 is we’ve started the process of what I’ll call slightly .NET-izing this product.We’ve built connections in the Small Business Server 2000 product, so that it hooks up and links with our bCentral set of services for Web site hosting for small businesses.So literally, you could prepare for your customer an e-commerce store using the Small Business Server 2000, and then automatically have that posted, and hosted using Site Manager on our bCentral service.

I want to talk a little bit in context of transition to .NET about our strategy for ASP.People ask me, do you like ASPs, do you not like ASPs, what are you doing for ASPs, we don’t hear you loudly enough on the topic, Microsoft.First thing I want to say is, I think there’s a bunch of different categories of ASPs, and we love them all.Some of you guys are ASPs who want to host people’s Web sites, we love you.Some of you are ASPs who want to integrate services from a variety of different partners and customize them and put them on a single bill, what we call aggregator ASPs, we love that.Some of you are people who just want to write software and offer it as an ASP service over the Internet, and we want to support that.

We’ll support ASPs in a variety of ways, but the most important thing short term are the things that build on Windows 2000, SQL 2000, et cetera.And we are announcing here, I’m not going to go through all the details, but a few important things.First thing is, we’re announcing new pricing for our products to ASPs, so that ASPs can license products from us on a per user, per month basis which fits naturally with the business context of many ASPs, and the details for each product are available here at the Fusion show.

Secondly, we’re announcing a number of new tools and new applications to help you ramp up and build out ASP services.We have a process that we’re engaged in with ASPs to be certified, the way we certify other Microsoft solution providers.We’re also announcing partnerships with a number of ISVs who will work with us and with you to offer their applications, people like Great Plains, and Solomon, and Shared Medical Systems, and Pivotal and others who will offer ASP application services which people can integrate.

And last, but not least, we’re certainly open for business, as the first part of the .NET initiative, with our Passport identity service to make it available to ASPs who want to use Passport identities for authenticating users of their ASP services, or the weaker form, they can simply accept Passports from people who have already been authenticated by Microsoft as having valid Passports with valid payment information.

Okay.What I’d like to do now is turn a little bit to .NET.We announced .NET, as I said, about three weeks ago.And people ask the question oftentimes — “What is .NET?Do I really understand .NET?”I think of .NET as our platform for the next generation of the Internet.If DOS was our first generation platform for the microprocessor, and Windows was our second generation platform for the microprocessor, then I might say, IE and IIS were our first generation platform for the Internet, and .NET is our next generation platform for the Internet.

What is .NET?Is it something that comes on a CD, you buy in a box, and you plug in a computer?No..NET is a set of middleware that runs in clients, that runs in servers, that can run in phones, it can run in TVs, it can run on Windows, it will even be able to run on some non-Windows devices.And it has building block services that run out in the Internet cloud.So it’s a piece of software that actually will be integrated with our clients and servers, as well as having instantiations on other platforms and in the cloud.

Secondly, what problems, or what opportunities does the .NET platform address?There are really five of them.Number one, the software business is not going to look the same ten years from now as it looks today.We will not be, none of us, delivering software products in 10 years.All software products will evolve to be a service.You won’t be able to ship, or even to rent somebody a piece of software.Software is going to have to update itself, take care of itself, store stuff on behalf of the user, roam the user’s preferences and favorites.That will be part of the very definition of what software is.

Secondly, in the next generation of the Internet, Web sites will really talk to Web sites.Today the Web is very

it’s a set of islands.It’s hard to make Web sites integrate with one another.But, the transformation of the world from an HTML world to an XML world will allow Web sites to be integrated, Web site to Web site, Web site to consumers, and will enable a set of new scenarios.Suppose you wanted to write an application today that did supply chain management.And it had to talk to a distributor’s system, a dealer’s system, a supplier’s system, how would you do that?It’s very difficult today, because most of those are not exposed in a way in which you can script them, program them, call out to them.

How would you write a B-to-C site today that I’ll call wants to book flights for people, it wants to make a calendar entry on the calendar of the person you’re going to visit.It wants to tell the post office to hold my mail, and it wants to make sure that if my flight is late, the person I’m visiting gets notified.How would you write that application today?Well, most people would say, I’ve got to write all the components, I’m going to write the calendar, I’m going to write the this, I’m going to write the that.Nobody wants that.We need to have a platform that facilitates people writing XML-based services, and then you call the calendar service, you call the notification service, you call the postal service, or at least the service from the postal service.It’s going to get redundant here in a minute.But, you call each of these programmatically and you create a script that actually is

How would you write an application that assembles somebody’s personal financial account?You want to write an application that calls the bank’s Web site, the broker’s Web site, and integrates the information.So the move to XML is incredibly critical.The .NET platform has got to be a platform that supports a range of devices, not just PCs, and not just Microsoft devices.By hook or by crook, we want to get .NET software on devices like the Palm device.Now that’s not because we’re abandoning Pocket PCs, but there will be, as we all know, devices that are important that don’t come from Microsoft.

The .NET platform has to support a new user model, a new user interface.Today’s user interface is not good enough even for the PC.You can’t talk to the computer or the Internet, you can’t have it recognize your voice, your language.The computer has a static interface, and as we add in new devices, as we add in phones and TV sets and other devices, it’s incredibly important that speech and natural language, voice recognition, become a fundamental part of the user interface essentially to the Internet.

And last but certainly not least, we will have a different operations model in the Internet five years from now, 10 years from now, than we do today.Today people still think scale up, put everything on one big mondo server.Then they think scale out.I think that’s the typical mindset amongst most of our customers.I think the mindset of the future is scale out, make sure the database, the application logic, everything can scale out, so that as you want to add reliability or scalability, you just add more single little machines.And so the .NET platform’s middleware is trying to really focus in on those five problems, or those five opportunities, because I think they define what will be the core essence of the next generation of the Internet.

Some people might listen to this and say, hey, Microsoft, did you stop caring about PCs, you care so much about TV and wireless?I still think the PC will be a very important device, 99 percent of all Internet access today comes from a PC.I think the PC will continue to be the most important high-end device.But there’s going to be a lot of little phones and TV sets that talk to the Internet, and we don’t deny that fact.We want to embrace that diversity in addition to the personal computer.

What that gives us is a world that looks like a real network.When you write a program, programs talk to programs inside your company, or inside your client.Programs talk to other programs, go out over the Internet, go notify somebody, call out to the notification service, go authenticate somebody, go tell the Postal Service something, go put together a B-to-B marketplace, call the marketplace for a price on a product.All of these services become essentially public services which can be accessed with appropriate security over the Internet.

This week, we conducted our Professional Developers Conference down in Orlando, we announced a couple of additions to the .NET strategy and platform.The first is the .NET framework.This is a set of secure integrated class libraries that deliver on this .NET platform.We announced the strategy for a common language runtime so that you could write .NET applications in any language.And we announced something called Active Server Pages Plus, which brings the ASP model into sort of compliance with this .NET platform.We had over 100 people announce that they would do .NET language that plug into the common language runtime, and we delivered the alpha release of Visual Studio.NET, which we want to take an opportunity and show you right now.

And I consider really Visual Studio.NET, and BizTalk Server, as the first key ingredients of the .NET strategy.So, let’s please welcome back Kevin McCall.He’s going to show us Visual Studio.NET.



MR. McCALL: Hi.Nice to see you again, Steve.

MR. BALLMER: Yeah.Good to see you.

MR. McCALL: All right.Okay, so, come on over here.

MR. BALLMER: I’ve got to get my water.

MR. McCALL: So, what we’re going to take a look at here, Steve, is the Vista Vacations Web site.Now, this is a place where people can go to plan and book the itineraries for their dream vacations.Now, this site is completely powered by Web services.We built this out of reusable Web service components.And on the back end, what it does is, it utilizes Web services in order to access the airline reservations systems, the hotel reservation systems, rental car, maybe the activities that you may want to pursue at that destination location.

MR. BALLMER: Web services are essentially components that fit in the .NET model?

MR. McCALL: Actually, they can be written in many, many different languages.That’s correct.And they’re essentially reusable components that you can use just like you would use components today with individual studio solutions.

So, for example, I can define a few characteristics of what I’m looking for in my dream vacation.So here, for example, I can tell the system what I’m wanting to escape from, maybe work, possibly, and let’s say that I want to take a skiing vacation.In our sample application, skiing is very popular in July these days here in the U.S.So, I’m going to click escape now, and it takes the parameters that I’ve provided, and it suggests a few possibilities for me.

So, here it’s suggesting Lake Tahoe and Vail as a couple of possible vacations.Now, I’ve been to Lake Tahoe before, and I sure did like it.So let’s say I just want to charge on ahead and take a look at that itinerary.Now, what’s happening on the back end is, it’s using all these Web services in order to build an itinerary for me, down to the hour and minute.I’m not quite as busy as you are, but, you know, I really value my time, and I wanted to take that and suggest a full itinerary for me.

So, I can flip back and forth between all the days in the itinerary now if I wish, but I’m just going to go ahead and move forward to show this.And, at this time, it will present us with the opportunity to select various, maybe tour packages, maybe dining options at that destination.But, once again, I’m just going to move forward to show that we can then book that vacation.

Now, what I want to show, though, is how we can take this existing solution, and we can easily add to it.For example, to add a new capability to this site to present the user with products they may want to purchase in conjunction with planning this dream vacation.So in this case maybe ski gloves, goggles, or maybe those new ski shades you’ve had your eye on for so long.

So, I’m going to jump over here to the Visual development environment.Right, so we are looking at code here.

MR. BALLMER: And this is the code basically for the Vistas Vacations Web sites.

MR. McCALL: We’re going to take a look at that next.


MR. McCALL: Actually what we’re looking at first is, this is an existing component that this organization has.It’s a commerce component that’s used in order to sell products on a B-to-C site today.But what they want to do is, they want to take this existing component, and they want to expose it as a Web service, as a reusable building block in the solution.

Now, by going down into the code here, all I have to do is define that this function, this “browse by category” function, is going to be exposed as a Web service.And the way I do that is, I type in the Web method key word before the “browse by category” function.Now, if I resave this component, and rebuild this component, the Visual Studio.NET environment handles all that plumbing for us to utilize this component now as a reusable Web service.So I might be accessing that internally, I could use that internally as part of the solution, or this might be something that a partner is doing so that I can access it over the Internet.

Okay, so this might be, for example, something that we’re going to expose to someone else.So, now, I can go over

— and before we do so, actually, I can actually go look at the XML that’s been generated by the platform in order to expose this component as a standard Web service.

MR. BALLMER: So, Visual Studio automatically generated the XML for you?

MR. McCALL: That’s correct.So, it generated this service description language, this XML, that allows other applications, okay, development environments running on any platform, essentially, to be able to access and utilize this Web servicenow as a component in a solution.So now let’s jump over, as you suggested earlier, let’s jump over to the actual Vista Vacations Web solution now, and let’s show how easy it is to create a new page that then uses that Web service we just created.So, here I’m looking at the Vista Vacation’s page template, it’s currently blank, of course, because we’re going to add a new page.I’m going to go over here to the Server Explorer.I’m going to expand the resources that are available to me within this development environment, and you’ll see here the Web discovery section.This lists for me all of the Web services that I have access to within Visual Studio.NET development environment at this time.So, I’m going to select the products Web service, the one we just built, and click add to Vista.And what that does, in this situation, is give us a really interesting error.

MR. BALLMER: What might it do for us?

MR. McCALL: Well, what might it do for us, what it normally would do for us is that it would add

MR. BALLMER: Try it again.

MR. McCALL: Well, I’ll try it again, what the heck.Maybe we’ll do it successfully this time.Maybe not.

MR. BALLMER: Maybe not.

MR. McCALL: Okay.Well, this is alpha code, something that we’re giving to our partners and customers today to start taking a look at.

MR. BALLMER: Time is money for this audience.

MR. McCALL: I realize that.And so, basically what it would do at this point is that it would add a reference into our Web solution to that Web service.And then what I could do, and I’ll show you how we would actually wire that up to the Web service, is we can go over to the Web tool box, we can grab a data grid, drag that data grid onto our page, and then by dragging this data grid onto the page, we can then wire this up to the Web service itself.

Now, what this is, is a server side control that automatically generates all the HTML in order to communicate with various browsers that hit this site.And so what I would do at this point, go into the source code, and then basically create an instance of that new Web service.So this would be a little difficult since we did not successfully do that.But basically, at this point, it would list the Web service there among the entire list of components that we have access to.And so, by defining an instance of that new Web service, and then adding in the four other lines of code that are required in order to access that Web service, about five lines of code total, then we could save and then show this actual page.And what it would show for us is the server control, that connects to that Web service in real time.

And so what we’ve mostly shown today is how we can easily take an existing commerce component, and we can expose it as a reusable Web service, and then we can go in here and add a new page to our Visual Studio.NET solution drop a server side control onto that page, and then bind that control to that back end Web service that we just created.

MR. BALLMER: How would I bind

— let’s suppose somebody wanted to create a set of controls I could use or a Web site I could use, how would I discover what properties of that, or what services of that are available to me as a developer?

MR. McCALL: Well, actually a very good question, not only do we generate the XML files that allow us to see specific Web services, but, as a matter of fact, what it’s also done is that it also lists all of the Web services that are now accessible on that computer, and so I, within a development tool on any platform, theoretically, could access this file that tells me what all of the Web services are that are accessible to me on that computer.Then I can select one of them and within that development environment look at the more specific file that we looked at a moment ago.It then allows me to hook into the specific capabilities of that service.

MR. BALLMER: And then you just talk to that via XML and SOAP.

MR. McCALL: Correct.

MR. BALLMER: You’ve generated automatically out of Visual Studio?

MR. McCALL: That’s correct.And we can do it over a number of different protocols.We could do it over HTTP using SOAP, or we could also use

— do that over other Internet standard protocols as well.

MR. BALLMER: Super.Thanks very much.

MR. McCALL: Okay.


MR. BALLMER: Great.I hope you have something of a sense of the role XML will play.The lingua franca for the Internet will become XML.The way in which program will get written, and when I think about the big opportunities around the .NET platform, and in some senses around the ASP model for most people in the room, I actually think about people doing XML-based customization of software services.Many of you write Web sites today, many of you write applications, you customize applications, you install applications.The world will evolve to the point where software may be a service, but the level of customization will, in some senses, increase and the tools for customization will be XML-based tools like Visual Studio.NET, like BizTalk Server, and many, many others, that let you add on, customize and build from services that other people are running, and are making available for customization from your own shops.So, whether you’re an ISV, ASP, we think we have tools that can speed development and deployment.If you’re a systems integrator, XML becomes the basis for services customization.If you’re a hoster or traditional service provider, we can see how you can aggregate services and customize them and sell them.If you’re a hardware manufacturer, some of you do that, we think there’s a range of new devices that are interesting.And, of course, for all of us, the partnerships that we put in place with the backbone providers, the last mile providers, the network operators, those relationships will be absolutely key for our mutual success on the Internet, and particularly with opportunities around the .NET platform.

.NET is easy to see as a source of benefit in the consumer environment, but we see .NET having a big impact inside the enterprise as well.If you think about the applications that businesses write for their employees, those applications have not really become e-commerce sites yet.The data is not available.They’re hard to search.They’re not very self-service oriented, it’s hard to get data out of them and into products like Office.The same tool set will allow people to build internal e-commerce applications, will allow people to transfer data, not as simple text, or things that you have to copy and paste, but you’ll be able to transfer rich, structured XML data out of line of business applications into tools like Excel and others for analysis.For business-to-business applications, I think it’s obvious why you want to have this model of XML-based cooperation of Web sites.

And for business-to-consumer work, particularly with new user interface, we think we can make it easier to find Web sites in the future than it is today.In the world we envision in .NET, any time you get a document, our tools, our browser, will check that document, it will look for words like Steve Ballmer, Microsoft, General Electric, it will recognize those as having a certain form or schema.I see, that’s a company, that’s a person, that’s an address, that’s a date, and they will shell out and give you smart tags to help you find more information.You see the name GE, right click on it, it will recognize it as a company and ask you, do you want to see its financial results, do you want to see recent news about it, do you want to jump to its home page, what is your interest?And by embedding XML deeply into document authoring, browsing, et cetera, every piece of world information can essentially become that much easy to find and discover.

Who is the competition for .NET?Who is the competition in general?It’s the same old same old, Sun, IBM, Oracle, Linux, Novell and AOL.I don’t know who is going to do something like .NET.Nobody is working on that now.It’s not Java.Java sort of competes with XML.I think XML is just going to blow Java over, not as a programming language, but as a tool for interoperability across the Internet.XML is not restricted to a single language.

IBM, IBM embraces XML, but IBM really isn’t deeply involved in many of the user interface issues.Oracle, pretty tough competitor, but, again, not somebody very focused in on the user aspects.

Linux, Linux is certainly a competitor.A small show of hands, how many people are seeing in the last 12 months in corporate accounts increased interest in Linux.Okay, I would say about a third.We certainly see Linux as a competitive threat, but I don’t see the Linux community as in a good position to galvanize bold, new initiatives.There’s a lot of, you know, interesting things coming, they tend to be much more incremental.

Novell, this is the year where competitively, shall we say, I’d like to continue to the progress we have all made against Novell.A small show of hands for how many people in the room would Novell be as much as 15 percent still of your server business?Five percent?

AOL, AOL did not focus in on the software developer.The notion of AOL as a platform would be an alien notion to the company that owns Sports Illustrated, I think.So, in a sense, I think, when AOL bought Time Warner, they were essentially saying, we’re not a software company.We’re a media company.I don’t know whether that will hang true, but it certainly tells you that the thrust of what they’re trying to do is not build assets that software developers take advantage of.And so while they may stay a strong media and advertising property, I’m not sure that they’ll use their software assets to really build up building blocks for identity, for storage, for notification, that become valuable to the kind of people in this room.

So, we have a lot of good competition, and I don’t think anybody is really as far along in thinking through a comprehensive view of this next generation of the Internet.

So, where do we go from here?I think we have a rock solid platform.I feel great about where we are with Windows 2000 on the desktop.I feel great about where we are with our Windows 2000 and line of software for the server.I love the .NET vision, customers, partners that we presented to, they all say what is it, when will we have it, but they all agree that the key ideas that we’re trying to focus in on make a lot of sense.So, I like the vision, I like the platform, I like where we are.So, how do we and you go out together and seize the moment, and make business together?Most of the partners I talk to tell me there’s no lack of demand out there, but, again, most of the partners out there tell me there’s a couple of things we’ve got to work on.

Number one, we need more marketing support for Microsoft and Microsoft products as enterprise, e-commerce players.I talk reliability and availability and tools and e-commerce, you don’t say, keep talking, you say, tell the world the story.I got more beat up this year by partners so far who have been telling me, the products are great, usually I get beat up on the products, this year I’m getting the products look pretty damned good, but come on, Microsoft, get off your butt and tell this story and give us some air cover.We hear that feedback loud and clear, number one.

Number two feedback I get is on the sales front.Many of you have incredibility good relationships with our sales force.Some of you do not.I got that message.Number two, many of you think we have an incredible sales force, and I think you’re right, but you also highlight that sometimes we gravitate to the desktop and infrastructure opportunities in front of the server and line of business and e-commerce applications.Point registered and heard, our sales meeting will be in this very facility next week, job one in my speech a week from Saturday is to burn in people’s brains the importance of going after those server opportunities.What did I show you today?We only showed you tools that really help win those applications.That’s where the heart and soul of the new investment is.And we need to help you and help ourselves win those opportunities.That’s number two.

Number three, you tell us you want more references, and you want more technical detail to explain to customers what other people have done and why it has worked.We formed a whole new group whose only mission in life is to provide that kind of technical content that revolves around real customer design-width.

The fourth thing that we think we’ve heard is that while we’re doing better, you still need more in terms of both MCS and our support organization being there to back you up, to work with you, to help make sure that we have the infrastructure in place to take care of these mission critical design widths.That point is also registered.

So, across the board, these are the things I think we’re hearing from you, that we need to do so that mutually we can even be more successful than we’ve been in the past.I’ve got you, I think our team has you, you’ll be able to score us every day.We know we have to win your ongoing support, and we will work very hard on these issues.

This is an incredibly turbulent time in the industry, and I certainly will tell you, there’s more change and things going on at Microsoft than ever before.And I sort of have been reminded of a scene out of the movie “Annie Hall,” where Woody Allen says:”A relationship is sort of like a shark, it either moves forward or it dies.”

Well, I’ll tell you companies have to sort of be like

— I probably shouldn’t say that word

— sharks.We have to either move forward aggressively, or we die.Don’t be confused, no matter what’s happening in DOJ in DC, no matter how weak sometimes the marketing has looked over the last year, we are not going to die.We’re going to move forward aggressively with you.We’re going to go win business, we’re going to tell this story, and we’re all going to prosper tremendously.

Thank you all very much.