Steven Sinofsky: Microsoft Professional Developers Conference 2005

Remarks by Steven Sinofsky, Senior Vice President, Office, Microsoft Corporation
Microsoft Office “12”: The Platform for Information Worker Solutions
Microsoft Professional Developers Conference 2005
Los Angeles, California
September 14, 2005

ANNOUNCER: Ladies and gentlemen, please welcome Microsoft Senior Vice President, Office, Steven Sinofsky.

STEVEN SINOFSKY: Good morning, everybody. It is fantastic to get a chance to be here at the PDC and share with you the Office “12′ platform for information workers. Well, guys, I’m a little tired. I’ve been up all night reading those blogs. I’ve got to tell you that the blogs on the UI that we showed yesterday have been fantastic to read. I never thought we’d make it to No. 2 in Technorati with an Office feature, and so I’m very excited to see that.

What I’m going to do is, I have a lot of demos to do for you today, and I’m going to start off, but first I would like to make one announcement for all of you, which is that all of the PDC attendees will be receiving Beta 1 of Office “12” when it comes out shortly. (Applause.) No need to run and sign up for that, you’ll just be getting that. So, all the attendees when we release that in a few months. So, actually, I wanted to take a little bit of a lesson from Jim. Apparently Jim had all these cool things to give away, and I felt bad, all I had was the beta. So, for the first hundred people who sign up for the beta, you actually don’t have to leave to sign up for this or anything, we have these brand new Office steak knives that will be included, you’ll be eligible for a drawing with the first 100 Watson reports for the Office “12” Beta 1. So, please enjoy the opportunity to win these new steak knives. People up here really like that. Those knives are taken.

And, let me talk to you a little bit about the announcements that we have here at the PDC, which we’re just very, very excited to share with you. First, yesterday we had the new client experience, the new user interface for Office “12”, and we really showed you a developer opportunity for that, and we worked very hard to really up level the developer opportunity, and make for a very rich opportunity for you to really deliver great solutions using the Office platform. Today, we’re going to show you a lot about Enterprise Content Management, or ECM, and this is a broad range of technologies that we’re going to show today. So, I will show you a lot of technology, these are not packages and prices and SKUs, today is a technology demonstration that’s going to show you how we intend to offer tools for developers and end users to manage the full range of content, own the complete lifecycle for documents, we have a great deal of client integration that we’ve done, and a great deal of opportunity for developers to enhance client integration. We have our open XML schemas, and the availability of those. You can actually download the betas or the documentation today already, and just a broad range of functionality in our SharePoint family for developers. And so, today is a technology demonstration of all of the ECM functionality in Office “12”.

So, let’s take a quick look at the evolution of the information worker platform. These are the opportunities that you’ve had as developers to enhance the end user information worker experience over the past years. If you go back to 1995, the core opportunity for developers was really about building macros, using things like Word Basic, if you can remember doing that a long time ago, we had a very command-driven user interface, and really the whole extensibility mechanism was dated by the interaction with binary documents through an object model. It’s been very powerful, and in many ways, I want to thank all of you that have helped to make the Office platform as successful as it’s been. And that investment that we made a long time ago, of course, still goes forward with compatibility and all of the solutions that continue to work.

The platform that we’re announcing today, that we’ve really started to deliver on with Office 2003, is the Office System. And this system really allows a whole new level of extensibility for solutions. First, it’s built on many of the elements of the Windows Server System, and includes in Office “12” a series of new technologies, the rare new SharePoint Server, the Form Services, which I’ll talk about today, and the Excel Services as well. All of these are new elements of the Office Platform, and the Information Worker platform.

The extensibility that we provide, this is just a short list for including what XML and the Web Services throughout the product, the Visual Studio and managed code work that we’ve done in InfoPath and FrontPage, and on the server side. And our user interface, as I mentioned, and the XML file format. And those form the cornerstone of the new Information Worker Platform, and why we’re so excited to be here today is to share with you all of these developments, and this rich evolution that’s happened in the information worker platform.

The core element of our platform is SharePoint, and SharePoint in the broadest sense, which today encompasses Windows SharePoint Services, and SharePoint Portal Server. As you’ll see, we’re going to use the term SharePoint to mean this entire Information Worker Platform on the server. SharePoint has a very long history with us. I would like to understand just how deeply committed we are to SharePoint, and how long and hard we’ve worked to bring it to the level of functionality that you’re going to see today. Actually, SharePoint goes way back to Office 97 for us, with the first Front Page Server Extensions. And this is when we first really got a hold of this notion that to complete the Office Solution Framework, we really need a server, we really need to get Office documents on a server, and take advantage of the ability to use server services to enhance information work. And, as we enhance that, we built out the server extensions more in Office 2000. We added threaded discussions and document libraries. Office XP continues to enhance the line, including adding the first release of SharePoint Portal Server. But it was really with Office 2003, and the whole Office System announcement that we built a very rich framework for building applications on the server. And you can see just a long list of features and investments that we’ve made to bring that to life for you.

And so today is really about the new level of functionality in the Office “12” Server investments. And this is the deepest, broadest framework for enterprise content management that we’ve ever had to introduce, and we’re very excited about that. And it’s really made up of a number of core elements. First, and foremost, it’s built on Windows SharePoint Services as the Windows server system core platform element that we build on. So, all of the elements of this strategy are built on the Windows SharePoint Services. And it starts with great collaboration. So, this collaboration is what you think of as team size project management, and Office “12” will have blogs and wikis as part of this core collaborative environment.

Think of the Portal Server. The portal enables you to take those team sites, and those collaborative elements of the work, and bring them to life for the entire enterprise, make it possible for the broadest range of users in a very highly scalable environment to take advantage of the collaborative framework. And, of course, once you have that, you need to have great search. And so one of the cornerstone investments in the Office “12” platform has been all about building search as a key element of our Enterprise Content Management. And then, content management itself, the ability to have very rich public sites that have tightly controlled styles, a model for contributing content from writers and from contributors all around the globe. And this is what we call today Content Management Server. But you’re going to see a new Content Management Server in Office “12” built on the foundation of Windows SharePoint Services, and on the entire ECM framework in Office “12”.

Then building in the role of business processes. How can you have the great tools that you just saw demonstrated for workflow built into the experience for information workers. So we’ll talk about how workflow and the whole notion of document management and libraries get built into the business processes for information workers.

Then finally the role of business intelligence, that ability to take data that lies in line of business systems, build scorecards, build heads up displays and integrate business data with the rich reporting and analysis capabilities that you have with Microsoft Access and Microsoft Excel. So all of these together build out what we call the Office “12” ECM platform. So we’re very excited to show you the elements of this today.

So what I’m going to do is I’m going to do a demonstration for most of this talk that is a demonstration in 4X, if you will. First we’re going to talk about ECM and show you Windows SharePoint services, and an overview of the functionality there, and all of the developer opportunities we have. We’re going to show you InfoPath and the role that it plays in data collection and forms for business processes, enterprise search in the business data catalogue, and the role of the Portal Server, and how the portal can be used by developers. Then the role of Microsoft Access, one of our key tools in the role of integrating data across the entire platform.

So please join me over here for a demo, and let’s kind of get started and talk through the demo. So I’m going to start with a little bit of a quick overview of Windows SharePoint services, just to make sure that everybody is familiar with what we’ve got in the new product. As I go through this I want to highlight the developer opportunities and talk to you about where we really have opened up the system for your contribution, but I also want to show you the end user features, so you can see the out of the box experience that people will have with Windows SharePoint services and the entire ECM framework.

What we have here is the new SharePoint portal server across the top. You can see this chrome up here represents this entire enterprise site, so this is where you have the search center, and all the different accesses to the site, you have all the site actions, administration, managing the overall Web site. Within this, you have the team sites, and the team sites represent the places where all the ad hoc collaboration takes place, where you surface the collaborative roles of the software, and where the end users will interact with it the most.

Included in a team site is all the navigation that you would see here, all customizable. Speaking of customizable, all the elements that you see on the screen are Web parts, built with the Visual Studio 2.0 Web Part Framework. It has been very great working with the team, very important that we’ve build the ECM platform on top of the Web Part Framework that is integrated in Visual Studio. So as we’re doing this we have also document libraries. So these Web Parts can surface here, or we can actually click and see the in-depth user interface for the document library.

This is part of the new SharePoint user interface, and it has nice drop downs where I can easily filter and sort. And you’ll see this very much looks like the UI for sorting and searching within Access and within Excel, as well. You can define views. For example, here I can select an all documents view, and sort the entire list. Then you have all the documents and the metadata. Today we’re going to talk a lot about metadata, because in building solutions developers have the opportunity to really incorporate rich metadata that can really help drive the solution.

One of the key problems that people face when using document management, or managing lists of documents in SharePoint is you kind of created a folder and dumped all the documents in it, and before you know it you had just a really big folder sitting on the server, and you couldn’t figure which documents were important, why did they matter. You do a lot of sorting and searching, but you really didn’t even have the structure to help maintain a corporate asset. So what we’ve done is create a new set of features for developers called content type. Content types are a way for you to have an object-oriented definition of the information in your site. And those content types include the type of information that you can create, what kind of document, the metadata associated with that type, as well as the behaviors that those data represent, such as workflow or corporate policy for managing those documents. And those content types are very easily visible once you create them to the end user.

So let’s go ahead and create a new spec in our document management system. This spec is a content type within SharePoint. Also, the first thing you see is this is just a Word template, actually using the new XML file format. You see the new Word user experience, but because it’s a content type you actually see this new property sheet here. This is written by a developer, and it’s a developer opportunity to create these property sheets. So you type in a title for your document, and you’ll notice right away that that title appears down here. The reason for that is because using the XML data binding in Word, we’re able to connect the property sheets with fields in Word. And this is actually a two-way street. In fact, I could go down here and create a specification. You see that that two-way street is through the data binding.

We also have very rich dropdowns where I can select these cool forms. I even can do all sorts of math within here. You see the math changes. And I can even list things up in a database. So this is actually going out to a SharePoint list, and pulling that information.

The reason that form is so powerful is it’s actually an InfoPath form. So you don’t have to run another tool, you can just use InfoPath to create those property sheets.

I just created a quick specification template, and I’m going to go up here and save this template out to the site. Now, what you do is you go and share a copy of it, and you have access to all the cool features for sharing. In fact, I can do an approval workflow right here from that. I can actually go and create or view the other workflows associated with the document. Instead I’m just going to go in straight and save it to the document management server, and go ahead and save that document out there. Publish it out to the SharePoint site, go ahead and hit refresh, and you’ll see that document appears right up at the top.

It’s a very cool and rich model for just saving and interacting, just like you would normally. In fact, I can do all sorts of operations from within the document, or I can go up here and create and look at actions that I can create for the whole document library. For example, I can go and get the RSS feed for this document library. So every time somebody adds a document I can get that through a feed and see it as you saw yesterday in Outlook, or wherever you’re reading your RSS feeds. I can open this up in Outlook and keep this whole library offline if you’d like.

Instead what I’m going to do is I’m going to go ahead and create a workflow setting, create a document library workflow for this. So the way we do that is go over to the document library site, and I can see where I can get all the different properties for the library. So I can set a policy, for example, and that actually could be a document retention policy. Part of ECM is the whole notion of how you manage and maintain content through policy. So SharePoint as a repository for your data, you can have expiration, you can have rights, you can maintain archived copies of documents. And all that is a policy you can set on your content type. (Applause.)

Let me go ahead and create a workflow. I’m going to go here and just create a new workflow. I could actually use one of the pre-existing workflows, or go ahead and add a new workflow. So here are the kinds of workflows an end user can add right out of the box. These are the workflows that have been added to the site, and we have a number of workflows that are out of the box experiences. In fact, for those developers that are here from Asia, we even have specific workflows that are out of the box that we’ve developed for our East Asian customers, because there are really specific workflows, such as document routing that are really important for our customers in Asia.

So I’m going to go down here and create a review feedback. I’m going to call this workflow Feedback, and I can go and set a whole bunch of options on how this will work. These are part of creating a workflow template. And I can even set the default for who would review the workflow and who would deal with it, go ahead and click okay. And so now you see that I’ve got the workflow right there and I can go ahead and add it. I’m going to go back to the development document library, and go ahead and attach a workflow to this documents.

So when it gets to the content types you can attach a workflow to a library, or to a type, or to a document. You see right here is a workflow that I just created. To go ahead and create this work flow I have this very nice form here where I can even do a rich like check names against the library. This form itself is also an InfoPath form built into the system for using the workflows. Go ahead and click Okay and what that’s going to do is associate the workflow with that document. Actually, as you see, I already got the mail message telling me, hey, this work flow needs attention.

So the tasks and the workflow items are integrated with the task management in Outlook. In fact, I can go up here and edit the task and right here I can go and provide kind of  let’s pretend I went and did all the work. Looks good. I’m going to go ahead and check this as completed, and go ahead and submit this as a completed workflow. So now when you come here you’ll see it says in progress now. If I go and refresh you’ll see that now it marks that workflow as complete.

You’ve seen this rich integration of metadata and how it really can help out in terms of managing the workflow. And you’ve seen how you can build a customized workflow for a document, or for a content type, or a library. Let me show you a developer opportunity using Microsoft FrontPage. I say FrontPage, but really this is a new version of FrontPage, and in fact, for the purposes of this demonstration, you can think of all the technology I’m showing you today as the SharePoint designer. So on top of all the great expressions, Web designing technology you just saw, all of the CSS, XML, XSLT, all the integration and use of controls and data binding, those are all part of the FrontPage, and the SharePoint designer.

I’m going to show you another part of that, which is the integration of creating and customizing sites with this technology. So as a site designer you can actually use FrontPage to go and create a workflow. This is sort of an intermediate design tool for creating workflows. Let me go ahead and create this workflow, actually pick which document library I want the workflow to be part of. I can then go and I have a rules wizard, like the rules wizard in Outlook, to create a workflow. So I can add a condition, for example, and you can create your own custom conditions as a developer, where I can specify I want the milestones to equal M1, then I can set what action I want to take so I can, for example, set an action that says I want to send mail to somebody when there’s a workflow issue. I can set the text of what I want this mail message to read, and go ahead and use that as my workflow definitions, and go ahead and finish off saving this workflow. What I’m doing now is creating a workflow and saving it out to the SharePoint site. So it’s out on the site, and in all those pick lists that we just saw, I could go and use this workflow.

What’s really cool is that the workflow that we just created is really the same XML that we just saw in the previous demonstration for you. So you’ve now used the SharePoint design technology to go ahead and create this very rich workflow that has all the power of the workflow design that we talked about earlier, but done in a very quick and easy way using that design wizard.

So that’s a few things that we have in the Windows SharePoint services and the workflow and enterprise content management arena. So I’d like to move on now and talk about the role that InfoPath plays in how we go ahead and collect data, and work to gather information to contribute to our site. So what I’m going to do is I’m going to go ahead and launch InfoPath. So this is the new version of InfoPath, it has a great deal of functionality, enhanced for designing forms that can help you collect data and bind those to an XML schema. I’m going to go ahead and design a form.

The biggest piece of feedback we received regarding InfoPath was, hey, we really need a way to create this forms in this same rich environment as InfoPath, but make them available through Web browsers, as well as through the rich client InfoPath technology.

The way you do that now is you just say I’d like these forms to be compatible with the forms server, which is a server element of the Office “12” platform. I’m going to go ahead and create a form now using just that one check box to work on a browser and in a rich client. So when you create a form you have full access to all the rich functionality of InfoPath. In fact you can go ahead and just use this like a word processor, make things bigger, and use all the rich formatting. I can also go and add data validation. So one of the powerful elements of InfoPath is that you have an out of the box environment for developing very rapid, relatively rapid solutions using the InfoPath UI.

Then of course, you could always drop down into scripts or managed code to customize these. But, I could go here and add a validation rule that says, hey, this field, if it does not begin with the letter A then I’d really like to put up an alert for users. And then go ahead and add that validation. Now, we also got asked quite a bit for the ability to have design snippets as part of InfoPath. In fact, if we could go down here and drag this part in, and have the ability to create rich forms from pre-defined parts that are in other forms. And I’ve got the basis of a form that I’d like my end users to go ahead and use from within my SharePoint site. I’ve got three steps that I need to go through in order to publish this form. So these three steps are all about figuring out how to connect the form up to data.

So first, I have to say, what do I want my users to use, to do when they go and submit this form. I can submit it as e-mail and have it get mailed to a place. I could also use a SharePoint document library, which is what we’re actually going to do. I have to add the source that I want to publish this form to, and go ahead and add that source, and publish it to this document library that I’m going to create. And I’m going to overwrite the files that exist, and go ahead and I’m going to name this file the same name as the field that you type in. I’m going to go ahead and save this form out to the site.

So now, what I’m going to do is click Save Form. Now I’m going to go publish this form out to my SharePoint site. So this is the third step where I have to go publish it. So I could publish it just out to a network share. I could publish it to a list of e-mail recipients, or out to the SharePoint site. And it will go and query for all the document libraries that are out there. I’m going to go pick a brand new document library and call that InfoPath, and publish it out there. I can also add any of the fields, the custom fields that will show up as metadata in the site, as well. So get that out to the site. Now, the site is going to pop up and this is a security step that we go through, which is to validate that we want the forms to actually be out on the server.

So now that form is published out to the site. So let’s go take a look at it. You can actually see right now there are no documents in there, I can go ahead and click new and it will use InfoPath to go and figure out the form. I’m going to go put some data in there. Again, I have these rich pick lists that I can go through, I can do math on the site, I’m looking up things on SharePoint lists. I’m going to go ahead and click submit and submit that form successfully, and go back here, and you can refresh the site, and you’ll see that that document has been posted.

So I just showed you using a rich form to submit to that site. Let’s pull up another browser and open up that form. So here’s that same form, you actually see the same UI, you have that same validation that says it must begin with an A. I’ve got all the same power of the drop downs, but I’m actually doing this from within a browser. I have all the richness. Go ahead and submit this form, and the form was submitted. So that was pretty cool, so now I’ve got another record in my database. And I just submitted that with a Web browser, even though I created that form with a very rich forms design environment for collecting data. (Applause.)

Thanks, but that’s not all. I actual brought up the phone simulator from OpenWave, and I can go ahead and submit this form actually using the same technology that we just had. And submit that to the site, and you see I have the same validation there. And I can go ahead and send that data using a WAP-based phone out to the SharePoint site.

So we’ve done a great deal of work to make these forms a great tool for data collection around the world.

So I’m going to go, and I’d like to just summarize the importance of InfoPath to our strategy. It’s really important to understand that we made a big investment in making InfoPath a great tool for collecting structured XML data. So when you go and take InfoPath and bring it back into where it’s real good, it’s good if you’ve got an XML schema, or it’s good if you want to define an XML schema and develop a rich way to collect information from your users all around the globe. And it’s a great rapid application environment, and when you combine it with SharePoint, which is a great environment for quickly and easily collecting information from your customers.

So let me show you a few more things. I’m going to actually go into the world of enterprise search now, and show you the role that the portal site plays in our SharePoint world. So we’ve built a lot of work into making search better. It’s been one of the places where I can say fairly that Billg has consistently given us a lot of feedback on how good search is for his ability to find things within Microsoft. So we’ve done a lot of work, that test is coming up, we’re about to go live internally with the site, and that should, I hope, really improve things for him, as well as all of us.

I’m going to go ahead and do a quick search here, and you can see the first thing that we’ve got is a “did you mean?” That’s relay all about using intelligent search metaphors that people have become familiar with. And we’ve got this whole role of hey, use the spell checker, use linguistics and help us out to do a much better job searching.

So I’m going to go click on did you mean, and these are search results from the site. So you can see it’s a very clean interface, as a developer you have full access to the Web service API of the search engine, plus you can write custom display of search results, or integrate the search results however you want. There’s a lot of power available to you in that beyond just getting the results from one query. Also, the developer, you can define best guess for the site. So, if there are certain keywords, or certain things that you want people to find based on certain queries, you can define those as best bets, and have them surface easily in the site.

There’s also a lot of richness in how we can customize the search results for users. So, for example, I can click on people, and I can get the search results that are relevant to my query that are the people in our organization. This is super important for the enterprise where you’ve got Active Directory rolled out, and you’ve got people that want to find and connect based on job, experience and expertise. In fact, using the job title field of Active Directory, I can even further refine the search results by clicking on the search results of the job title. I can even go and click on  you all will notice by the way, the presence information is visible right there, I can go and click on Luis’ page, and I get his My Site. So, as a developer, you can open up the My Site for customization throughout all of your organization, and allow people to add and modify their own site that pops up. In fact, you see all the Active Directory details here, and even the org hierarchy from Active Directory if that’s set up, and you even have distribution lists that people are members of that show up because of the integration between the source engine and AD, and even the colleagues, and this is actually a Web part based on search results that have the proximity of other names that have been mentioned in all the documents and searches that are relevant. And, of course, all of these are Web parts and easily customized by both end users and developers.

I can also drill and look at the customers relative to that search term. This is super interesting, because this is a feature that’s only successful because developers are able to write code against SharePoint. The code that you can write in this case is code that can go out and get enterprise data from a line of business system, and integrate those search results into the SharePoint experience. And so, in this case, these results are stored in an enterprise line of business application that stores customer information. The results are displayed within SharePoint and intermixed with the regular search results and, in fact, I can click on one of these customers, and see enterprise data right away as it accesses the enterprise data site.

This is using SharePoint as a business data catalogue. And, in fact, here you have a site that was created using the SharePoint design technology in FrontPage. You actually have a master details view, which has two Web parts that have a data connection between them that was done using the SharePoint Designer technology in FrontPage. And, in fact, we also have customer contacts, which is another Web part that was written by a developer that goes out and gets information from a line of business system, and here you have  this is super cool, and I’m going to take a second to explain this  this is actually an Excel calculation done on the server. And so, for years, people have tried to figure out, how can we have the functionality of data binding, pivot tables, and rich data connectivity in that great view of Excel, but still have a rich browser interface present that data. So, this Web part here is actually an Excel functionality rendered as HTML from the server, and the way that you create one of these in Office “12” is, you create a spreadsheet in Excel, connect it to data, and then just publish that out to SharePoint, just like we did with the form example. But then, when you hit the URL, instead of opening up in Excel, you actually get the full access of Excel’s data binding, reporting, display, and pivot tables, and analysis all displayed straight through in HTML interface right here in a Web part. (Applause.)

Well, thanks. And so that’s just a Web part that’s right here. Let me go ahead and show you one other connection to business data. I’ve got a default list here in SharePoint. I want to emphasize how important lists are to your opportunity as a developer in SharePoint. You can think of a list as basically a SQL table that you can get access to through the SharePoint Web Service API out on the server. And so a list is a fundamental concept of SharePoint which we have this API for. And with that, you can get access to all of the list functionality, adding rows and columns, doing filters, setting item level security, doing views, getting to that information from within other applications. You can use lists within the FrontPage design tool. For example, you could do a join between two lists, and then that’s the detailed view. That’s great functionality you get with a list, but at the same time those lists, since they’re maintained on the server, are there as a corporate asset. And so, the days of having a database that’s out on a file share somewhere that you can’t figure out if it’s really important, you don’t know if there is one copy of it, if it’s not definitive or not. You can actually use SharePoint to go and create that asset. And the neat thing is, just by using the SharePoint out of the box user interface, the end users get access to a very easy to create list, a very easy way to manage the information without having to write any Chrome yourself. You just go ahead and use that list.

And every list with SharePoint has all these functionalities built in. You can edit in a rich data sheet, which is a rich client-side interactive like using a spreadsheet, which is great for both data entry or copy paste. You could export all the data through a spreadsheet for analysis, so if you have a list that you’re collecting, like a survey, something like that, actually you could open a new list with Microsoft Access, or any database program that can use the SOAP API, and really work with the database, and I’ll show that in just a second.

You can have an RSS feed for any list, and customized loop fields sent out through the list, excellent, and also you can receive e-mail notifications of any changes that happen in the list, or updates. And so, I’m actually going to go ahead here and open this really quickly to show you the kinds of things you can create views on with the list.

So, this is end user functionality also exposed through the customization tools available to developers. Of course, you can create, you know, a calendar view, so if you want to show your list so it looks like a calendar, you can actually create a list that automatically binds to a view in Access. If you want to create a cool forum, join that data with a line of business system, very neat stuff there. You have a data sheet view which I explained earlier. Actually, if your list happens to be a list of tasks where you have dates, and assigned to, you can view it in a Gant Chart through the Web browser as just a straight list. And so, we have this basic project management facility built in to the list and to views.

I can also just create a standard view. A standard view lets me first name the view, I can create personalized views because SharePoint has a right personalization infrastructure, or a public view, set what kind of fields, or the order of the fields, and I just wanted to scroll down and show you some of the advanced options that are available to developers. One of my favorites is making this SharePoint list available as a mobile view. So, you saw earlier the integration with the site. Well, the mobile view allows me to just see the SharePoint list over a mobile device, and to explore the site through the extranet, either in VMD or through a firewall. You could access it through a mobile site. So, a very nice feature there that we’ve done.

And, I could also go ahead here, and I’m going to go ahead and create a new column in my list. And so the column let’s me, as an end user, add a cool column. This is the data types that you can have, and they’re very rich. You can actually have look up fields that go to other SharePoint lists. You can have hyperlinks, all sorts of neat things. One of the things you can do is create a link that’s business data. The business data type is actually a link to a data source that a developer added to the site. So, I’m actually going to go out here and create a link to my Fabricam customer database. Actually, I’ll pick a couple of fields to export, like a city and a country, and the phone number. And so those are fields that it will go get from this line of business system, and integrate these into the list that we got for customer projects, and so now when you go to the site, you’ll see that we’ve got the customer field coming from the line of business system, along with the fields that we had previously defined in SharePoint. So, this data is now basically adjoined from the line of business system with the data that’s stored in the SharePoint list.

And, in fact, I can go ahead and add a new item, and go ahead and add the customer, and one of the neat things is, I can go ahead here and click save, and it’s going to go ahead and – I’m going to go ahead and add another customer, and what it can do is actually go query the database, and look up the information. And, in fact, if I click on this, I get a pick list of data from the database as the developer set up, and allows me to add a resolve name, if you will, or a tech name. Go ahead and save that out. (Applause.) That’s using the cool UI that’s right there. And you can see I’ve got new data. Now, this data, you’ll notice I pulled that from the database, and I can go ahead here and you’ll notice this one is shown as a link, so I can go ahead here and directly click on this, and get that scorecard for that customer, and show that in the site that the developer created.

Now, the neat thing here is, this allows you to do something like a very cool scenario that happens all the time, like, you’ve got a customer management system that you want to interface with, and you are doing an event, a trade show, a PDC, and you want the people taking the orders for attendees to actually pull the real information from the customer management site to have the ease of use of SharePoint, and also the rapid application development, so you can pull the accurate data without having to write all the Chrome, and the whole front end. And, by the way, you need to do quick reports, quick printouts, export that work to Excel with one click, or to a spreadsheet with one click, and you can go ahead and use that for printing and for management. It’s a great way, as a developer, to build a rapid solution on top of the rich tools that we’ve got with SharePoint. And so, in this section, I showed you the really cool elements of Enterprise Content Management as they relate to search, and to integrating business data with your applications that you develop.

I didn’t get a chance to show you all the cool work with Content Management Server, and all the customizations that are available to you through the SOAP interfaces and the Web APIs.

I’ve got one more act in our demo, and I would like to show you one of my all time favorite tools, which is Microsoft Access, and talk to you a little bit about how we’ve gone and really re-upped our commitment to Access, and really done a lot of work to breath some new and exciting features into the product. You know, historically, Access has been one of the key tools in the Office developer arsenal. And really the core element of Access that really helped all the time was, Access is really is your landing pad for data. And so Access was one tool that you could pull data from all over the place, whether it was a text file, or a .csv, XML in the last couple of releases, an Excel spreadsheet, old legacy .dbf files, line of business client server, SQL kind of applications. And so what we’ve done with the new Access in Office “12” is, first, we’ve built in a number of very rich templates. Now, these templates represent the kind of applications that developers have historically written in Access, and enable you, the developer, to customize them and develop on top of them. And these are rich applications that one of the cool things they do is, they don’t just store the data in an .mdb file, these applications also work with data stored on a SharePoint server.

So, let’s take a look at how that works. I’m going to open up this application and, in fact, I’m going to go to a SharePoint site and pull up that application. And so, here it is in SharePoint. I’m actually going to show you all of the lists that have been created by using Access to create this application. I’ve got issues, I’ve got all of the tasks, I’ve got the contacts. In fact, when I get over to the issues list, you see I’m using the SharePoint user interface to get to the data that was created with Access, so you’ve go the Web UI working with this data. Here are all the issues, actually they look just like these two issues here. In fact, if I go here and change the status, and then I go over here and refresh this one, you’ll see that that status just changed to resolved as well. So, that data is connected between Access and SharePoint. In fact, it’s really just external data within Access. I could go here and import the data, I have a SharePoint list, that icon is not finished yet, where I can go and pick the server that I want to take the data from. Once I’ve got the server, I can pick which list I want to connect to. And so those external data sources are first class elements of the Access application.

So, if you want to go and connect data from multiple SharePoint sites, or from a SharePoint site and a line of business system, and build a rich application around that, we’re able to go ahead and do that super, super easily. And it’s actually very rich functionality for doing that.

One of the other things that you can do with SharePoint is, really, you want to take this access database, and one of the biggest problems that we’ve had with Access over the years is, you set up these great applications and a great database, and you can’t make it easy for people to get information into the Access database.

And so we’ve talked all about the rich use of InfoPath as a way to collect data that’s validated, that’s backed up with an XML schema. We’re actually going to go here and click on this Create E-Mail button. This Create E-Mail button is going to create a mail merge, but instead of a mail merge that uses the database, it’s going to create a mail merge that can fill the database. And so, I’m going to go here, and I can use an HTML form, or an InfoPath form. I’m going to collect some new information, and now I’m going to choose which fields I would like to collect. I can just go and pick on any one of them, and those fields are going to be part of the mail message. And so, this is going to be a mail message that will allow me to go ahead and collect the information. I’m going to enter the e-mail addresses from Outlook. Actually, if you had an e-mail address field in this data, you could automatically go and collect the information and update it based on who had submitted it, for example, as an e-mail. Go ahead and click Create.

Now, we’re going to get an Outlook mail, and it’s going to show up with all of the richness of it. I’m going to send this mail to a friend of mine, and you see here is all the forms, and it will be editable, and include the form there. Go ahead and send this message.

Now, the neat thing is, I’m going to go into Outlook. Now, I sent this message out to my friend, but I’m going to go here into “Sent Items,” and open up this form. This is what it would look like to receive that message, then click open the form. Now, here I am in Access, and I’m actually going to go fill this out, and I can pick the forms. You see I’m in InfoPath basically filling out the forms. Outlook “12” includes the functionality to basically use an InfoPath form as a mail merge. So, you could send around a mail message that has all the rich data collection with InfoPath and then have that data funnel back to whatever data source you want. I’m going to go ahead and click submit, and send that information in.

And so now that information is gone and sent, and you can see it’s in my sent mail. In fact, that information shows up automatically in a folder in the in-box of the person who sent it. So, remember, I previously sent that mail. And so actually it will automatically, if I’ve enabled this feature, it will automatically process the form, and then go and add it to the database. And I actually forgot if I went and added it or not, but if I didn’t I apologize. And there you have the form added automatically to the Access database, and the neat thing is, if I go here, there you see also added to that Access database as well.

And so, what I’ve done is created a way to submit data to an Access application from within Access, but the data itself is actually stored out there on SharePoint. And so we’ve done a rich connection between Access as a development tool, and the ability to connect and integrate with data that’s stored out on the SharePoint site.

And so, what I showed you is a run through of all the breadth of opportunity for developers to customize the new Office platform in Office “12”, and really show you some of the richness that we’ve got in the platform for building applications. You can go back to the slide now. I showed you how Windows SharePoint Services contributes as a core platform element for building enterprise content management. We showed you how content pipes are defined by you to build rich applications with metadata. How you have an opportunity to build workload solutions with Office, and doing that with out of the box workflows in FrontPage, building your own with FrontPage, and using the Windows workflow foundation, and all the tools in Visual Studio to create workflows and publish those up to the site.

Building on our core application for collecting information from end users is InfoPath. And so having an XML schema, collecting that information, moving it to a site, moving it to a thumbnail, using Access, using it as a front end for collecting data in Access, and using digital property sheets for all the workflow and metadata with the application.

And the world of search, we’ve opened up a while API for you to build custom search solutions with Office, and with Business Data Catalogue, you can build applications that connect SharePoint out to the business data that is super important to your organization.

And, finally, a super important part of our strategy is enabling you to use Access as a landing pad for data, and as a way for building rapidly applications that connect Access data, SharePoint data, and using the richness of Access in combination with any data source that you got.

And, for the kind of solutions that we enable you build as a platform are very rich, you know, document lifecycle solutions, or content publications, a whole range of portals can be built and customized using the Office “12” platform. Business scorecards are a very rich area where you can use the Excel services on the server functionality, combining it with the business data catalogue, and build a very rich scorecard. Using FrontPage and the SharePoint design technology there, extranet collaboration, all of the work that we’ve done in Windows SharePoint Services this release allows for immense scale, so you can have huge scale, build out team site farms, and really build out a great next gen collaborative environment.

I didn’t talk a lot today about the role of Project Server for Enterprise Project Management, but that really enables you to build a whole class of applications on top of the site that’s using the Windows SharePoint Services. Of course, the API support includes XML, Web services, ASP.NET, we also have COM APIs available to both on the client and the server side as well. And you can think of the tool support for the work that we’ve done as being a tiered strategy. First there’s Web-based customization, where you can add predefined Web parts, move them around, and have end users work on them; design and database integration with the FrontPage technologies, whether it’s CFS, XML, ASP.NET, or with the functionality available through designing and working on SharePoint sites. Finally, using Visual Studio, as a developer you can build out Web parts, build out the workflows, and integrate those all seamlessly with the Office “12” ECM Server platform.

And so, with that, I want to wrap up by talking about preparing for Office “12”. So, first thing is, there’s a lot more to come. In fact, even over the past few days, we’ve barely scratched the surface of all the new features for developers and end users in Office “12”. You saw how to customize the UI yesterday, and you’ve seen all of the rich platform elements available to you as developers in Office “12”. And then, starting today, what you can do is, first, you can incorporate XML into your applications, the XML file formats are available to you to start learning. We have XML support already in Office 2003 in some applications. Most of that XML, rich XML support in InfoPath, which is a key tool to really invest in.

Interop for Web services, SharePoint 2003 today has Web service APIs that you can use to build on and build solutions. And really investing today in Windows SharePoint services is an important way to get started on Office “12”. I want to ask all of you to install and develop with Office “12” Beta 1 that you’ll get in a couple of months. We’re very excited to bring that beta to all of you as PDC attendees. And good luck to those of you submitting your first bugs to Watson and winning the steak knives, and with that I do want to thank everybody for the opportunity to share a release that we’re very excited about. And so, thank you very much for your time today. (Applause.)