Sunday, October 6, 2024

Bill Gates Talks Office

Microsoft Chairman Bill Gates spoke at the Office Developer Conference yesterday held at Microsoft’s Redmond, Washington headquarters.

Todd Bishop of the Seattle Post-Intelligencer remarked on Bill’s speech in their blog …

“Bill Gates (eerily color-coordinated with the backdrop) addressed the assembled developers this morning on the final day of the company’s first Microsoft Office System Developer Conference. Among other things, he talked briefly about the next version of Office, saying the company is making a “big move toward built-in workflow capabilities.”

Gates also had a little fun recounting the incident at the World Economic Forum, where some journalists picked up some of his doodles, mistook them for Tony Blair’s, and called in handwriting experts and psychologists who concluded, based on the scribbling, that the prime minister was “struggling to concentrate” and “not a natural leader.”

Setting the record straight, tongue in cheek, Gates showed a parodied version of his doodles, with spoof scribbles such as, “So hungry — need cheeseburger,” “I miss Clippy,” and “Why does Bill Clinton get to sit next to Angelina Jolie?””

Here is the whole transcript (made available by Microsoft):

HOST: Now I would like to introduce the main event for today. It’s my pleasure to introduce Chairman and Chief Software Architect for the Microsoft Corporation, Bill Gates. (Applause.)

BILL GATES: Well, it’s great to see the response we got to the Office Developer Conference. After all, Office is the software that is used more than any other at work, and any improvements we can make to Office improve productivity more than any other product in the world. We’re very committed to understanding how people do their work, and making Office the best platform to make them more efficient, whether it’s dealing with schedules or meetings, or projects or all the complex things people do, whether it’s taking communications to a new level by bringing together things that have been very disparate, and that’s why we talk about it as the connected platform.

Recently, it was in the news that I was at this conference last week in Davos, the World Economics Forum, a lot of big politicians and people come there. A lot of serious things go on. One of the things they did was, after I was on a panel with Tony Blair, the Prime Minister of the U.K., they went up and took the scribbles they thought he’d made and they did deep analysis on those. They decided he wasn’t a natural leader, he was nervous, a lot of things. But they forgot to check whose doodles those were, actually they were my doodles. And so, I thought I would let you know exactly what I had there. This is the actual thing itself, but the resolution isn’t so good. So, if you can zoom in on this, you can see — (laughter and applause.) If I had OneNote, it would have been a lot better.

Office at the Center

When we think about Office, it really is at the center of activity. And the promise behind Office is constant improvement in all the business imperatives, getting people closer to numbers so they understand what’s going on in their business, getting them so they can define new products and collaborate within and outside the company, letting people have that information with less overhead against the IT process. Our basic view is that by making improvements in the Windows platform and Office, we can free up parts of the IT budget that have been based on lots of manual work and complex overhead, and take those dollars and shift them into new projects that build on Office, buying add-ons, implementing SharePoint templates in a rich way, rolling out Tablets, rolling out the wireless network, doing the things that make a company best-in-class in terms of getting value out of the huge investment they make in their information workers.

There’s a lot of information to be brought together, there’s a lot of processes that are very complex. Even take something like processing an order that’s not quite right, or dealing with the sales analysis, or the budget process, or introducing a new product; all of those things span not only many companies, but they also span the world of very structured information that might be in an application’s back end, and the unstructured world of documents created by workers and communications between them.

Today, we’re doing better and better at bringing these pieces together, making sure that Office provides as rich a platform as possible, adding in things like the document management, or rights protection, or, in the next major version, a big move toward built-in workflow capabilities. There’s still so much we can do. I talk about really being less than a third of the way towards Office really letting the digital flow inside a company work in the best way possible.

One of the issues, of course, when all the information is flowing around is, how do you get interoperability? And this goes all the way down into the platform level issue as well as all the way up to the Office documents themselves. There’s many levels that we have to think about this at. For example, connecting up authentication systems, connecting up directories so that you can, say, have a SharePoint that somebody outside the company connects into. At one level, interoperability has evolved. Historically, there was a lot of discussion about moving bits from one computer to another, and there were many different standards at that level, SMA, ISO, Novell — dozens, literally dozens. But now TCP/IP has become so overwhelmingly the standard that we no longer talk about whether bits can flow. What we talk about is whether, once those bits flow, whether they’re meaningful to the applications, whether they’re structured in a way to make sense. For example, knowing that the information hasn’t been tampered with, knowing how to take data from one application and plug it into another, letting somebody visualize that in a rich way.

Office and Interoperability

And that’s where the more complex issues around interoperability come up.

It’s fascinating that the key solutions in the industry to this actually emerged out of some document format work that was some Microsoft people, and some other smaller companies who deal with document format issues, that back in 1996 first started talking about XML. The fact that that’s expanded to not only encompass document interchange but now heterogeneous data exchange of all types is really fantastic. And over these last nine years, the rise of XML as the key data type has been phenomenal.

That’s had a huge impact on everything Microsoft does. Our database, every major version has been a big embrace of XML. The version that comes out this summer that was code named “Yukon,” officially is SQL Server 2005, a dramatic advance in those XML capabilities. Inside the operating itself, we’re building in the protocols around XML, and making all the operating system states exposed as XML.

Perhaps the biggest impact has been on Office itself, and you’ve seen as we’re exposing more and more extensibility, all of that is done through XML. The Office formats, themselves. Now, of course, we have the XML file format. But, with this type of exchange of information to the Office applications is much better than trying to work at, say, the user-interface level. You can have a named range, say, in a spreadsheet, and move XML in and out of that, then the changes we make in how we control the user interface of Excel doesn’t have an effect. So, it’s actually created a pipeline in and out of the Office applications that’s very, very effective.

Now, on top of XML, there’s a set of standard protocols for moving information around the network, for discovering the information, for making sure it’s secure, and that is the Web-services approach. When we committed ourselves to .NET back in the late ’90s, it really was a commitment to have XML at the core of the platform, and have these Web-services standards. These Web-services standards really answer a question that’s been around forever, which is, can a piece of software on one computer talk to a piece of software on another computer independent of the operating system or the language that that software is developed in? That imperative is actually very interesting, because there are many applications that demand that level of information exchange.

Certainly, if you think about e-commerce, you’ve got to have that kind of connectivity. If you think about government portals, where they’re taking applications that have existed for a long time and connecting those together, you need that. If you think about managing heterogeneous systems where you want to make sure they’re all running well, you need that type of thing. But perhaps most importantly in the world of unstructured and structured applications, where you have business intelligence information flowing back and forth, you need that type of richness, and you need an environment where being notified about changes, being able to set lines for things, being able to make sure the information is delivered, and you can take that for granted.

And so, [Microsoft] and other companies have put our best people into doing this Web-service definition work. We’re very proud of what’s come out of that. The high-level Web-service specifications are just now being finalized, and rich run times that make it easy to call those services are being made available. This type of extensibility will be built into SharePoint. We’ve had the original Web-service type approach, SOAP is in there now, we’re moving up and supporting these higher level protocols.

In my job as chief software architect, a lot of what I do is make sure that this architecture, XML and Web-services protocols, is pervasive in everything we’re doing, so that our advances in system management, systems intelligence, applications modeling, and everything around Office productivity, that those things are purely synergistic. That might seem very obvious, but historically the way computer systems were done, that was not the case. The idea of systems management was a world of its own where you got the Tivoli or UNIX Center manual and you read about that, and programmed to that. The world of logging and advanced low-level operating systems was very different than that for the applications. And so there was a lot to learn, a lot of different pieces that were very complex.

These standards are coming together. And as the Windows and Office platform get richer for a lot of our customers, it means that they can simplify their environment. And what they want is the horizontal work we do, and then specialized work built on top of the Office extensibility that relates to their particular business. And ideally, it would be those two things coming together that would be all they have to learn and think about.

So, talking about connected systems, having the information flow, and all the way down to the worker who cares about it. This is not just in the data center, it’s knowing who is interested, getting that information to them with the minimum amount of work. The extra productivity that comes out of taking us to the next level is very, very significant. Underneath, of course, is a lot of platform software, but we can take that for granted.

We often talk about this kind of an approach as a service-oriented architecture, and you might say, well, that’s just the latest buzz word in the industry, well, in fact, in a sense it is, it’s the fashion for how applications should be developed, but it’s a fashion for a very important reason, and there are some very concrete definitions around it.

When you define a service, whether it’s on top of SharePoint, or just writing C# code with Web-services interfaces, what you’re saying is that you’re providing something that is isolatable, and by itself, and so the state coming in and out of it is well defined. And so you share data definitions, and contract the high end of the information around, but not the actual class, that is the in memory state information. You can change the Web services and not break the other applications as long as you stay true to the contract and the schema that you offer there. The services run in parallel, so that you call them, and at some time later they come back and get back to you. The boundaries here are very explicit. The idea of having a piece of software that computes the shipping route, or the resource availability, there’s a call in to that, and use a Web service to do that.

So, the Web-service approach, and service-oriented architecture, those are very, very tied together. These are things that have come about in order to make these kinds of applications possible. And these approaches make sense, whether it’s a simple application or a very complex application. In fact, even the large ERP systems over time, you’ll think of those as exposing more and more Web services. And so the ability to customize those applications will be much greater, if you get the events out of them, and you can connect those up with just your Web-service pieces.

Above the idea of the Web service, we have the idea of modeling all of these connections. And, historically, when this was the computer-aided software engineering era, everybody talked about the value of those models. Unfortunately, that era sort of failed because those models were not executable. They were just on a piece of paper, and only if you take those models and actually build them into the application, have them literally be part of the source code can we finally get to the point where those models are the truth, and we can see applications in a very high level way. This is something that will take more time, moving up to that higher level approach. The ultimate is being able to look at a business process through that type of high-level visualization, and change it, see what’s going on in terms of the efficiency in side that process in a rich way. Having those high-level tools, that we take a huge step forward on that with the work we do in Visual Studio that ships this summer. That was code named “Whidbey.” When it comes out, that’s Visual Studio 2005.

Shift towards .NET

So this is the reason, all of this is the reason we went to this .NET approach, simplified programming, though these rich abstractions. You can see that the elements of the Web-services standards define these abstractions. So this has been a major investment for us. And when we first came out with this, .NET, most developers were still doing native code. It’s only over the last 18 months or so that the majority of new development has moved on top of this platform. And we allowed for that evolution. Our platform supports native code, supports .NET. As we expected, the shift towards .NET has been very significant.

We have a number of ways that components can talk to each other in .NET, and depending on what level of the system, there are pluses and minuses of these things. What we needed to do is to migrate each of these things to this Web-services approach, and so bringing the best of a transaction connection, a reliable connection, a secure connection, and abstract connection, bringing all of those things into a single framework. And so that’s what this new run time, the Web services run time I talked about, is. The code name for this is the “Indigo” run time. I’m sure it will be something simple like the Windows Web Services Run Time as we ship that into the product.

Many people who use all these messaging approaches in the past wondered if you could really do something that was so efficient and full featured, and the way this stack has been done where you declare exactly which protocol capabilities you want is the techniques that’s allowed us to achieve the best of both worlds there. And so, now, you’ll just think about Web services and say, OK, do you want transactions, do you want guaranteed delivery?

Connecting Information to Users

I’ve been talking about how we connect software to software, but talking about how we connect the information down to the user themselves. Of course, there has always been this debate about where the logic executes. There were some big moves from single-tier to the two-tier to three-tier, and there has always been the discussion about what are the key protocols, how much intelligence should be down in the client itself. The so-called smart client became controversial largely because the ease of state management was quite complex. How do you keep the software up to date, how do you make sure one application doesn’t interfere with another. If that system breaks, have you been easily able to back up the state so somebody can get at that, or if they’re moving to a different workstation, does that state roam in the right way?

So there’s a lot of interest in saying maybe the PC empowerment, PC immediate execution has some of these negatives we ought to shift and go back to a more typical timeshared model. Now, unfortunately what that meant for most people was that you put all the logic back on the server, and you used HTML as the interaction technique. That was fairly slow, it meant you had to redevelop the application, and that wasn’t very attractive, because the information worker wants to take data from multiple applications and combine those together. They literally want the data to come down and they have the tools. Of course, the format for that data should be XML, and the tool should be Office and the extensions people glue to Office to let them navigate that in a rich way.

So we had to give people what we now call the smart client, the ability to have local execution or server-based execution with a common model. Now, we did this by taking the management tools, IntelliMirror for disk state, SMS for software updating, .NET to make sure applications wouldn’t interfere with each other. So we took, one by one, the drawbacks of that rich client and took care of them. And overwhelmingly, that’s the way people are doing things. It doesn’t mean you can’t have HTML applications, but they are inferior in terms of the interaction, the richness, and the ability to take that data and combine it with other things that’s the key for what information workers do.

We dealt with the thin client need, though, by saying that interest in the case where you want that, we actually can run exactly the Windows application on the server, and simply remote Windows presentation to what we call Windows Terminal Server. So we really give people the best of both worlds, Windows Terminal Server clients are about 10 percent of Windows systems out there. And then 90 percent are the rich clients. More and more of those smart clients are getting these management capabilities, so the state roams, the software is up to date, and the new applications you know that when they come onto the system they don’t interfere with anything that’s there.

So thin client is Windows Terminal Server, smart client is the full blown PC, but the user interface and development technique is exactly identical. So if you build extensions, say, to Office, you don’t care whether that Office is running on a terminal server, or whether it’s running on the client machine, the user interface, the APIs, all of those things are absolutely identical.

Platform Investments

Now, we’re making the development environment for these .NET applications richer and richer, so you can exploit in an even deeper way the strength of the intelligence there on the client, better presentation, better interaction, less code that has to be developed by you. And that .NET Framework Version 2 ships it’s part of what we code-named “Whidbey,” so it ships as part of Visual Studio 2005.

What are the platform investments we’ve made to really enable Office to interact in the best way as a smart client? I mentioned the XML format files, that’s a very big thing. We’ve worked with customers, including government customers, to understand that we’re showing exactly what those things are. Those are standards, open standards in the best sense of the word. We’ve defined our schemas, we’ve defined the Web services in and out of SharePoint, and we’ve built, now, extensibility, forms extensibility with InfoPath, the task pane, the research pane. Objects inside documents, the whole smart-document approach, Web parts for composing, portal pages, and finally the development tools themselves, the Visual Studio Tools for Office, and the framework that lets those things create panes inside Office documents.

We’re constantly evolving the extensibility in Office, and part of the goal of an event like this one is to understand exactly where is that extensibility meeting their needs, and where do we need to do more. For us there’s nothing more fantastic than reinforcing the latest version of Office, and the central role it plays, by having solutions that are built on top of that. So making that easy is something that’s very, very important to us. We need to do it in a way that as we move forward with new versions of Office, they’re compatible to your solutions. And have really strong dialogue about how we define these interfaces and where we’re going with our new capabilities.

So if we take all these things I’ve talked about, the tools, Visual Studio, the things we’re doing in the platform itself to make it richer and make that smart client something that does not have the drawbacks that it’s had in the years past, put Office and our applications on top of that, you get this diagram. So this is a base point that partner solutions are built on. The key way we measure this, we looked at the productivity, we looked at the cost of ownership, we track ourselves, how we’re driving each of those things forward, to deal with this idea of the IT cost can be put into the newer applications.

One key thing we’re doing now with Visual Studio 2005 is we include in a version of it the tools for developing against Microsoft Office. Of course, here we have the full richness of Visual Studio, and now a development framework that lets you build an Office smart client. This builds on the Office XML format, and really shows you templates and examples of how to connect up to Web services. We’re very far along with this, it’s a new announcement today, but we’ve been working on it for quite some time.

It’s a complete professional development product, tightly integrating Office in. Beta 2 will come next month, and it will be available through the Visual Studio Team System beta, as well. So any of you who have started to learn .NET skills, this will all be very, very familiar with just some additional richness and integration that we never had before.

So the best way to understand why we’re excited about this is to see it in action. So let me ask KD Hallman, who is a general manager for this work, to come up and show us what her group has been up to.

Visual Studio 2005 Tools for the Microsoft Office System

KD HALLMAN: Thanks, Bill. I’m very excited today. (Applause.) I’m very excited today to show you Microsoft Visual Studio 2005 Tools for the Microsoft Office System. Now, we might have the longest product name in the history of Microsoft, but we make up for it in developer productivity. So let me show you today what we’re going to do. The best way to show you really the power of this tool and the productivity of this tool is through a scenario.

So I’m going to be a developer, and I’m going to work in a real-estate company. And somebody from the business group comes and they ask me if I would please build them a smart client, distributed application on top of Excel, and they want me to hook it up to a database, specifically an Access database, that has houses in it that a homebuyer might want to buy. Then they want me to hook it up to a Web service that has pictures of those houses, and they also want me to bring in a pre-built user control that allows a real-estate agent or consumer to go and do further research, look up some property information, look up school information, look up maps. So what I have at the end is an application that I can do all the research I want, including buy the house, look at the house, figure out the loan payments, all from within Excel. And I said, absolutely I can do that, and I can do that in about 10 minutes, 15 lines of code, or about the amount of time it takes to get a latte.

So let’s go. The first thing I’m going to do, I’m in Visual Studio and I’m going to bring up Excel, and you’ll notice here that I have Office up as now a platform that’s available in Visual Studio, and I could do this with Excel or Word, and these are pre-Beta 2 bits, but when Beta 2 launches, InfoPath will also be an option here for you. So I’m going to call this Real Estate Locator, name of my project, and because I’m going to base this off of an existing spreadsheet I’ll click this option and here’s my spreadsheet, and click “Okay.”

Now Visual Studio is going to open up that Excel spreadsheet, and the thing you’re going to notice is look at this, this is Excel sitting with Visual Studio. This is not screen scraping, this is not a part of Excel. This is all of Excel sitting completely tightly integrated into Visual Studio. What that means is that all the power of Excel is now available to a Visual Studio developer. And all the power of Visual Studio accrues to Excel. So I can drag and drop Windows forms controls, I can then double-click on them, I can write code behind them, and it is robust, so you’re applications won’t break when you move controls around. You’re writing to the control and not to the cell, something very new and powerful that wasn’t possible before, but it’s the new programming model inside of Excel.

Bill talked about a range control, so let me show you the new name of the range control, here is an Excel control, this is new in Visual Studio. I’m going to drag and drop that over here, and I just am making here a new object, call this object Loan Amount, I’ve now created a control in Excel that is completely programmable.

So when I drop into VB, which you’ll see in a moment it will have all the properties methods, and events available to it through IntelliSense, very cool, no more having to walk through — (applause) — yes, this is very cool. No more having to crawl through the object model. I think some people who have had to do that realize the benefit of that feature. It is a very powerful feature.

OK. And I said I was going to hook it up to a database, let me go ahead and walk through this now. If you’ve done database hookup to Excel before you know that it’s possible. It can take you a couple of days if you’re an ADO or DAO developer, and you’re really good at it. If you’re a general manager, like me, you might never figure it out. But, with this wizard even I can do this, so watch. Click on the wizard and there, there [are] databases, Web services and objects right there, available for me.

Double-click on database. I’d like to use Access, so I’m going to set up the connection here, and it’s doing all of this for me. Double-click on my Access database, it found my database, it figured out my connection string, and I would say, yes, I do want to add it to the project that I’m building, my real estate project. Then do I want to have the connection string put into the configuration file? Yes. So I click here. Now it goes and interrogates the database automatically. And it says, here is your database.

So for my application I want to bring in the Houses table. It’s going to put it into my dataset automatically. It’s going to take this database and hook it up into my project system, and it’s also going to bring my table from my dataset, figure out the schema automatically, and put that in my data sources window. Here it is, right here. Here is my schema. It built the XSD file for me.

All right. Now, it also figured out that this is a list object, and if I drag and drop this list object onto my sheet, look what happens. All the data binding just happened automatically. This is now an object inside of Excel, and I can program against this object. I’m going to go ahead and hook up this list object to the range object that I created just a moment ago, so that when the user is scrolling through the data, then it will figure out the list price and put that list price up into my loan amount field, and then all the other formula fields that are based off of that will get updated automatically.

Let’s go here to an event, and because I want to trap the event when the person is moving through the rows of the database, I’ll click on the changed event, and I’m going to use this snippet feature that Matt showed us this morning, to bring in the code. Look, it’s four lines of code to do all of that hookup. Here’s my listing price, I’m going to put it into my loan amount object, remember that object that I created at the very beginning. I’ll just show you this is real and live. There’s my drop down. All the methods, properties, and events, right there available to me.

OK. Let’s go ahead and run this just to see what it looks like. I press F5, Excel is going to open up, and Access is going to open up, and all of the rows of my database are going to get populated into my spreadsheet, look at this right here. Look at the loan-amount field is updated, as I scroll through my dataset. It doesn’t matter where I am in the row. It picks all of that up.

But, I said I also wanted to hook up some pictures and a control. So let’s go back and do that now. We’ll go back to Visual Studio, and I have a control that actually Bill wanted to be a part of this demo, so he asked if he could create this control. So let’s see what he did. I’m going to go ahead and bring in his control, an existing control, we all know that Bill is a closet coder, and we know that when we go to have a review with him and he knows our products better than we do.

OK. So I’ve brought that control now into my solution, I’m going to set the reference to my project, and there we are. Now I’ve taken a control that somebody else created and I’ve brought it into my project with two very simple gestures. Let’s take a look at what that control looks like. It’s not bad for the chairman, very good.

OK. Let’s hook up some code. Now, if you’re ever tried to take a control and put it onto an action pane, you know that an action pane is an amazingly powerful new paradigm that Office 2003 introduced. It is so exciting, one of the most exciting things I’ve seen in Office 2003. But, you also know it can be rather laborious to hook up. And this tool is all about productivity, so I’m having a little problem with my toolbars, maybe drop that out of the way there, and go over my code. I’m going to bring in this one line of code to hook up that control onto the action pane, just to show you how super simple that is. Look at that. Now, I’m taking my taking the row name, I’m putting it into the control, and I’m putting the control onto the action pane, it’s that simple now with VSTO. That simple.

All right. I’m going to also not to be outdone by the chairman, I’m going to go ahead and create my own control, and this control is going to be a Windows form control that brings in some pictures, it’s a new one, user control, so I’ll call this one Picture Viewer. OK, and there is my Picture Viewer control. And because I want this to be a Picture Viewer I’m going to bring in a picture box, set a couple of the properties, typical properties, stretch it, dock it and I’m going to put on the actions pane so I’ll set it to be a public class. And I’m going to put the pictures one underneath of each other, so I’ll put a little padding around it so that it just displays nicely.

All right, there’s my control. Now, the pictures are actually in a Web Service, so I’m going to go ahead and hook up to a Web site that has those, and here’s my Web site, and bring that into my project, we’re setting that as a project, and now I’m going to hook up a Web site, right here, just come down here to this drop-down, add a Web reference.

Now, you can do this today with Excel but it’s a very disconnected experience, you have to go get the separate tool, you have to hook everything up. Right here is a very, very rad experience. There are my Web Services, I could go to a UDDI directory, I could browse for any Web Service. Here we go, hook it up and add the reference.

OK, I want to write a couple lines of code and I’ve now brought in that Web service with the pictures, I’ve created the controls. Now I’m going to write some code so that the pictures go onto the control and then the control goes onto the action pane. Same type of code I wrote just a moment ago, drop into my code view and bring my snippet down, and there is my snippet and here is the one line of code that does all the hookup.

All right, let’s run this application and see what it looks like. I think the businessperson has come back with their latte so I should be about done.

And here is my application, there’s Bill’s control, there’s my control. (Applause.)

So in about 10 minutes I’ve built a distributed application on top of Office Excel, I used the actions pane, I connected it up to a Web service, I connected it up to a database, there we go.

Later on today I’ll have a special executive session and I’ll drill into some of the other features that we have put into VSTO.

Thank you. Thanks, Bill. (Applause.)

BILL GATES: Thanks.

Well, we’ve got one other quick thing we wanted to show you, and that is to show an example of how Microsoft itself uses Office extensibility. One of the areas that has always been a challenge for us is CRM, getting it so our sales force, when they’re out in the field offline, can be interacting with this information in a rich way. And we took a number of passes at this, some of them required way too much of their time, they weren’t keeping the data up to date. Finally, we decided the only answer was to integrate in with Outlook in a very strong fashion. And so we’ve done that work and I think it’s a great example of the extensibility.

So to give you a look at that, I want to ask Tom Caputo, who’s a product manager in the Platform Division, to come out and show us CRM. Thanks, Tom. (Applause.)

CRM Applications with Office

TOM CAPUTO: Thanks, Bill.

As Bill indicated, we want to make sure that we’re providing the best tools possible to our field sales force and unfortunately, over the last couple of years we haven’t always gotten it right.

So we recently took a step back and we asked the field to tell us, what exactly are you looking for in your next generation CRM client? And they provided us with some pretty candid feedback and they told us that they wanted three things:

First of all, they wanted that information integrated into a single client that matches their normal workflow.

Second of all, they wanted a 360-degree view of their customer so that they were pulling data not only from our Siebel back end but also from the various other customer databases that we’ve got across Microsoft.

And then finally, they said they needed access to this information offline.

So we began to think about smart-client technologies, and specifically the Microsoft Office platform, and thinking about how we might be able to deliver that next-generation client experience integrated into Outlook.

So what I want to do for the next couple minutes is actually show you this solution that we’ve built that we’re currently rolling out to the field.

So think of me for the purposes of this demo as an account executive. And the first thing you’ll notice is that I’m working within Outlook, which makes me really happy, and that I have got a new folder here under my mailbox, my Outlook mailbox, called Customer Explorer. Now the data that we have in Customer Explorer has been pulled from these Web service back ends that I described before.

So I’ve got a subfolder here called My Accounts and under My Accounts we’ve got a folder for each of the accounts to which I’m actively engaged. So let’s take a look at Contoso. Contoso is one of our favorite dummy accounts. And you’ll see that I’ve got the beginnings of this 360-degree view of the customer.

So I’ve got basic account profile information here, right, so this is the industry, the address, the core demographic stuff that’s pulled from our marketing database. I’ve also got support information, so I want to know as I go out to that customer what the latest support issues are, have things been escalated, are there any outstanding issues.

So we’ve got that information now right within Outlook. We’ve queried that Web service, the developers have taken that data, they’ve rendered it as HTML, and now they’ve stored it directly within Outlook, and I also have got sales history, so show me the last six months of sales history associated with this account so that I can make sure that I’m up to speed.

We also wanted to pull in the core CRM data. So what you see here is that we’ve got our CRM activities that we’ve pulled out of Siebel, we’ve also got CRM contacts and then finally opportunities.

So not only can we read this stuff but we also can take action on it. So let’s take a look at the contacts here. Now, this is a contact that we’ve pulled out of our CRM back-end, yet we’re displaying it within the Outlook user interface. And I can, for example, update here Nancy’s phone number, so Nancy got a new phone number, we make that change, we click Save, that information now is updated within Outlook but it’s also updated immediately in the Siebel back-end.

Let me show you opportunities real quick as well. This is actually some pretty clever work that our developers did. The Siebel opportunity data item is pretty complex; it has not only basic demographic information in it, basic sort of descriptive information, but it also has partners and team members and products involved. And it was sort of hard to represent that as HTML.

So we’re actually going to take advantage of the power of Win forms here and we capture this click event and rather than popping up just a standard HTML page, we pop up a Win form. And the Win form now gives us the ability to create whatever UI seems more appropriate to represent this information.

So we’ve got standard tabs, you see we’ve got some data grid controls here that our developers pulled in and it created a very rich way to represent this data and give the field the ability to manipulate it but remaining right within the Outlook interface.

So that’s neat, we’ve got this 360-degree view, it’s all within Outlook, and because we’re running Outlook 2003 we get to leverage one of the coolest features about Outlook, which is offline-cache mode. So all of this data is available both online and offline, and in the event that I make any changes to this information, we actually have a synchronization engine that’s running in the background and that service agent will update the back-end Web services when appropriate.

So we’ve got a cool 360-degree view and the field is actually really excited about it, but let me actually show you the part they’re most jazzed about, and this gets back to this integration that they talked about. They said that they not only want this information available within Outlook, but they want to take information that exists within Outlook and get that into the back-end.

So we do a lot of work with our customers where we’ll be exchanging e-mails back and forth, and when things go well we’ll often get an e-mail that essentially represents an opportunity to sell software.

Now, I would love to get this information into the back-end. Historically it’s been really tough, it’s been multiple clients, alt-tab, cut and paste integration, it’s required a lot of manual reentry.

So the goal here was to facilitate that. So our developers have actually come up with a pretty clever way to address it. They’ve now put a toolbar on all of the e-mail that has the ability to convert.

So I say this is an opportunity, I want this data in Siebel. I say convert to Siebel opportunity. We parse the underlying e-mail, we pop a new opportunity, we pre-populate the information, I scan over it and make sure it looks right, I click Close and Save and if all goes well we actually have that updated in the back-end.

Let me also show you that we can do that same thing with a calendar item. So we have got calendars, I’ve got a demo, for example, scheduled late this afternoon. I want to make sure that that demo information is also being captured in the Siebel back-end. I say convert to Siebel activity, the data is pulled, parsed, pre-populated; in this case I’ve got a few more fields that I need to specify, we’ll just put something in there and I can close out and save that information.

So we’ve now provided the field with the ability to with just a couple of clicks take the data that has historically really only existed within Outlook and get it into the back-end so that they can not only use it but they also have the ability to collaborate more actively because their colleagues have access to it and now there’s greater visibility for management.

So this is our solution that we’re currently rolling out in the first version to a thousand members of our enterprise sales force as we speak. There’s a lot of excitement and anticipation and we think that we’ve really delivered this next generation experience by leveraging the power of the Microsoft Office platform and Web services. And when we think about smart client technologies, this is really what we’re talking about; it’s about that offline capability, that rich user interface, it’s about pulling data from a bunch of disparate back-ends and integrating into a normal, natural workflow.

For those of you that might want to learn more about what we’ve done here, we’ve actually got a session with the developer that created this at 2:00 today in the Kodiak Room. We’ll be taking you through more of a description.

Thank you very much. (Applause.)

The Office Platform

BILL GATES: Great. OK, let’s wrap up. It was hard to pick which two demos to show, I’ll say, because actually my favorite Office thing nowadays is the way SharePoint is being used for collaboration. And we certainly have lots and lots of great examples of how we’ve taken those templates, customized them, using them here at Microsoft and in lots and lots of customers. To me that’s probably one of the most underutilized, explosive assets in the Office offering, and the next version will bring that to light in an even stronger way.

It’s also certainly a place where the ability to do extensions, to have better templates with rich interaction and connect up to the APIs that are there, it’s probably as great as anywhere else in Office.

So we’ve got a platform in Office with XML at the core, more and more the extensibility will be done through Web services, SharePoint is essentially the Office platform where the portal pieces and things get exposed, and we’re committed to making the tools here even stronger and doing all of this in synch with the platform as the Windows platform is embracing Web services, rich management services, all of those things simply improve for somebody who’s building on top of Office. So .NET and Windows are at the core and then the rich Office capabilities around it.

So we’re very excited to see the response to this event and I’m also very excited to see what you’re able to build on top of Office.

Thank you. (Applause.)

murdok is the CEO of murdok which publishes over 200 websites and email newsletters.

Rich also publishes his blog WebProBlog which focuses on internet business and marketing trends.

Previous article
Next article

Related Articles

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles