Steve Ballmer Speech Transcript – “Developing Web Applications” Press Briefing

Remarks by Steve Ballmer

“Developing Web Applications” Press Briefing

September 13, 1999, San Francisco, CA

STEVE BALLMER: Thanks, and welcome.It’s our great pleasure to have a chance to spend some time with you this morning, and talk a little bit about where we see the future of application development in the Internet era.This, for me, is a double delight.Our company grew up serving developers.Where we started, I think if you look inside our genetic material, and how we identify ourselves and think about ourselves, and the chance to really talk about the sort of next generation frontier for application development, and the evolution of the way people build applications over the next five to ten years, this is, for me, a very, very exciting time.

I do think it’s important, before I talk specifically about what we want to do and will try to do for developers, to set a bit of a context about what we think the next opportunities are for the computer and communications industries to change the way people live.When I came to Microsoft in 1980, Bill Gates and Paul Allen were talking about a computer on every desk, and in every home, and then there was a strategy for developers that supported that, and a strategy for knowledge workers eventually that supported that.But it started with a view of what was important, a computer on every desk and in every home.

And while here in 1999, it’s certainly not the case that we have a computer on every desk and in every home, although this year there will be over 110 million computers sold worldwide, it’s also true that the fundamental ways in which we will revolutionize our industries, will revolutionize the way people live and work, is broader than this notion of a computer on every desk and in every home.

The personal computer architecture is penetrating the data center.New devices are emerging for the living room, for the pocket, for the car, which change this vision.The Internet is a tool for communications, not only data, but voice and video.The notion of software as a service all affect sort of the view of what’s possible and how important those things will be for the next five to ten years.

So today instead of talking about a computer on every desk and in every home, we pick up on the fundamental value that I think the personal computer has come to represent, the notion of empowerment, the notion of letting an individual or a business do what they want to do; whether it’s to extend their thought capabilities, their communications capabilities, their ability to conduct business, the personal computer has been a tool for empowerment.

But today, we need to talk about empowering people.We’ll mention great software, since we think that’s a fundamental part of our value added.Empowering people through great software any time.This gets to the notion of seven days a week, 24 hours a day.Anyplace.In the living room, in the car, in the home, in the data center.And on any device.Not just personal computers, but sort of a new class of device, which will be important in a variety of different settings.And you’ve seen us embrace this with some of our work on palm-size devices, the work we’re doing with WebTV for the living room, et cetera.So empowerment anytime, anyplace, any device, that’s got to be the view.And the personal computer and the Internet are the fundamental technologies which all of us have to harness to fulfill that kind of a vision.

If you look at the developer community from at least the context of the history that we’ve had a chance to live through, the developers are sort of into the fourth generation of things that they see from us.When I started at Microsoft in 1980, our product line was the basic compiler, the Pascal compiler; the BASIC interpreter, the COBOL product.There was no DOS, there was no Windows, there was no Office.We were a company that grew up providing the tools to developers to put a computer on every desk and in every home.And that changed over time.

One of the great hassles of the early day was dealing with the vast array of PC hardware.Windows came along and abstracted, with an operating system abstraction of the hardware from the application.

Graphical user interfaces changed not only the style of the user interface, but through tools like Visual Basic, changed the very speed and nature with which people built these graphical user interface applications.

Object-oriented programming has been the rage for the last five or six years, and certainly in Windows we’ve introduced core technologies to try to make sure that developers had the tools to do object-oriented programming.

So at every stage in our evolution as a company, we’ve tried to in our core platform provide developers with the tools to seize on the next opportunity.

One of the great issues of today is do developers have all the tools they need to leverage the PC, to leverage new devices, and most specifically to leverage the Internet.And that really is today’s discussion.Today’s discussion is about how Microsoft sees a future in which the tools and capabilities developers have to bring about this vision of empowerment anyplace, anytime, anywhere changes on the Internet and some about the short-term deliverables that we hope to put forward against that vision.

We start from a strong foundation in terms of our position with developers.In the surveys we do, and everybody gets a chance to do their own surveys — I’ll quote ours, because they’re the most extensive that I know about — 91 percent of developers target Windows with their application. 91 percent.

Windows NT Server — and this is an area where we’ve had a lot of sort of discussion — what’s going on with NT Server is it’s still on a ramp-up, where is it going.NT Server is targeted by 73 percent of all developers who target the server with their code.Just a little bit less than developers overall, but still very, very significant.The most commonly targeted server platform.

Today, on the Internet, 25 percent of all sites — a higher percentage of all domains, but 25 percent of all sites run on top of Windows NT Server.We’ve had a significant deficiency in our product line, which gets solved in the Windows 2000 timeframe, which is that Windows has not been a great platform for shared hosting.But that does get addressed in Windows 2000.And that’s the reason why our domain presence has been better than our site presence.

But significantly, 43.5 percent of all of the secure sites on the Internet run on top of Windows NT.And I think secure sites is a better indication of where people are doing professional commerce-type applications.

52 percent of Media Metrix’s top 50 shopping sites, as an example, are built with Windows NT Server.

Our Visual Studio tools, you can look at the numbers, 68 percent of the people using something more than a text editor for Web development use. Our Visual Internet product, C++; and our Java product remain the most popular in the market, and Visual Basic is a rapid application development tool.You can see a list of some of the customers who we’ve worked with on the creation, the development, the building of their Internet commerce sites.

So we come into this with a long history of serving developers, with a focus on giving them the next generation of tools, and a strong position and foundation with the developers.And I think at the same time as I say all that stuff, there a number of question marks — where are we at an inflection point in terms of what developers will do going forward to build Web sites, to build what we call
“Web services,”
which I’ll describe in a minute.And it is important for us — as it would be important for anyone else — trying to empower developers for this next generation of opportunity, to really recognize that fact.

I feel the kind of work we’re doing today is perhaps even more significant to developers than the work which we announced back in 1995, to the first generation of Web site developers and the first generation of Web users.It’s that significant, and we’ll either come through this inflection point with a strong following of this community, or we’ll be in the top shape.So I certainly acknowledge the inflection point, but I’m happy to start from this kind of strong position.

To talk a little bit about some of the experiences, that what I might call current generation Web developers have with our tools and products, I’d like to invite one of our customers up on stage, Dan Nordstrom, who’s President and CEO of Nordstrom.com, which is a Web site that was built with the Microsoft platforms and tools.

Dan Nordstrom.

(Applause.)

DAN NORDSTROM: Morning.Thanks, Steve.

The interesting thing, and obviously some of the reason I’m up here, is that we re-launched in May of 1999 the Nordstrom.com base site.And prior to that, in October of ’98, the site was launched initially, and it was launched on a non-Microsoft platform, which will remain unnamed for today’s presentation, right?Are we clear on that?

STEVE BALLMER: Yeah, I’ll let it remain unnamed.

DAN NORDSTROM: Thanks.And —

STEVE BALLMER: But there’s an event later on.No, I’m teasing.(Laughter.)

DAN NORDSTROM: It’s a small world though.So, at any rate — if you think about that from October when we launched it to the re-launch in May, we made a very quick decision, I think, in a lot of respects, that we needed to get into an environment that was going to take us where we needed to go, and obviously made the choice for Microsoft.

The site, as it stands today, has real-time inventory availability; one of the very few sites — I think less than 20 percent of e-commerce sites, when you go to buy an item, you find out if we’ve actually got it in stock, and you know, you don’t get a message back hours or a day later that says,
“Hey, guess what, sorry, it’s not there.”

We’ve got some very powerful search capabilities today and we’ve got some unique personalization features, which there’s a new one we’re going to walk through in just a second.

This slide pretty much speaks for itself.It talks about the reason that we made the choice. We’re spinning off our business here into subsidiaries, and a whole division is focused on getting this site up and running.It’s simply got to work well.And our viewpoint is that in terms of choice, the innovation cycle for e-commerce sites has been pretty fast, but it’s going to accelerate to just a nearly continuous level over the next three to four years, where we’ve got to be in a position to innovate our ideas, we’ve got to be able to react to our competitors.And between the two of those things, the evolution of features and functionality that we’re going to be presenting to the customer is going to get so fast that we’ve got to have a platform and a tool set which allows us to do things quickly and very efficiently.And we can’t be spending millions of dollars on a major site release, re-release that comes out every eight months or something like that.It’s too bulky and cumbersome, and we’ll get slowly behind if our competitors are able to go much faster.So that’s really the strategic perspective behind our choice.

Now, important point here.I hope everyone’s paying attention to this, fully awake.Nordstromshoes.com is not the world’s biggest online shoe store, it is the biggest shoe store in the world.Not online, period.Does everyone got that clear?I’ll say it again, a couple times, if this helps.The world’s biggest shoe store, period, end of story.And it’s just as a point of perspective the largest land-based shoe stores are probably on the order of 200 to 300,000 pairs of shoes.So we’re clearly into a order of magnitude leap here.

The Nordstrom experience on the Web is — you know, a lot of people talk about that and what is it.I think fundamentally you think about the idea of taking 20 million shoes and getting them exposed to the customer through a computer screen.You know, customer service is a lot of things, but in many respects the most important part is getting the customer exposed to the merchandise they like.And when you think about walking into a store, you’re hit with a huge barrage of options and merchandise offerings which might interest you.On the screen it’s very narrow and today so far it’s especially been very kind of sterile, and there hasn’t been a lot of merchandise that you could really expose the customer to through a screen.

We’ve got a ton of work to do, and quite frankly all of us in e-commerce, especially in apparel, have really just scratched the surface in terms of figuring out how to present customers with offerings which are exciting and interesting to them.

So the future offers us a lot of work associated with how to set things up so that we get you quickly through 20 million shoes down to the small set of things, which you as an individual might be interested in.

Now, there’s a lot of ways of doing that, and we’ve got search capabilities, we’ve got six different parameters of search, so you can search on price, vendor size, color, activity, gender — which hopefully isn’t a big search.So there’s a lot of search availability.We’ve got a couple of different personalization options.Obviously there’s a recommendation agent which is being incorporated, but a lot of our customers are going to come to our site — we kind of consider ourselves the fashion of the late adopters, and one of my ideas is that this coming fourth quarter — in fact, and for the next year, probably most of the business that we do will be with customers who make their first purchase in the next three to four months.So most of these people won’t have been to our site before, but we won’t have cookies on them, and they won’t have a lot of experience getting through the site.So we’ve developed a couple different ways to get them to areas which might get them more quickly associated with merchandise they’re interested in.

This is the first-ever sneak preview of the shoes.com Web site.And this was a big problem back inside Nordstrom — I wasn’t supposed to do this, but they twisted my arm, these Microsoft people.This will be the homepage for the shoe site, and down here you see — this is a tool bar, the search area below down, there’s a lot of options there.I’m going to take Steve real quick through the quiz.Assuming he comes to the shoe site, he’s got very little time, because he is Steve, after all, and he’s busy.And we want to work him through.And we know that Steve —

STEVE BALLMER: This should be the end result.This is my pair of Nordstrom shoes.I hope the personalization gets me to something close.(Laughter.)

DAN NORDSTROM: The only reason I’m here is Steve is a well-known shoe aficionado.(Laughter.)Throughout Seattle, in our stores, they see him coming in all the time.Are those new?

STEVE BALLMER: These are new shoes.

DAN NORDSTROM: They’re good-looking, Steve.

STEVE BALLMER: Thank you.(Laughter.)They were bought yesterday, so I wouldn’t have to take any at Nordstrom.

DAN NORDSTROM: Fine choice.Do they fit?

STEVE BALLMER: They fit wonderfully.

DAN NORDSTROM: They’ll stretch a little in a minute, though.(Laughter.)

Okay, so Steve, this is assuming you’ve never been to our site before, and you’re thinking,
“20 million shoes; how am I going to get where this is the place I want to be.”
And what we’re trying to do is give the customer an opportunity to give us just a little bit of information about themselves, but in a non-threatening and also a non-tech way.You know, most of the sites out there kind of presume that you understand database schema as you go to do your search.We think a lot of our customers, quite frankly, don’t.

So we’re trying to do this in a little bit more of a fun way, and yet still get some information that’s useful to us.This is a good example that the company’s going to get tweaked really fast.In fact, when we go live with this, probably within a week or two, we’re going to come to this thing and start changing it, massaging it, as we learn more about what customers are saying to us, what’s working, what’s not.And so, again, the tool set is vital to be able to make the real time quick changes necessary.

So, Steve, we want to find out a little bit about you.We’re here in San Francisco.It’s always an important question.Right now you relate most strongly to feeling masculine, feminine, both or none of the above.

STEVE BALLMER: My wife likes A, masculine.

DAN NORDSTROM: We’ll go with A.(Laughter.)Okay.

You’d most like to have tea with the Queen, star in an MTV video, run a four-minute mile, be king of the world, or work on your tan?I’m going to eliminate the last one.

STEVE BALLMER: I’d like to run a four-minute mile.

DAN NORDSTROM: Not likely.We’re going to go king of the world, okay?(Laughter.)I think you’re closer there, quite frankly.(Laughter.)Okay.

How do you feel about this, the Red Sox — your portfolio is boring, I know, it’s got about one thing in it.Lounge chair —

STEVE BALLMER: The Red Sox, the Red Sox.

DAN NORDSTROM: The Red Sox are four games back, by the way; it’s getting very interesting.

Okay.Lunch with Kenny from South Park, Steffi, Bond — that’s an easy one.

STEVE BALLMER: Bond; James, Bond.

DAN NORDSTROM: All guys want to have lunch with James Bond.Sean Connery, not Pierce Brosnan.(Laughter.)

Okay.

DAN NORDSTROM: Now, so five questions.We know now you are clearly — you’re a Wall Street guy, so we’re now going to take you from the 20 million shoes into — oh, there we go.So we’ve narrowed you down into a set of products which should be relevant to what you’re looking for.Also, if you’re buying something for someone else, this allows the person who hasn’t been cookied or is cookied on their own machine to get at some products that’s for someone else.They have sports enthusiasts, they can answer those types of questions.

So clearly here we’ve got the business shoes.These are related items, and here’s nine different items.If you don’t like those, you can pull these back and forth; these move around.We’ve got alternate views, 3D views, color views, larger views, spinning, flashing, moving around.A bit of advice; this is interesting.This allows to tell you if this shoe fits a little bit full or small relative to your size.Once we know what your size is for any shoe, we’ll create kind of a metasize and then correlate back — if a shoe’s running small or large, we’ll let you know,
“Hey, go up a size, go down a size.”
So just a lot of shoe functionality that through our experience, which is about 98 years of selling shoes, we’ll think we’ll help people get in and figure out the shoes that are right for them.Okay?

STEVE BALLMER: Looks good.Thanks, Dan.

DAN NORDSTROM: Thanks, Steve.

(Applause.)

STEVE BALLMER: Not only is Nordstrom getting a lot of experience trying to put up a Web site, understand what it takes, roll out new services and do that super quickly and super effectively, it’s important for us to have the kind of deep relationship that we have with Nordstrom, that we have with Marks and Spencer, who you’ll hear from later, from Dell and from others, to really understand what it is developers want for this next generation; how do you represent apparel, how do you roll out these services quickly, how do you give people the right kind of personalized experience.

So we’re going to talk some about those issues, sort of in the context of the kind of what I’d call state of the art sites that Nordstrom is doing today.

If I was trying to put the world in perspective from an Internet development point of view, and an Internet evolution point of view, I’d say we’re entering the third generation of the Internet.The first generation of the Internet I’d call the generation that nobody except a limited set of techies was interested in.That was the generation where TCP/IP and FTP and Gopher were the important things.It was mostly about connectivity.It hadn’t been opened up really to end-users yet.That was generation one.

Generation two, which I think we could all agree started about five, six years ago, five years ago, really is the generation of presentation.It’s the generation of browsers and Web pages.Content, maybe static, maybe a little bit more dynamic that people would look at, they would browse, they would consume, but it was a fairly fixed form world.Dan and the folks at Nordstrom are doing a lot in their site to provide a level of personalization, et cetera.But the Web in that world is still only as good as the specific work of a developer at Nordstrom or a developer at Marks and Spencer, whoever the Web site developer might be.

In this third generation of the Internet, I think developers become even more critical.And instead of just talking about presentation, we really start to talk about software as a service, we start to talk about Web sites which are themselves programmable.I will program the Nordstrom Web site — me personally.Somebody will have Web sites which are essentially in the old world like reusable objects, which my code will talk to, because those are programmable.

I really do think we’ll think of this as the third generation for the Internet.Generation one I think fairly could be characterized as the generation of connectivity, not not much accessibility to the Internet to end-users, no user interface, no simple ways for developers to bring up services.

And the second generation, which started in ’94 sort of with the modern era of the browsers, I think we’d call that maybe the presentation area.Websites do have code in them, there’s no doubt.They do some interesting things.But it’s still primarily a generation in which the easy thing to do and the most common thing to do is to write an application that generates an HTML page and sends that page down.And from a user experience standpoint, it’s a generation in which people simply browse the Web.

Individuals, small businesses, they don’t program the Web, they don’t customize the Web in a programmability sense, the same way end users even can customize something like Microsoft Office with their own macros, with their own codes, with their own filters.

This third-generation, which I think we are entering now, and I’m sure will last at least five years, is a generation in which people will program the Web, they will customize it for themselves.Developers will use services that other developer’s websites provide:tax calculation, authentication, whatever the case may be.It’s a generation in which the technology from a developer’s standpoint has to enable software to be a service.Software itself will metamorphose, and software certainly cannot metamorphose in today’s environment of monolithic server code speaking HTML down, or browse-able Web pages down to an end-user.

I think this change for developers will incredibly important over the next four or five years.How we think about Web sites, what they do for us, what my business control is, what my personal control is over the Internet will evolve very, very dramatically.

Let me give you a few examples that make this clear.First, an example from the consumer world, people looking to manage their money.Today, my bank has a Web site, my broker has a Web site, my insurance company has a Web site, and they’re all as rich and wonderful as those people know how to make it.And I can drag their links together.I might be able to do a little bit more than that.But no one can create for me my personal integrated Web site.But if my bank and if my brokerage and if my insurance company weren’t just serving up HTML, if they could develop Web site that could pass along higher order constructs — and XML, of course, is the answer — then I could actually program against their Web site, I could write code that used their Web site — whether it’s on a server or a client, I would be exercising them as what we might call
“Web services.”

In this generation that I talked about of new devices this is critically important.My cell phone does not want HTML.It doesn’t want browse-able Web pages coming down from the server.I want to have a little program that customizes the semantics of what’s up on that Web site, and displays it in an appropriate form, whether that’s voice or one-line display, or whatever it may be.

And so I need to essentially in this case is to be the device builder, I need to program against those Web sites.I want to program the calendar to come down in the appropriate form.

And one user might have a different view that they want than another user.So I may want to provide some extensibility to the users themselves.

Take businesses that are trying to reengineer their supply chain — the way Nordstrom is, the way Marks and Spencer is.I may well want to speak to other services that live out on the Internet.My Web site wants to talk to in a programmatic sense the FedEx Web site, the Fingerhut Web site, the UPS Web site.I want to program it.I don’t want to just do an EDI transaction; I don’t want to just look at a Web page.I want to actually have my Web site program their Web site in an integrated supply chain.

Take developers who might want to build special new dedicated services which they sell to other developers the way people have sold VB controls and ActiveX controls in the past.I might have a service that is the definitive service in computing sales tax.And instead of every commerce Web site running its own or implementing its own sales tax calculation, I just want to talk to the sales tax server, and I want to program it.Or the credit card authorization, or an authentication service.

So these become Web sites that are also programmable by other third-party applications on the Web.And you can see the interest for device makers, for consumers, for businesses and for developers — would all exercise this capability I think in a fairly rich way.

It’s a hard concept to get, but I think it’s essential.So we thought we would do a little bit of demonstration on how you might even as an end user want to program other people’s Web sites.So I invite to join me Vic Gundotra from our developer group.Vic is going to demonstrate for you how you might get client-side programmability of Web sites, or so-called Web services.Vic?

VIC GUNDOTRA :Thanks, Steve.You know what, Steve mentioned we really do believe we are seeing this next generation of the Internet, this next evolutionary advance, where we go from just being able to browse the Web to programming the Web.

Now, this illustrative prototype that I am about to show you is designed to show you what happens when Web sites are transformed into programmable services, into these building blocks that Steve was talking about, so that they can be aggregated, composed into new kinds of exciting applications.

Now, what you are looking at upon the screen should be very familiar to most folks.This is Microsoft Outlook.This is the Outlook today — it is a combined view onto my mailbox and my calendar.It should look pretty typical, with one exception —

STEVE BALLMER: This is the new Outlook 2000, to people who haven’t upgraded.(Laughter.)

VIC GUNDOTRA :Okay.If you notice here with Outlook 2000, in the right-hand corner here I customized it with a little bit of code.You see here where it says
“gift”
— let me tell you what’s going on here.We bring a little bit of code that goes forward about a month and a half and looks on your calendar — in this case my calendar — for any special event — a birthday, an anniversary.And if it finds those events it puts them in red right here.You can see I’ve got my wedding anniversary coming right up here, a few other special events.And underneath that there is a button that says,
“purchase gift.”
When I click
“purchase gift”

STEVE BALLMER: This is code that has been created on the client —

VIC GUNDOTRA :That’s exactly right.

STEVE BALLMER: And it speaks I guess XML then out the back sides?

VIC GUNDOTRA :Well, that’s right.We are programming the Microsoft Outlook product.

STEVE BALLMER: Okay.

VIC GUNDOTRA :Now, what you are looking at here is a continuation of a customization of Microsoft Outlook that allows me to go ahead and purchase a gift for that special occasion.You can see here I’ve got the Pier 1 Web site, I’ve got the Sharper Image catalogue, and as I click through I’m literally looking through the catalogue for Pier 1.

Now, you’re probably asking the question, Now, how in the world is Microsoft Outlook able to see the catalogue of Pier 1?Well, this conceptual demo is showing a world where Pier 1 has exposed their catalogue, using XML, in a programmable way.It’s a Web service.And then any application — in this case Microsoft Outlook — aggregates that service into really a custom application.

Now, I don’t want to search through the hundred of thousands of items in the Pier 1 catalogue.I am trying to buy a gift for my wife for our anniversary.So I am going to use the power of the client to filter — to scope.Note I can scope on multiple categories.So here’s jewelry — since that seemed to be a topic of discussion this morning, I’ll choose jewelry, and see if I can buy my wife some gift she might enjoy.And now instead of looking at a hundred thousand items, I am just looking at the four items that Pier 1 has that relate to jewelry.

And also note that the Sharper Image catalogue is scoped as well.I didn’t really know that a Navy field watch was considered jewelry, but apparently it is.

Now, I am not sure buying any of those gifts would be considered a net positive for my wife for our anniversary gift.So I am trying to think of what to do.Now, I know her favorite store is Nordstrom.So I could bring up the Nordstrom Web site, and of course I could browse the site, I could go against that site and go shopping the old-fashioned way, which is fine.But in this new conceptual world the Nordstrom site is a programmable service, and I want to add it to my Microsoft Outlook little application here.Because the operating system understands this concept, watch carefully.Watch what I can do.I can simply drag and drop the Nordstrom Web site right into Microsoft Outlook.And Windows can go out and read those services.And now if I look at Microsoft Outlook, note that Nordstrom has been added to my list.I can browse through the items in the catalogue.And note that they have been automatically scoped right to jewelry.So I’ll go down through here — here’s a pearl necklace — I know my wife has been asking for one.I’ll go ahead and add that.

Now, when I click
“send”
or
“purchase,”
a couple of things are going to happen.Obviously we are going to go out to Nordstrom and we are going to drive that site to go and execute the order.But we are also going to use the Microsoft Passport service to validate ourselves on the Internet as a legitimate user with a billable credit card, and pass that information to Nordstrom.So when I —

STEVE BALLMER: The Passport service is another one of these programmable services that you — now this you — or Nordstrom as a developer can use out on the Internet.

VIC GUNDOTRA :That’s exactly right.We stitch together these services.Nordstrom and Passport brought them together.Now, when I click
“send”
here, you will see that we are going to go ahead and drive the Microsoft Passport service, go out to Nordstrom, execute the order.That’s it. It’s that simple.That’s pretty powerful, the idea to aggregate and stitch together sites.

VIC GUNDOTRA :What this shows was the power and the capability you have if the operating system equally understands that the Web is a programmable resource, and what you can do to stitch these services together.The demonstration I just showed you was with a retail shopping site like Nordstrom.But Steve talked about another example, the ability to drive a brokerage site for example to execute an order to buy a stock if it hits a certain price.Now, of course I can do that today.I can go to a brokerage Web site and do that.But here’s something I can’t do today:I can’t say that if I purchase that stock to also go to my Wells Fargo bank account, take the money and wire transfer it to my brokerage firm.Yet using the power of a programmable Web, I can write a few lines of code that stitch together my brokerage and the ability to drive my checking account, and bring them together.

Now what you’re looking at on my screen here is our next generation, a prototype of a next generation tool set that allows me to build what we’ve been talking about.

Now, if you’ve ever used our tool set, this should look familiar, with once again one minor exception.Take a look at this thing over here on the right-hand side.What I’m looking at is a list of programmable Web services that I can code against.So you note here I have Wells Fargo.I’ve got Merrill Lynch.I’ve got the Passport service.You saw me with Pier 1 just a little bit earlier.And I can start programming against that.

Now, this is a different machine that we just got up, and so now the question is, how do I program Nordstrom against this development environment?Well, once again, I’ll go to Nordstrom and I’ll do exactly what I did earlier.I simply drag and drop that into our development environment, and using the power of XML, I’ll bring the programmable services of Nordstrom right down into my tools and show–

STEVE BALLMER: So all of the higher-level services that Nordstrom might want to export — here’s my catalogue, here’s order status — whatever would make sense for Nordstrom to export is available for customization.

To me, the most obvious case of this is the change that you should expect to see in financial services.Nobody has one financial services provider, despite the fact every financial services company wants to be a one-stop shop.Every end user is left with the challenge of amalgamating.And there will be a business providing software that runs on the client that programs the Web to pull this together.I think of this as sort of partly the next generation for products like Microsoft Money, for Quicken.It has to be to provide end-user customizable programming of the Web.

VIC GUNDOTRA :Exactly.Now, take a look.The key point to take away here is, what happens when the tools intrinsically understand the Web is programmable?You saw the drag-and-drop.But let me go ahead and start coding.I’m going to define the variable by catalogue as new.And note that the IntelliSense capability, the next-generation tool set, can see that the Nordstrom site is programmable.So I’ll go ahead and choose
“Browse Catalogue,”
and I’ll start programming that.In this case, I want to purchase — jewelry, I think, seems to be the word of the day.
“Jewelry, purchase one item.”
Note that it brings me — it scopes it right down to the items I’m interested in.How about the pearl necklace?Return.

Now, with a single line of code, much of which the tool wrote for me, I was able to programmatically drive that Nordstrom Web site.And, of course, this is how we built that earlier demo that you just saw in Microsoft Outlook.

So to reiterate the points here, you get to see the power of what happens when the operating system deeply understands XML and understands the Web is a programmable resource.So we could enable drag-and-drop assembly of applications.

Number two, we’ve given you a hint of the sea of programmable services that we expect to see and that these services will be aggregated into new kinds of exciting applications that we haven’t even anticipated yet.And then finally, what you’re seeing here is the combination of a platform and tools that make this world easy.Hopefully you can see why we’re so excited about this new world where we will be able to program the Web.

Thank you.

(Applause.)

STEVE BALLMER: Thanks, Vic.To make this vision of the Internet possible for developers does require some fundamental advances in a number of different areas.I want to highlight those areas conceptually, talk about what we think needs to happen, and then some announcements that we’re making in the short term to try to pay off on this vision.

We need to extend the programming model of today for this new world.I want to talk about that.We need an operations model for managing and deploying both server side code as well as client codes that make sense for this kind of world.We need a new generation of rapid-application development tools that facilitates the programming of these kinds of services.

We need a third-party development community to spring up to do these Web services as reusable building blocks for other developers in, let me say, the modern incarnation of the VB control.And we need a set of tools and a set of standard schema that allows you to stitch together business processes that call on these different Web sites and independent services to put together a custom solution for a given business process or customer.

Let me start with the programming model.If it wasn’t clear in the conversation Vic and I were having, a fundamental issue here is XML everywhere.XML is just essential.IE is the first browser to support XML.We have XML extensions in Office today.You’ll see that in Windows 2000 we’ve built in a very fast native XML parser.SQL Server, the next edition we’ll talk about, it supports XML everywhere.XML is really the critical foundation.I think if we think back to the later part of the 1990s and say,
“What was the fundamental sort of “secret sauce” that advanced the development community?”
I think everybody will lock in on the fact that it was XML.

With XML comes a change in the programming model to be very much message-based.The Internet today is fundamentally a message-based system.You send a message to somebody.They send you something back.That’s the nature of communications on the Internet.And it’s important that the programming model really sort of adopts this native style of communication on the Internet.

The notion of old-style components and these new-style services need to integrate together and be one.We need to unify the programming model so the components and services are similar and you send messages everywhere.We need to have these applications work the same way and be developed the same way, client and server, whether that’s for the case where you want to develop some kind of rich client-based application like the one that Vic showed you, or you simply want to take an application and run it off-line on a laptop.

And all of this, we think, is best done by extending and building off of the code that people currently have.I think it would be crazy to try to force people to rewrite everything completely from scratch, completely new languages, new tools.So how do you expand existing code to evidence these services and be able to be wrapped and packaged and used in these ways?So that’s number one.The programming model needs to be extended.

Number two, we need to have an operations environment that really makes sense.We really are talking about a world in which all software is a service, all Web sites are services.And in that world, there needs to be an operational model in which development and delivery of new functionality is very continuous.I mean, Dan was talking about how often they think they need to update the Nordstrom Web site.

Think about a model in which you’re doing that and you have a bunch of people who are talking to you and communicating with you and using you as a service, so you’re not entirely the master of your own environment.It’s important that the operational model encompass that.The platform has to have the operations baked in — the scalability, the manageability, the reliability, the availability, et cetera.

The model of the future for — the operational model for servers and services on the Internet will be not so much scaling up as what we call scaling out.What you really want to be able to do on the Internet as you build these services is just keep throwing more hardware at the problem.You need more scale, you add more machines.You don’t want to have to worry about redoing the entire system on another big mega-machine.You don’t want to design services that have big single points of failure, so that if one part of the system goes down, the whole Web site or Web service is down.And the applications programming model has to take that into effect.

Today’s application programming model drives people to have single, big, back-end systems.And the applications programming model has to evolve to support this new style of operation model.It also has to evolve, though, so that developers can support automatic client installation.I don’t believe we’re at the end of client side code.The application I showed or Vic showed involved rich client side code.

The key isn’t to say that client code goes away.The key is to make sure that the installation of any client side code is automatic or, frankly, any code that other Web sites or Web services that depend on you, is automatic.So we’re really talking about applications which are able to automatically update themselves, server to server or server to client.

Next-generation rapid application development tools; they have to let you easily use the kind of Web services that we talked about, but also to build those services.How can I export in my application the XML data about my catalogue?Do the tools make that easy?Do the tools really unify today’s notions of objects and this new programming model notion of messages?Do the programming tools make most of this automatic for me?Do they let me deploy my code to a client, to a new device, or to a service out in the Internet?

Do we provide tools that what you stitch together, these new Web services, so that programming the Web becomes almost a graphical drag-and-drop exercise?Take this Web site’s output, and on this condition put it here for me.Do we let you work in any language or not?That’ll be important, I think, since a lot of code and a lot of developers grew up in one mode or another — in C, in Java, in Basic.All of those tools have to come along to this new world.

There will be these third-party services that exist as independent building blocks that are reusable and that allow you to aggregate the work of multiple services together.This is the one I think it’s toughest to understand, because it’s hard to explain a business model.Today you could sell somebody a set of development components.They buy them from you.They put them in their application, and you know what the business model is.

But if I want to have a service that, for example, does sales tax calculations, how do I charge every E-commerce site for that service?I think the question on that is quite open, because the end user may never see my sales tax calculation service.I can’t rely on advertising.I have to have a business model that makes sense.But in the meantime, I think those kinds of services will be developed.And certainly, as I’ll discuss in a minute, here at Microsoft we’re making a big investment in this area.

Business process integration is the fifth element.It has to be easy to sketch out scenarios that put together a whole business chain using these Web services.We’ve talked about our technology, and we’ll talk some more today about Biz Talk.But essentially, how does supplier A share what we call a document in the Biz Talk case with the planning department in my company?How do I make — if I’m a manufacturer and I have perhaps a supply chain that’s six levels deep, as is true in the automotive industry, how does supplier A’s Web site talk to supplier B, talk to supplier C, et cetera, all the way down to Ford or GM or whoever may be building the car?

How does that Web site that does the supply chain planning talk to my own Web site that is doing the on-line order entry for customers or for customer service?You want standard schema or standard definitions that let these things talk with one another.And we’ll later on have a chance to talk about the fact that through our independent organization, BizTalk.org, there are already over 100 different schema that people have published to propose standards for the way applications communicate with one another over XML.On top of that, you want to provide, as I said, the tools that let you stitch and drag and drop and plug these systems together.

That’s the framework, five things — extended programming model, friction-free operations environment, new rapid application development tools, business process integration, and new reusable services.I don’t think we’re going to fulfill this vision or anybody will fulfill the vision for all of the pieces that are necessary in the next year or two years.But we’re pretty proud of the range of things which we’ll bring to market over the course of the next 15 months or so to help fulfill this vision.

Our technology that lets you program the Web, we call an aggregate Windows DNA services.And there are servers that run on top of that and implement this Windows D & A services vision.Windows 2000 is the base.It includes built-in programming models and application services that instantiate this notion of programming the Web.SQL Server 2000, the next generation — I don’t know exactly what we’ll call it, but 2000 seemed a convenient name — will include the basic support for XML that is necessary.

Next year we’ll introduce a product that we call the Application Center Server.It provides a server for management, so you really can have an environment that allows for friction-free operations at the data center level.To get business process integration, we have a new product we’ll bring to market next year that provides host integration services, along with the Biz Talk server that actually lets you do the graphical programming and creation of these kinds of business process applications.We’ll ship the next generation of our commerce server product which instantiates the right XML and makes it easy as a set of building blocks to create these applications.

And last, but certainly not least, we will introduce the first of our so-called mega-services.Bill Gates has been talking for a number of years about mega-services.Mega-services are Microsoft’s reusable building blocks on the Web or reusable Web services for creating this style of application.Paul Maritz who will talk after me, is going to talk more about the application center server.He’s going to talk more about where we are at Biz Talk.He’s going to show you a little bit more about the commerce server.So we’re going to have a chance to go through all of these topics in some depth between my talk and Paul’s.But there’s something new coming on every dimension relative to this vision of Web services, programming the Web, and software as a service.

I want to talk a little bit about Windows 2000 in this context.Release candidate 2 of Windows 2000 will be available on Wednesday of this week.We are making progress now towards the final shipment of Windows 2000 and feel pretty good about Release candidate two, which, as I said, will be available this week.

Windows 2000 is important because it starts to instantiate the extended programming model.It has the integrated high-performance XML parser I talked about.It includes the Windows DNA application services; rich, reliable message delivery; the right kind of transaction service against those messages and those objects inside the system.

We’ve had Windows 2000 quite broadly in the hands of developers.There are over 1,000 applications tested and ready to ship on Win 2000, and we think we’ll have about 2,700 Web sites live, using Windows 2000, when it becomes available.Windows 2000 is also important because it’s the foundation for friction-free operations.From a security standpoint, it includes the Kerberos and public key infrastructure required from a scalability, standpoint, symmetric multi-processing and an extended memory architecture.

Manageability and reliability, though, are perhaps the two biggest steps forward for friction-free operation.The active directory, the IntelliMirror technology for client code installation, the new installer are all important.From a reliability standpoint, the clustering technologies and the load-balancing technologies built into Windows 2000 are important.And then the AppCenter server, which Paul will talk about, will add component-level load balancing next year.And last but not least, I think we’ve started to see some very strong benchmark data on the quality of the services that’ll be built into Windows 2000.

Part of what I get the pleasure to announce today is, in fact, the mega-services strategy for Microsoft.Our first mega-service we call Passport.It provides a set of services on the Internet that lets you do authentication and gives you the wallet capability to buy something.So if you’re Nordstrom or you’re Marks and Spencer, you can call us and ask us to do the authentication of a user and ask us to take care of the payment processing for that user.But we see a long list of mega-services to come.Promotion on the Web will be an important mega-service that we can offer to other Web sites.We have some experience in this area with our link exchange service on the Internet.

Instant notification.Every financial services company would love to have a standard notification service on the Internet that will get you a piece of information exactly when you want it — instantaneously.Community services.Why is it that every Web site has to write its own community code or run its own community server?Why not have a way to have communities be programmable so that perhaps eBay’s community or Nordstrom’s community can essentially call out to a standard community service on the Internet?

Software delivery:the reliable delivery of code will be another mega-service that we look to offer on the Internet.I don’t think we will be the only deliverer of these standard reusable building blocks.Other companies will do that as well, but we have a fairly extensive plan to go forward and do that, starting with Passport.Our Passport site has no user interface.We only launched it in May of this year.And by July, our Passport site, according to Media Metrics, it was already the 14th most popular site, as measured by visits, on the Internet.No user interface, nothing, but the traffic that’s just generated, it serves the needs of other websites.Initially on other Microsoft Web sites, but now increasingly on other third-party Web sites. It’s pretty amazing.

Before I ask Mike Yorwerth from Marks and Spencer to come out and talk a little bit about their experience with Business Talk, BizTalk, I do want to emphasize one other thing that we’ll have a chance to share with you in Paul’s speech, and that’s some of the next generation of our RAD tools.Paul’s going to do a little sneak preview of Visual Studio 7 to help capture some of that fundamental building block of our strategy.

To talk a little bit more about BizTalk and their experiences, please join me in welcoming Mike Yorwerth, Project Manager of IT Shared Services at Marks and Spencer; a great Microsoft customer.I was sharing with Mike my first visit to Marks and Spencer.They took me down as part of my sales call on them to their flagship store on Oxford Street in London.And I don’t remember the precise numbers, but at the time, it was said, they were doing about 300 million pounds of business a year, I think they told me, out of the Oxford Street store.That is a store.That’s incredible, those kind of numbers; 300 million pounds out of one store.

And they wanted me there at noon.Noon!Okay, I could arrange my schedule to be there anytime, so I was there at noon.Why did they want me there at noon?They wanted me to sit and watch people go through the checkout in the busiest store in the world at noon and let me know that if our software ever caused those checkout lines to back up, they’d come hunting for me.The fact that Mike is here today is not a sign that they’re hunting for me, but it is a sign of a rich relationship, built around us providing mission critical building blocks to Marks and Spencer.And I’ll let Mike talk to you a little bit about their system and how it uses BizTalk.Mike.

(Applause.)

MIKE YORWERTH: Thanks, Steve.

As Steve said, I’m going to talk a bit about how Marks and Spencer are using BizTalk service to help resolve a number of issues facing us.Although M & S is a household name across the Atlantic, you may not be aware of it, so I’ll just give you a quick overview.We are the UK’s leading retailer in general merchandise, foods and financial services.We have over 500 stores worldwide, including King’s Supermarkets in New Jersey, and Brooks Brothers, across the U.S.

Our annual revenues are over $13 billion, with profitability historically at 15 percent.However, last year it fell to half that, due to a number of factors, including intense competition across Europe, a lack of comprehensive customer information, and new selling channels such as the Internet.

We’d recognized that we needed a global supply chain to compete, and radical changes in the way we use information throughout the company.

To create this, we will manage new richer information more quickly than today, optimize our stock management, and be more responsive to our retail business.

I’ll cover each of these in turn.

Firstly, managing information.We need to maximize the availability of our information throughout our business.The variety, volume and frequency of that information is increasing.Using BizTalk, we are changing the way that sales information is being delivered to central systems.Rather than aggregating sales and transferring these back to the center overnight, we will pass sales as they happen to the central systems that can act upon them.We will use the same technology to transfer event-driven information out to our stores, such as short-term promotions or red alerts.On the Internet side, we will use BizTalk to link our customer web sales into our existing back-end systems, and ultimately through to our suppliers.

Secondly, optimizing stock management.We will improve our product availability, whilst reducing costs by passing sales information in near real-time to our suppliers, so that they can change what they manufacture and what they distribute.BizTalk will, over time, replace our existing batch EDI links to our 500-plus supply chain.

Thirdly, being more responsive to our business.Internally we will leverage our existing application developments by using BizTalk to enable true application cooperation and business process integration.

So here’s a quick schematic of the initial implementation of BizTalk in Marks and Spencer.On the left we have the stores, in the middle essential Windows 2000 environment, and on the right our end application systems on both IBM System 390 and Windows NT.

As sales occur in store, sales transactions get recorded on a SQL database, running on Windows NT 4, using ICL’s global store platform.

Using an in-house utility, sales transactions will be copied from the database, converted into BizTalk XML and pushed into MSMQ in the store; then over our network into the center.

Sales from all 300 UK stores will come into the center in near real-time in the same way, and be fed into BizTalk Server, where BizTalk will look at the contents of the data, transform and parse as necessary, and route the appropriate destination applications on disparate platforms.This will handle at peak 250 transactions per second, which translates into half a billion customer transactions per year.

So, in this way, we will get customer data in native format.The food supply chain application will get data via the Microsoft MSMQ MQ Series Bridge.And promotions and shopping cart analysis will get data through MSMQ in XML format.

This enables the applications to use the data they need at the time they need it.This central environment will be used for data transfer out to stores and later on in the project to our distribution centers and suppliers; ultimately becoming the information backbone fort the company.

So why did we choose BizTalk?Three reasons.Firstly and most importantly, the principles behind the BizTalk framework, industry standard XML, and the opportunity to avoid writing custom interfaces between each of our applications.

Secondly, the BizTalk server product architecture, and its use of core products, such as MSMQ, SQL Server and MTS.

And thirdly, its seamless integration into our strategic architecture based on Microsoft Windows and IBM System 390.

As you can see, this is fundamental to our business going forward, so we can be really flexible to respond to our customers’ needs.With this project underway, the future for Marks and Spencer looks very exciting.

(Applause.)

STEVE BALLMER: Thanks, Mike.

With the potential next step of making this Web site, which would not be hard, given the architecture that Marks and Spencer has in place, programmable to others on the Web, this is an excellent example of a lot of the key points I’ve made.It uses the next generation, or at least the start of the next generation programming service.It is message-based, and XML based.It takes advantage of standard BizTalk schema, and uses the BizTalk server to help put together the business processes.It takes advantage of the rich host integration services, which are also required for business process integration.And, of course, the operation environment here has to be increasingly friction free.

Where we are today, and I know the pressure we get from Mike and the folks at Marks and Spencer, is to be more and more friction free as we proceed.

The other thing that will change in this world of Web services and programming the Web is business models.A lot has been made of the move to hosting and hosted applications, which is certainly very much squarely in the target of this new model that we propose for developers.The opportunities in this space will be large and broad.You can run a mega-service, as we do in Passport.That is a service which other applications and other ASPs and ISPs can call.

There will be people who host the platform, as people host, for example, our commerce platform– we work with MCI Worldcom, Digex and others, who have efforts underway today to provide hosted e-commerce services — our platform, including the commerce server, for the customers they serve.

You’ll have people like GTE, who is already working with us, hosting business partner networks.This is this notion of supply chain and providing a level of security and interchange that you wouldn’t get if those things all lived out in the Internet in a less managed form.

You’ll have people who want to run hosted servers, where services where they get to market very quickly by using existing code.Companies like Future Link are already in the market doing that today with the Windows Terminal Server, offering a set of services that let you run any Windows application, whether it’s Microsoft Office or a tax package you might run once a year, as a hosted service in the Internet.

There are companies like Excellence which will offer messaging and knowledge management services, outsourcing e-mail, collaboration for large, medium and small companies.You have people in the marketplace like CenterBeam, which want to offer total managed software services:I will manage everything in your infrastructure — your servers, your clients — from a central server.You have people who want like WebJump — they own about seven or eight percent of the sites on the Internet.They are a Web hoster.They work very largely on NT, and offer base-level hosting services.And then ISVs like Great Plains and SAP and hundreds more who will work through hosters like Qwest, who will run their total application pool on NT and the Web.Each one of these will have a different business model.Each one of these business models I think will be fundamentally affected by the new programmability in the Web, this new notion of Web services and software existing as a service.

Our job at Microsoft is to make sure that the platform that we provide, the platform that delivers on this vision of Web services, is a platform which can be hosted in one place, like a mega-service; can be hosted in many places, like the kinds of partnerships that we have with the companies on this slide; or it can be hosted on a corporate intranet for applications that live entirely within a single corporate environment.And we will really push to be a leader in this environment, making sure there’s hosted Windows Desktop services, Office services, Exchange services, et cetera.And those will run in a variety of different forms, but will leverage the new programming model and new development technique that I had a chance to talk about today.

The new vision and a set of fundamentals that support it — the extended programming model, which we are talking today and supporting today with the Windows DNA services, with XML and with the advances to Windows itself; friction-free operations, which technologies and new products like the AppCenter server and IntelliMirror support; next generation RAD tools that will give you a preview — not announcing it — we’ll give you a little preview of Visual Studio 7, services as building blocks — I talked about Passport and our mega services strategy and business process integration, where we have had a chance to talk about our commerce server.We’ll update you on BizTalk and show you some of the host integration facilities that are provided.

The key is this new generation of Web services.Software led to the service.The Web becomes programmable.And that’s really the next frontier for developers — how do you take any piece of software and make it a manageable, deployable, programmable service on the Web — how do you do that?That’s the next frontier.That’s where the next generation of user value will become.My personalization will be mine.It won’t be just my bank’s and my apparel retailer and my book retailer; I will be able to control my life. I will have ISVs that write software for me that program and create my independent view of the Web.That’s the vision we believe in, both from the consumer standpoint, the developer standpoint, the device standpoint and the business standpoint.And that’s been my pleasure to have a chance to kind of set forward for you at the highest level this morning.

Paul Maritz is going to join me on stage. Paul is going to talk more about Windows DNA 2000, with some demonstration.He’s got a product road map that supports this Web service’s vision.I told you he can give you a preview of the next generation tools.He’s going to talk particularly about how this strategy weighs out against competition, and then take some technical questions and answers.