web metrics
Welcome to TechNet Blogs Sign in | Join | Help

During the launch wave we spend a lot of time "readying" various teams around the company and externally about the new capabilities for developers in Office 2010. This is a topic of great interest across our technical field in particular, due to the multitudes of solutions that are built on Office to do everything from document automation to billable hours booking. I recently had to record one of my training sessions. Normally I'm not one to enjoy camera time (I'm much more comfortable behind one than in front), but there is a nice forcing function about these types of presentations that most software people understand (but rarely discuss.) This is a great opportunity to organize your thoughts. Nothing like having 45 seconds of someone's attention to get your message focused on the things that folks absolutely must understand.

As a Thanksgiving treat, I thought I'd pull back the curtain on that process a bit, and in the process unfold my story on what's new in Office 2010 for development. Hopefully this should be a fun post, but I suppose I'll hear it from you if it is or is not.

The format of this talk was as a Q&A interview-style discussion.

 

Gray can you tell me what's different about developing with Office 2010?

"We're investing heavily in this segment. There is a lot to like in Office 2010 for developers. These investments go far beyond VBA & Add-ins that people traditionally associate with Office development. We're moving toward service & data oriented development, focusing specifically on improving end user productivity with line-of-business applications. For the community of VBA developers & VSTO developer base, we are upgrading the environment to support new Office functionality, 64-bit Office and the Fluent User Interface."

What I'm omitting / not saying: The types of solutions and the types of developers for Office is quite broad, and it is a little challenging to summarize in a short "message" without the watery "changing the developer landscape to improve productivity through enhanced tools and services" or other change-the-channel-right-now speak. The fact is that between VBA, OBA, Open XML, SharePoint and other communities, there are tens of millions of people developing on Office in one form or another. We are very excited about that, and motivated to keep this community of folks happy.

 Can you give me a sense for what new features have been added in 2010 for developers?

"Developing successful productivity applications really involves the utilization of 3 core areas. image

Office is the best consumer of SharePoint solutions and new features in 2010 are designed to make SharePoint and Office light up in new ways. SharePoint lists, for example, can be taken offline in SharePoint Workspace, where InfoPath form templates are designed for interacting with those. Access solutions can now be fully migrated to SharePoint in 2010, to the point where Access is used by the designer to build and publish the solution, and SharePoint portals are the place where users interact with that data. BCS, a new feature of SharePoint for creating and managing read/write data connections to 3rd party systems, has a client-side cache and built-in functionality which allows applications like Access and Outlook cache and work offline with LOB data.

Interoperability for Office is a core priority - availability of Office formats and standards-based services connectivity for Office are two examples of how our investments are paying off. We're also improving the development experience for Office. Word Services and the Open XML SDK automate the document assembly that people previously did with VBA scripting of Word. The recent announcement of the PST format specification is a great example of how we're publishing more of our protocols & formats to encourage integration and interoperability with Office.

We're spending time improving the experience for Office development. With .NET 4.0, Office 2010 and Visual Studio 2010, we're doing good things like removing the dependency on the Office PIA's, to reduce the deployment friction. We have introduced a new Application Compatibility Program for Office 2010, to help migrate code from 2003 & 2007 to Office 2010. The compat tools and documentation are available for free, but also appear in several of our enablement channels, including DDPS, MCS, MDT and others. Some of you may have also seen the recently re-designed developer center for Office on MSDN."

What I'm omitting / not saying: That in many ways Office is becoming essentially a wide open surface for external data. BCS is a read/write connector to 3rd party systems. the Outlook social connector is an API to wire social networking feeds into your mail client. Office surfaces the new taxonomy / folksonomy data in SharePoint 2010. Workflow is consumed directly within client apps. Support for REST and LINQ make query-level tweaking of data / content so much easier. The Open XML SDK gives you element-level access to a document, the "File Save As" on a server that is Word Services uses the Word rendering engine that was actually built to work on a server. (the scripted client solutions were not designed to do that, evident by the hassle of managing unexpected dialog boxes and alerts in the VBA / Macro environment). Again, there are so many things worth mentioning here that it is hard to really pull together into a summary. The diversity of Office development is (not surprisingly) a reflection of the breadth of capability offered in the products.

This challenge is a primary reason we invested in a re-design of MSDN. The "re-design" goes far beyond re-arranging the furniture on the site. New tagging schemes, SEO, information architecture are designed to get you to the answer faster. Having spent some time in the past few weeks digging into the PowerPoint OM, I very much appreciate the ability to navigate to key content (like the PowerPoint.Shape.TextFrame.Ruler object without having to use the search field.

Privately I worry a lot about how to strike a balance between discussing capabilities, features and categories of functionality. Level up too high, and it reads like marketing language. Level it too low and you risk people not appreciating the breath of the offering, and how much of the daily business productivity solution space that Office is capable of absorbing. When I see corporate developers trying to recode pivot tables in a web page, I scratch my chin sometimes and I wonder what we can do to help customers take more value out of what they already have sitting in front of them.

You mentioned VBA - is this still going to be supported in Office 2010? I keep hearing that it is going away.

"VBA is a very healthy and active community, and VBA is a very important part of Office, including the 2010 release. VBA is not going anywhere. In fact, we have upgraded VBA to support the new, native 64-bit Office client. We love VBA. Please continue using VBA."

What I'm omitting / not saying: . if I had a dime. VBA is something we take pretty seriously on the product team, for two reasons. The first and obvious reason is that countless productivity solutions are written in VBA. The number of VBA coders is likely in the tens of millions - that by itself should be a good reason to care about anything. But VBA is also a primary gateway to Visual Studio. Many VBA coders cross the bridge into more professional development. I am one of those (translating my Tandem / TACL skill set to the world of .NET). The Developer documentation team at Microsoft writing the material for VBA is painstakingly precise. The amount of energy they invest in understanding the needs, likes and dislikes of MSDN subscribers is incredible. By the way, if you're reading the documentation on MSDN, you should use the rating / feedback tools on the site. The teams use them more than you might think.

What are the gotchas that Office developers should be looking out for?image

"The 64-bit transition is one that people are going to have to pay attention to. 32-bit and 64-bit solutions have to be compiled separately. Some of the 32-bit code will have to be updated for 64-bit. ActiveX and COM-based addins will need updating. Managed code should be fine, for the most part. Our application compatibility tools will help identify areas of your projects that need updating.

.NET 4.0 presents an interesting opportunity. If you've written an add-in that uses the Office PIA's, it might be time to upgrade that to .NET 4.0 and drop the PIA's - one less thing to worry about during deployment. We're also including the VSTO runtime for Office into the Pro Plus builds, this should make things a little easier as well.

Lastly, the Fluent User interface lands in all client apps now. Outlook, Project, Visio, SharePoint workspace, etc. So if you have an add-in for some of the 2007 or 2003 apps based on the buttons, it's worth paying attention to how they show up in the Fluent UI."

What I'm omitting / not saying: . not a lot really, other than to mention again that the App compat tools are a big deal and people should take advantage of them. They will definitely help. If I were to really expand the category, I'd say that folks should take a good look at what they've built and see if there is an opportunity to move some of the client-side scripting into SharePoint, particularly around documents. The environment is so much better on the server side to do that kind of work, we're very hopeful to see adoption take off quickly for it.

Last question, if you had to explain in one minute or less why companies SHOULD be developing on Office, what would you say?

"The average enterprise has 51 line of business applications, and presumably, each of those drives a set of applications. Imagine if you are an end user who is asked to work with even a fraction of those - think of how much investment is made in training people! Wouldn't it be better if everybody did all of their calendaring in Outlook - where they do the majority of scheduling already? Why do forecasting in a data grid on a web page? Why not do it in excel, where all the tools (like Solver) are available and can help users be more effective? Leveraging office as the user experience for business applications - with SharePoint or with other application platforms - makes a lot of business sense and makes users more productive faster."

What I'm omitting / not saying: . most CIO's get this. Office client may not be the first thing people think of, but when you put it into simple economics, it's hard to argue against. I have had countless conversations with architects that gravitate toward Office client as the landing spot because of the end user adoption issues. Office makes it very easy for people to get going. There are lots of great things to be done on the Web, and there is a lot of activity around that, for sure. But when it comes to measuring up on ROI, and when time to market counts, Office client wins, a lot. We might not be the ones wearing the hot pink tuxedo or the glow-in-the-dark dress at the dance, but we have the most dates, know the most dance steps, and we don't step on your toes.

image 

Kurt starts today's discussion with a quick conversation on the Business Productivity Infrastructure. If you know the Office and SharePoint environment well, this is probably something you've seen us discuss before.

It was at PDC08 when we announced that we will be releasing Office Web Applications that provide a high-fidelity & consistent experience for users who want to access and modify Office content in a browser, mobile device or the rich client. It was also at the last PDC that we announced that our Business Productivity Online Services were releasing giving our customers, partners and developer real choice of on-premises and Online. SharePoint Online is something that's real today. Customers like Aon Corporation, Aviva PLC, McDonald's Corporation, Tyco Flow Control, University of Ohio and many others, have chosen Microsoft Online Services in just the last few months. Our customer base spans consumers to small companies to large enterprises with over 500 Million Office client licenses and 100 Million SharePoint license WW. Over 17,000 customers have deployed SharePoint today.

image

With Office 2010 & SharePoint 2010, we are looking to provide even greater experiences across multiple devices with choice. Rich out-of-the-box capabilities from Enterprise Search to Collaboration to Business Intelligence social computing features, line of business integration and tooling investments. For developers, the 2010 wave will provide unprecedented opportunities. Our research shows that the SharePoint services opportunities alone for developers and partners is 5.6B and expected to grow to 6.1B in FY11. We've also seen hundreds of thousands of developers have worked with SharePoint the past year and we believe that will increase to over one million of developers over the next couple of the years. With this in mind, we're delivering a robust developer platform that you can build rich and engaging productivity solutions that can be accessed by any device and hosted on premises and the cloud.

image

Office and SharePoint provide many of the building blocks to build an array of applications including document processing, line-of-business front-ends, human workflows, reporting and analysis and .COM sites. In fact, on SharePoint 2007 alone, there are over 1,000 .COMs including brand names like Kraft, Volvo & Ferrari.

image

As you look across the spectrum of capability for Office and SharePoint 2010, you'll see that there is a tremendous amount of capability for developers building solutions. Office is frequently used as the front end to line of business processes and applications. And let's face it, if you're an information worker in an enterprise environments, and you are asked to use several of the 50 (on average) line of business systems present in an enterprise, it makes A LOT of sense to surface those things in Office. For end users, Office is an environment that is familiar. For Developers, Office is a way to accelerate the end user learning curve by a substantial amount. Multiplying that across the number of users in and systems / processes in play, the math points to giant savings for business applications.

As we've discussed in previous posts, new Access Services and Word Services of SharePoint 2010 are a significant extension to the SharePoint environment. Word Services offers a programmatic "Save As", enabling bulk document conversion for word formats using all of the formats supported by the client application, using the same rendering engine. Access Services provide huge governance benefits because they allow end users to upload and manage their Access solutions as SharePoint pages, rather than storing the data on the local machine.

There are several capability areas here that represent much power for developers. We'll break these down in more details in future posts.

image

As many have speculated, the Public Beta for Office and SharePoint are available today. http://www.microsoft.com/2010 is the link to visit to get started. Start with the Beta here: http://www.microsoft.com/office/2010/en/default.aspx

More in a moment as the keynote unfolds.

We're making two other announcements today: Duet Enterprise for Microsoft SharePoint and SAP. The joint solution from SAP and Microsoft will enable interoperability between SAP applications and SharePoint 2010 and provide complete flexibility and extensibility to compose solutions that blend the worlds of process and collaboration. Duet Enterprise enables customers to generate more value from their investments by extending the reach of SAP to more users and expand the scope of SharePoint. Duet Enterprise offers highly efficient interoperability between SAP and SharePoint 2010 addressing the growing need for team collaboration, business insight and to boost personal and team productivity. Duet Enterprise empowers all employees to consume and extend SAP processes and information from Microsoft SharePoint and Office 2010.

image

Duet Enterprise is planned to deliver:

· A Foundation to enable interoperability between SAP and Microsoft SharePoint 2010

· Tools and services to support the composition of solutions that blend the worlds of process and collaboration

· Ready-to-use capabilities that provide immediate value for end users

We are also announcing the Outlook Social Connector. In doing so, we are bringing social networking to the place where people spend the majority of their work day - Outlook. OSC adds context to email for a richer user experience. It looks at your Inbox along with the rest of your Outlook data to bring you up to speed on all the latest messages, attachments, and meetings I've received from people in various social networks. The social connector also integrates personal and professional networking feeds from Windows Live and SharePoint 2010. You can see friends' activities and profile data from Windows Live, if someone updates their Space or uploads a document to SkyDrive, you'll see that. You will also see colleagues activities and profile data from SharePoint, if they make a mod to their MySite, you'll see that as well.

image

LinkedIn will be the first 3rd party network available to the OSC. We have been working with them to build a provider which will be available early next year. We're demoing the LinkedIn integration today. Perhaps the best news for developers, though, is that we are releasing an SDK on MSDN so that you can write providers for your own networks. This certainly adds a new dimension to Outlook, and will greatly enrich the value of social networks by providing the context of the work done in Outlook. Start at the Office developer center on MSDN to get the SDK. http://msdn.microsoft.com/en-us/office/default.aspx. Update: the link to the OSC SDK will be here: http://msdn.microsoft.com/en-us/library/ms123402.aspx?missingurl=%2fen-us%2flibrary%2fee829696(office.14).aspx hang loose as it will go live soon.

image

Today has been a very exciting day for us, and as we move forward, we'll have lots more to share. If you're here at PDC, stop by the Office booth and say hello. If you're not here at PDC, well, bummer you missed out on the free laptop, but as you can see much will evolve based on our announcements at the show.

 Update: http://blogs.msdn.com/erikaehrli/archive/2009/11/18/getting-started-with-office-2010-development.aspx. Erika has blogged about Getting Started with Office 2010 development,and the newly launched Office Developer Center on MSDN.

(comments from before the keynote are below)

 

Office 2010 and SharePoint 2010 will be featured as part of this morning's PDC09 keynote. It will be an exciting day. At this moment I'm sitting backstage, waiting for the festivities to begin. Kurt DelBene, the keynote speaker is through the preparations and is warming up back stage. Derek Burney is rehearsing demos. Lots of energy back here. Steven Sniofsky has just taken the stage.

During the keynote I'll be updating this post with new data. Stay tuned.

http://blogs.technet.com/photos/gray_knowlton/images/3294801/500x375.aspx

This photo is of Derek Burney during rehearsal. A very empty room at the time, now filled with thousands of developers.

As we get ready with final slide tweaks, demo run-throughs and all that, Stephen is discussing some of the aspects of Windows 7 Development, including SQM, WER and others. No surprise that Stephen is filled with interesting news and is great for the audience. This blurry photo is backstage at the show. We go on in about 45 minutes.

 http://blogs.technet.com/photos/gray_knowlton/images/3294806/454x375.aspx 140

Right now folks are pretty excited because it was just announced that attendees will be given a free Acer multitouch laptop. Big applause. Steven just wrapped, and Scott Guthrie of Silverlight is on stage. I saw their demos during rehearsal yesterday, more awesome demos are about to unfold. As expected, ScottGu's keynote is wowing people. In his keynote Scott discussed that 45% of internet connected devices are Silverlight enabled. Quite a jump from the 33% reported earlier this year. Silverlight 4 was also announced, and Scott is walking through the new features now. Some interesting data points: Siemens medical imaging is using Silverlight for applications, Bloomberg has Silverlight installed on 300,000 terminals. Examples of NFL, Victoria's Secret, Netflix, NBC Olympics and others are on display. Very impressive.

143 142

Just getting through the last of the Silverlight 4 demos. A very exciting presentation, to be sure. We're t-5 minutes to the stage. Lots of pacing.

With all the talk about Azure at PDC09 today, I cannot help but observe the inevitable language correction required to once again accommodate the technology lexicon.

"On-premise" vs. "On-Premises."

Many, many people are throwing the words around, as if they are interchangeable. Dictionary.com has the following definition for "premise"

http://blogs.technet.com/photos/gray_knowlton/images/3294561/original.aspx

If you are a stickler for accuracy, "premises" would be the correct term to refer to applications, data and services hosted at your local facility. Not that anyone is in a hurry to correct the language or anything. But if you're looking for a good way to say "I'm smarter than you"… this may just be the thing. For completeness, here's the dictionary.com version of "premises."

http://blogs.technet.com/photos/gray_knowlton/images/3294562/original.aspx

It's all in fun of course. But I wonder how long it will take the 2.a definition from Dictionary.com to migrate up to "Premise" based on its continued abuse J.

At the recent SharePoint conference, one of the things I was asked most frequently was whether or not we were going to "do anything" about the Outlook MAPI API. Fair enough. As we do at trade shows, we say "let me check and I'll report back to you on that." Today I am happy to report back on that. MSDN has posted the Outlook 2010 MAPI Reference for your browsing. Many of you may recall the recent announcement about the availability of the PST format documentation as well. Between the two, Outlook developers certainly have a lot more to take advantage of. Excellent progress for this release.

Excerpted from the Outlook 2010 MAPI Reference for your pleasure:

What's New in This Edition
This documentation is preliminary and is subject to change.
The Microsoft Outlook 2010 MAPI Reference has been updated to include documentation for various new features. Documentation for deprecated features has been removed.

New Content
Content has been added for the following features:

  • Support for 64-bit Microsoft Outlook—Reference topics for applicable API elements have been updated to correspond to new header files that support 64-bit Outlook. These header files are now available as a download at Outlook 2010: MAPI Header Files. A new code sample is provided in How to: Check the Version of Outlook to show how to check whether the installed version of Outlook is 64-bit Microsoft Outlook 2010. If your existing 32-bit MAPI application is going to be running on a 64-bit operating system with 64-bit Outlook installed, you will need to rebuild your 32-bit application as a 64-bit application. For more information about MAPI support for 64-bit Outlook, see Building MAPI Applications on 32-Bit and 64-Bit Platforms.

  • Fast shutdown support for MAPI clients—MAPI clients can now initiate a quick shutdown and have the MAPI subsystem notify loaded providers to minimize data loss from the fast shutdown. Additional interfaces have been added for the client and provider to support fast shutdown. For more information about fast shutdown, see Client Shutdown in MAPI.

  • Stream structure for field definitions for an Outlook item—Documentation for a binary stream for the PidLidPropertyDefinitionStream property has been added. This property specifies definitions of all custom fields and data-binding settings for built-in fields of an Outlook item.

  • More properties—Documentation for an additional 38 tagged properties and named properties has been added to this release.

  • Option of linking explicitly to MAPI functions—MAPI developers can now choose to explicitly link to the MAPI stub of the default MAPI client (for example, Msmapi32.dll of Outlook) without going through the MAPI library and the Windows MAPI stub. For more information about explicit linking as compared with implicit linking, see How to: Link to MAPI Functions.

 

Shortcuts for PowerPoint Developers
I've been digging into PowerPoint 2010 development extensively over the past week or so. I've learned a lot I had not worked with it in any meaningful way until a few weeks ago, and I thought I'd share a little beyond what I offered in VBA last week. First, a very useful piece of machinery for PowerPoint coding. This is a loop (written in VB) to iterate through all shapes on the slide currently in view. Once you get this down, the code to perform manipulations on those shapes and slide properties isn't too difficult (provided you can successfully navigate the OM).

http://blogs.technet.com/photos/gray_knowlton/images/3293460/original.aspx
(get the code)

As an example of this in use, here is a procedure to remove all underlines from the type used in the current slide.

http://blogs.technet.com/photos/gray_knowlton/images/3293462/original.aspx
(get the code)

Here's a way to identify the theme font and apply that font to shapes on the currently displayed slide. This is written in VB using VS2010 Beta 2 and Office 2010. This code sits under a button on a custom Ribbon tab. Theme fonts (both Major and Minor) have three variants: Latin, Complex script and East Asian, and each can be separately identified and modified given the appropriate changes to the code below. The biggest hurdle to identifying that font through the PPT OM is the ability to select (in most cases) the name of the Latin font. There isn't a lot of documentation for doing this, so I thought I'd share a little learning. As with all things, there are probably ways to do it better, but this works, so here it is.

http://blogs.technet.com/photos/gray_knowlton/images/3293463/original.aspx
(get the code)

 

PowerPoint Theme Builder
Also worth your time if you're doing a lot of work in PowerPoint is the Theme Builder. This handy tool will get you pretty far in developing or customizing theme files for PowerPoint. Theme builder works with PowerPoint 2007 today.

http://blogs.technet.com/photos/gray_knowlton/images/3293464/original.aspx

Continuing with the deep dive into new tools in Office 2010 Application Compatibility, we would like to explore and illustrate in detail how Code Compatibility Inspector (CI) functions.

Visit the prior post on App compat. Visit the drill down on the environment assessment tool.

The Microsoft Office 2010 Code Compatibility Inspector is designed to assist an enterprise or small business with updating VBA and VSTO code so that it becomes compatible with Office 2010. While the tool does not directly make code corrections (other than correcting Declare Statements for 64bit compatibility in VBA), it does comment code in locations where potential Object Model changes have been identified. Users or developers debugging their code can get assistance from the comments and links to topics on MSDN that detail the changes that may be affecting a specific line of code. Here is what CI actually do:

  • The Code Compatibility Inspector consists of four addins that load in PowerPoint 2010, Word 2010, Excel 2010 and Visual Studio (VS 2008 is the targeted version with VB.NET and C# languages supported).
  • It operates on a per-user/per-document/per-solution basis. When a user opens a document (or Visual Studio solution) they can run the tool from the developer tab (or Tools menu in Visual Studio).
  • The CI scans the VBA projects in the current document or Visual Studio Solution via simple text search looking for parentObject.Property combinations.
  • It also scans Declare statements for 64bit compatibility in VBA.
  • Where potential issues are found, the tool will add comments right next to that code, including links to the topics on the details of the change pointing to MSDN.
  • When completed, the tool will provide a summary and detailed report of what was found in the project as well as an option to remove the inserted comments.

CI can be run by an individual developer or macro user, when they have access to the code. Here is what you can expect to see when you download and run the installation package:

 http://blogs.technet.com/photos/gray_knowlton/images/3292846/original.aspx

You have choice of the installation either in the Office VBA environment or in the Visual Studio environment or both if you prefer.

To inspect a code in a document for compatibility, you would follow these steps:

  1. Open the desired document in PowerPoint/Word/Excel.
  2. On the Developer Tab, click Inspect VBA Code.

     http://blogs.technet.com/photos/gray_knowlton/images/3292847/original.aspx

  3. On the Inspect VBA Project dialog, select the options you want, then click Inspect.

 http://blogs.technet.com/photos/gray_knowlton/images/3292848/original.aspx

  1. The Inspect Visual Basic for Application Projects has to be checked in order to inspect your VBA project for potential Object Model changes.
  2. The Inspect Declare Statements will make your project 64bit compatible. Select this option if:
    1. Your project will only be run on Office 2010.
    2. May be run on a system running 64bit Office 2010.
  3. The Add comments option will place comments in your code where potential compatibility issues are discovered. These comments will appear similar to the following:

 http://blogs.technet.com/photos/gray_knowlton/images/3292850/original.aspx

The <URL></URL> tag will contain a URL to the relevant site on MSDN describing the suspect OM change found (it is not in this picture because.

  1. The Detailed Report option will create a text file report at the end of the inspection process. This report will contain the following information:

    SUMMARY:

    ========

    Document scanned:                  c:\Test.ppt
    Date scanned:                                   Tuesday, October 20, 2009
    Total lines scanned:                        319
    Total items found:                           35
    Deprecated items:                          0
    Changed items:                                2
    Redesigned items:                          0
    Declare statements:                       32

    DETAILS:
    ========
    MODULE:                            clsPPTEvents
    FUNCTION:                         PowerPointApp_WindowSelectionChange
    LINE:                                      20
    TYPE:                                     CHANGE
    ITEM:                                    Presentation.SlideMaster
    URL:                      
    CODE:                                   Set objMaster = ActivePresentation.SlideMaster
    MODULE:                            clsPPTEvents
    FUNCTION:                         PowerPointApp_WindowSelectionChange
    LINE:                                      37
    TYPE:                                     CHANGE
    ITEM:                                    Presentation.TitleMaster
    URL:                      
    CODE:                                   Set objMaster = ActivePresentation.TitleMaster

  1. When the scan is completed, you will get a summary report similar to the following that will detail the number of changed items, deprecated items and design changed items (described in more detail below):

 http://blogs.technet.com/photos/gray_knowlton/images/3292851/original.aspx

  1. Total Lines Scanned – the total number of VBA code lines scanned in the document.
  2. Total items found – this is the total number of declare statements updates, changed items, deprecated item and design change items found in the code.
  3. Deprecated items – these are items that were found which were removed from the object model. These items may require a code workaround – an alternative approach as the feature it is dependent on is no longer available in the product.
  4. Changed items – these are the items found where the syntax of the command were changed and may need to be updated.
  5. Redesigned items – these are items where the syntax is still the same and the item/feature still exists. However, the desired result may no longer be the same. For example, a textbox formatting may have changed because of new text services. While a textbox will be created, the layout of the text in the box may differ when compared to previous versions.
  6. Declare statements – this is the count of the total number of Windows API statements that were detected in the VBA code and were updated for 64-bit compatibility by adding the PTRSAFE keyword.

Once you have successfully inspected your code if CHANGED, DEPRECATED or REDESIGNED items were found will be to start debugging your code. We suggest you perform a full test pass on your code, inspecting each function. If problem are found and you break into the debug of your code, check to see if there is a VSTO Code Compatibility Inspector comment above that line. If there is, it should give you direction on the type of problem occurring in that line of code and will contain a URL that you can copy and paste into your browser to get more information. Once you have completed verifying your code for Office 2010 compatibility, you can remove the comments from the code by clicking the Remove VSTO Inspector Comments on the Tools menu:

  As we mentioned in our previous post on OEAT - we will be offering a preview of the tools for Office 2010 application compatibility in early December. We also recommend you stay tuned to the Office 2010 public beta to be delivered in November as well, so that you can experiment with getting your 2003 and 2007 solutions to work with Office 2010.

If you would like to sign up for the beta of OEAT and CI, please send an email to this address: mailto:OFAPPCPT@Microsoft.com.

The Office 2010 train is now boarding. For those of you looking to get your hands on some training content in advance of this month's public beta, we've got your fix. Today on Channel 9, developer workshops for Office 2010 and SharePoint 2010 are posted and live.

Office 2010 Developer Training available today on Channel 9:

 http://blogs.technet.com/photos/gray_knowlton/images/3292484/original.aspx

Congratulations to Donovan Follette and team on some outstanding work!

Most weekly newspapers publish on Thursday because this is the day when the majority of young people plan their weekends. Thursday is a good day for a lot of things; it's when I have my team meeting. I choose Thursday because there's a good bit of news to recap with the team, and there's a bit of time to put things on track that need to be put on track. As it turns out Thursday (especially this one) is a good day for a blog post. I have some things to share, and some news that is worth reading about Office 2010 for Developers.

Did you see the newly designed Office Developer Center on MSDN?

For designers: A quick taste of PowerPoint VBA. People who know me well have witnessed my neurosis for PowerPoint slide design, particularly how type is treated. I lay awake at night wondering how much mental sludge one accumulates after looking at poorly set type over a period of years. For an untrained eye poorly designed slides are hard to read. For a designer they're like nails on a chalkboard. It doesn't have to be this way.

I review a lot of decks (on the order of 50 per week as a guess). I'm famous for fixing them before I can read them. I can't sit and read a bunch of text that is mashed together or poorly organized. I am compelled to act. As a compromise to the people sitting in my office watching me re-typeset their decks, I spent some time coding up a simple VBA add-in to programmatically fix the things that drive me up the wall. I'd like to share a brief sample of that for folks who need an introduction to VBA in PowerPoint. One of the things that I must fix is the line spacing of text. In auto-fit mode, PowerPoint will compress that line spacing down to values as low as 0.9. This gives me the same claustrophobia as bunk beds that are stacked too closely together. The VBA routine below fixes the line spacing issue.

The magic is highlighted below. It reviews each shape on a given slide, checks whether that shape is a text frame, and sets the "SpaceWithin" attribute to 1.0, giving lines 100% height, and a little air to breathe. The remaining code is a few simple loops and variables – probably 100 ways to do it better, the example is crude. But this saves me a tremendous amount of time.

Warning: this may shrink your type in auto-fit mode, but I'll take smaller type sizes over the claustrophobic bunk bed problem 100% of the time. I have similar modules for getting rid of underline type, fixing user-inflicted kerning (tracking / character spacing) problems, and a handful of other things. Each of them took no more than 10 minutes to code, and I save at least 10 minutes of review time on almost every slide deck I see. – per my simple math above, that's 500 minutes a week. Message to fellow designers: It's worth the time to learn how to use VBA in PowerPoint.

Option Explicit
Sub FixLineSpacing()

Dim i,y,j,z As Integer
y = 1
z = 1
i = ActivePresentation.Slides.Count + 1

While y < i

With ActivePresentation.Slides(y)
j = ActivePresentation.Slides(y).Shapes.Count + 1

While z < j
With ActivePresentation.Slides(y).Shapes(z)
If ActivePresentation.Slides(y).Shapes(z).HasTextFrame Then
With .TextFrame.TextRange
.Lines.ParagraphFormat.SpaceWithin = 1
End With

End If
End With
z = z + 1

Wend
z = 1

End With
y = y + 1

Wend

End Sub

By the way I am very aware that the setup to explain what the thing does and why I have it is longer than the code itself -- I encourage you to draw conclusions about the complexity of coding in VBA. It is not a hard mountain to climb.

The great thing about the product launch window is that there is so much great information to share. Following is a list of very good blog posts relating to Office 2010 development. There are enough now that they're hard to keep track of:

Update: I caught wind of some problems with the email address for the beta signup through blog comments and other channels. We had to resolve a technical difficulty with the email alias. With our apologies, please continue to use the email address below to sign up for the beta. It should be working now. mailto:OFAPPCPT@Microsoft.com

 

 In the earlier post discussing Office 2010 Compatibility, we outlined the new tools and guidance for Office 2010 to help update code to work with the new version. There has been quite a lot of interest in the program, which is great to see. I'd like to take some time today to drill further on the tools, this post is one in a handful we will do on app compatibility leading up to the availability of beta tools in December.

As a program, the app compatibility work could be best reflected in the following illustration.

http://blogs.technet.com/photos/gray_knowlton/images/3290903/original.aspx

The migration guidance (documents) along with the three tools will be delivered through various deployment programs like DDPS and MDT, but will also be available for use at TechNet and MSDN in the future. These tools and guidance will be freely available for anyone to download and use.

Today I'd like to discuss the Environment Assessment Tool (OEAT) in depth.

The purpose of OEAT is to help assess what applications and Office add-ins you have in your environment. This tool will also help you assess which add-ins vendors have verified will work for Office 2010 and give you enough information on other add-ins and applications in your environment to perform meaningful remediation of potential issues before you deploy. OEAT provides you a snapshot of your organizations add-ins and other applications that automate Office.

OEAT can be run by individuals, locally, or remotely from a UNC share using common IT actions like a login script. OEAT will scan each specified system and report the results to a designated location. OEAT can then be used to compile the results of a single scan or multiple scans into an Excel Spreadsheet, which can be used to assess the environment (and prepare for remediation) before the deployment of Office.

Scans can be done through the OEAT user interface or via command lines. In both cases, output is directed to a location of choice, and for multiple desktop scans, output is aggregated in a single location for compilation. After the completion of scanning, OEAT will compile the results of all scans into an Excel workbook for analysis.

http://blogs.technet.com/photos/gray_knowlton/images/3290905/original.aspx

An interesting feature of OEAT is the ability to "passively" scan a system for programmatic access to Office applications. Passive Scan is initiated by turning it on in the setup wizard. Passive Scan Settings is currently step 3 of the Wizard.

http://blogs.technet.com/photos/gray_knowlton/images/3290906/original.aspx

The interesting bit of magic for passive scanning is that the program will remain resident in memory on the local machine for the specified duration, performs the scan by placing Audit keys on the specific Word, PowerPoint, Excel and Outlook CLSID Automation keys in the Windows Registry. When any application automates an Office application, Windows will capture that event and add it to the Windows Security Log. It is important to point out that these operations will require the tool to operate with administrative privilege on the system.

OEAT Report

OEAT produces a system summary report that is useful in helping you assess your Microsoft Office installation environment. There are two major categories of information reported by the Office Environment Assessment Tool.

http://blogs.technet.com/photos/gray_knowlton/images/3290907/original.aspx

  • Systems Summary Report – a summary of the hardware and software environment of your organization. This includes:
    • Drive Space
    • Installed Memory
    • Processor Types
    • Computer Types
    • Windows Installs
    • Installed Anti-virus
    • A series of charts that show these summary reports.

http://blogs.technet.com/photos/gray_knowlton/images/3290904/original.aspx

  • Detailed Add-ins Report – a detailed report of all systems scanned that include add-ins and automating applications. This includes several lists:
    • All add-ins found – this includes Microsoft add-ins (shipped with Office).
    • Add-ins not installed with Office – this is a subset list of add-ins found in your environment that is not included with Office.

There are additional slices on the data such as 32-bit vs. 64-bit hardware, average disk space, etc. When you report on a single desktop or gather reports from many systems, the raw data is also stored in the report so that you can create your own pivots of the information.

As we move toward release of the tools, Microsoft will be working with vendors to verify whether their add-ins are compatible with Office 2010. As vendors verify which versions of their solutions are upgraded or work with 2010, we plan to offer a forum and a list for vendors to declare their tools as Office 2010 ready. OEAT is planned to integrate with that list, and we should be able to correlate between scan results and the online list, schedule permitting. This is still being implemented, so we'll have more to share in the future.

Sign up for the OEAT Beta

Are you interested in testing the tools on your environment? We will be offering a preview of the tools for Office 2010 application compatibility in early December. We also recommend you stay tuned to the Office 2010 public beta to be delivered in November as well, so that you can experiment with getting your 2003 and 2007 solutions to work with Office 2010.

If you would like to sign up for the beta of OEAT, please send an email to this address: mailto:OFAPPCPT@Microsoft.com. If you are already testing Office 2010 Technical Preview, an Alpha version of the tool is available on Connect: https://connect.microsoft.com/office/Downloads/DownloadDetails.aspx?DownloadID=21775

In a future post, we'll discuss the Compatibility Inspector (The thing that scans your code), OMPM, and the forthcoming documentation for application migration.

SharePoint Conference was a very busy time for us. We were finally able to pull back the curtain on many of the capability areas of 2010, and for a lot of folks, this was the first opportunity to see what all the excitement is about. There is a lot of buzz about Office and SharePoint 2010, but there are some important developer capabilities that are worth paying attention to. I wanted to take a moment to highlight some of the more interesting "sleeper" areas that we discussed in detail at the show, and point you at more information on those.

Visual Basic for Applications (VBA)
Speculation regarding the future of VBA has been a topic of conversation for quite a while. This is a sensitive area for us – there are millions upon millions of VBA coders in the world. A quick analysis of file types on Google search (where we can distinctly identify the differences between macro-enabled and non-macro-enabled documents) shows us that ~4% of Open XML documents for Excel indexed on Google are Macro enabled. Multiply that out to the billions of Office documents that exist, and you get the idea of the value that VBA has to the Office user community.

http://blogs.technet.com/photos/gray_knowlton/images/3289681/original.aspx

To cast aside any doubt – VBA is supported in Office 2010. In fact it has been upgraded to support the new, native 64-bit client version of Office. VBA remains a powerful tool in automating Office, and Alt-F11 remains the coding experience of choice for many people. To cast aside any speculation – we love VBA. We encourage you to use VBA, and VBA is a viable and important part of our product. John Durant has an excellent post – "Why VBA still makes sense." It is very much worth reading.


InfoPath 2010 and InfoPath Forms Services
Forms capability in Office and SharePoint is maturing rapidly. With the inclusion of BCS in SharePoint 2010 and Office 2010, InfoPath becomes even more powerful as a tool for aggregating, presenting and gathering information. Why? – People are now discovering how easy it is to bind BCS entities to a SharePoint list, and then present that list data to users in a rich InfoPath form. Because InfoPath does a great job of making complex data interaction simple for end users, it is becoming a critical component of LOB solutions managed in the SharePoint environment. Surfacing InfoPath solutions via the browser, InfoPath mobile forms, through Outlook, SharePoint Workspace or other interfaces makes the rich InfoPath experience portable and flexible. People on the floor certainly responded positively; InfoPath was a smashing success. Visit the InfoPath team blog to read about some of the solutions they were previewing. Below is an excerpt from the post:

Demo 3: Office Business Applications: Procurement scenario
In this final demo,  Peter and Bojana showed the audience how InfoPath helps IT departments develop full Office Business Applications on the SharePoint platform. They used a procurement scenario to demo these capabilities. In this scenario, an employee submits a request to purchase a new laptop computer. The solution used an InfoPath form that connects to a vendor database, that brings in details about the goods you can purchase.

Procurement Form:

http://blogs.technet.com/photos/gray_knowlton/images/3289682/original.aspx

 

Access 2010 and Access Services
Access 2010 and Access Services take a very powerful product and make it stronger. Imagine the ability to design a tracking application in Access, and then the ability to surface that Access application via SharePoint and the browser. A lot of people are observing the type of capability enabled by Access Services, and like this blogger, finding that Access 2010 is worth a look.

http://blogs.technet.com/photos/gray_knowlton/images/3289683/original.aspx 

At about 9:00 of the embedded video another great new feature of Access 2010 is highlighted – a visual Macro designer.

Business Connectivity Services (BCS)
SharePoint veterans will appreciate BCS as the "read/write implementation of BDC." For the rest of us, BCS is a way to define, store and manage line of business connectivity through SharePoint. BCS is accompanied by a client-side runtime that ALSO allows you to push and cache the results of the BCS connections to the client. This makes it much easier to surface LOB data in Office client applications. The BCS team blog can get you up to speed quickly on how BCS works and describe some of the scenarios that are aided by BCS.

http://blogs.msdn.com/blogfiles/bcs/WindowsLiveWriter/OverviewofBusinessConnectivityServices_CCC6/clip_image002_2.jpg  

Word Services of SharePoint 2010
Probably my favorite feature of SharePoint 2010 is what we call Word Services. In the past, we've seen many developers who install Office on a server and write VBA for Office to automate things like Open/Save operations. With SharePoint 2010, the introduction of Word Services gets us out of jail on that… instead of scriping the client app, we now offer essentially a "file save as" on the server side, without requiring the client user interface. This makes for a much more robust environment for doing batch document conversions. All file formats written in the client version are supported, and because of this, we now offer bulk conversion to PDF in SharePoint 2010. The Word Team blog has plenty of great details on Word Services. When combined with the Open XML SDK, this new capability opens endless possibilities for processing documents.

There is so much to discuss for Office 2010. Over the next two or three months, we'll drill into the details on several areas. The next post will drill on the Office Environment Assessment tools and the Application Compatibility Program we announced last week.

 

Update: If you would like to sign up for the beta program for the tools, please email the following alias. mailto:OFAPPCPT@Microsoft.com

Update: Read more details about the tools in these two subsequent posts:

http://blogs.technet.com/gray_knowlton/archive/2009/11/10/office-2010-application-compatibility-deep-dive-on-the-code-compatibility-inspector.aspx

http://blogs.technet.com/gray_knowlton/archive/2009/11/02/office-2010-application-compatibility-deep-dive-on-environment-assessment-tool.aspx

Hello, my name is Michael Kiselman, I am a technical product manager driving Office 2010 application compatibility program on Office developer marketing team. I’d like to share our exciting news about application compatibility we’re unveiling today at the SharePoint Conference.

 

With the great value Office 2010 brings for end users, IT Professionals and Developers, we are also investing heavily in making  deployment of the new version of Office easier. As part of our focus on deployment, we have renewed priority on helping ensure applications and Add-ins for existing installations of Office continue to work without hangs, crashed or performance degradation when interfacing with Office 2010.

IT departments charged with upgrading Office take special care to find the add-ins, macros and other 3d party applications users have installed to ensure they will not cause problems after the upgrade is complete. Developers (professional and non-professional dealing with macros and scripts in Office applications), on the other hand, spend time testing and migrating their code to work seamlessly in Office 2010. And then, there is a task of migrating Pre Office 2007 binary documents to the latest Open XML format based files.

Today we are announcing the Office 2010 Compatibility Program to help address these areas. The compatibility program will provide tools for environment assessment, code scanning and remediation assistance, and an update to the document conversion tools introduced with Office 2007. The tools, guidance and services we are delivering will be the most comprehensive we have provided to date for a new release of Office.

The Application Compatibility program will be delivered in the form of tools, guidance and programs.

Office Environment Assessment Tool (OEAT) and Code Compatibility Inspector are new tools that will be made available to assess the current state of desktop installations, and to scan code for potential issues. We will also update the Office Migration Planning Manager for Office 2010. Comprehensive guidance in a form of an Application Compatibility Analysis and remediation guide will be offered as well on TechNet and MSDN.

 

Figure 1: Office Environment Assessment Tool

We can share a little about the new tools we are building to give you an idea of where we’ll provide help.

Office Environment Assessment Tool:

·         Discovers currently installed applications

·         Discovers Add-ins currently in use by Office clients

·         Discovers Programs that are not registered as Add-ins but still interact with Office programs

·         Environmental assessment (potential upgrade issues)

·         Add-in compatibility assessment – relates information about the program’s compatibility with Office 2010 from the TechNet site.

 

Code Compatibility Inspector:

·         Scans Visual Basic for Applications (VBA) Solutions for potential issues

·         Scans Visual Studio Office projects for potential issues

·         Performs a simple text search (likely candidate search) for known properties and methods in the Office Object Model that changed

·         Provides the option to comment/mark those areas in the code where text search has identified a possible OM match

·         Summary of total lines of code scanned as well as total lines identified as potential candidates for OM changes

·         A detailed report, with module name, line number, and links to remediation for each issue found with possibly a red/yellow flag for impact guidance

·         Scans and optionally updates Declare statements for 64-bit compatibility

 

 

Figure 2: Inspecting VBA projects with the Code Compatibility Inspector

 

Want to get involved?

The beta of the tools and the draft of the Assessment and Remediation Guide will be available for customers and partners on Microsoft.com download center by early December. We will update this blog when they become available.

These tools and guidance will be available to our customers and partners through a variety of services like Desktop Deployment Planning Services for partners or a Deployment Optimization of Windows and Office MCS Offers. The tools and guidance will be available in virtually all of our deployment planning activities, look for them to land in a program near you.

Along with the tools, guidance and programs, we will also launch a partner program to provide an opportunity for Microsoft partners to pledge the compatibility of their products with Office 2010 and enlist the product on the upcoming Office 2010 Application Compatibility Center on TechNet. Some of you may have noticed the re-designed Office developer center on MSDN, we’ll continue to add to that with our compatibility activities.

 

 

Michael.

 

 

 

SharePoint conference is just a few days away. We are thrilled that in an era of shrinking shows and budgets, we're able to have a sold out conference dedicated to learning about Office and SharePoint 2010. It will be an exciting week.

A positive trend in Office development is the migration of solutions away from in-application scripted processing toward more data-centric development. Of course this is a primary purpose of Open XML, and it is great to see the amount of activity in this area. We've seen customers scripting Word in a server environment to batch process / print documents or for other automation tasks. In reality Word isn't built to do that on a large scale, it is better to work directly against the document rather than via the application whenever possible.

The Open XML SDK unlocks a "whole nuther" environment for document processing, and gets you out of the business of scripting client apps on servers to do the work of a true server application (not to mention the licensing problems created by installing Office on a server). We'll have the Open XML SDK in many sessions at the show.

I am also very excited about the Application Compatibility Program for Office 2010, and in the next post on this blog, we'll go into deep detail about what we're planning for the 2010 release. App compat is a very important area for our customers, ensuring solutions can be easily migrated between versions of Office will help those IT's & Devs charged with migrating masses of desktops to a new version. – this should be easier than ever with 2010 if we've done our job correctly. (Hint: If you'd like a sneak peek at one of the new app compat tools we're planning, hop onto connect and give this a test drive.)

You'll see these stickers about. Intergen is sponsoring a promotion for OpenXMLDeveloper.org at the show. Be sure to get your sticker from them as you see them around.

http://blogs.technet.com/photos/gray_knowlton/images/3287342/original.aspx

In terms of Open XML session content, there's plenty to enjoy. I'm adding a sample of the sessions from the show. Some sessions have an explicit focus on Open XML, but Open XML is present in most of them for various reasons.

Title

Timeslot

Overview of the SharePoint 2010 Developer Platform

10/19/2009 13:15

What's New in Office 2010 for Developers

10/19/2009 14:45

Overview of Visio Services 2010

10/19/2009 14:45

What's new in Office 2010? (Overview)

10/19/2009 14:45

Report on SharePoint data with Access 2010

10/19/2009 16:30

Building Applications on SharePoint with Access Services

10/20/2009 9:00

Building OBAs using Business Connectivity Services and SharePoint Designer

10/20/2009 10:30

SharePoint 2010 Based Document Assembly and Manipulation

10/20/2009 10:30

Understanding Office 2010 and the Office Web Apps

10/20/2009 13:15

Deep Dive Open XML and the Open XML SDK

10/20/2009 13:15

Office 2007 vs. Office 2010 - Deployment Considerations

10/20/2009 14:45

Co-authoring with Office 2010 and the Office Web Apps

10/20/2009 14:45

Creating Office 2010 Add-Ins using SharePoint as a Data Source

10/20/2009 14:45

Office Web Apps – Deployment and Manageability 

10/20/2009 16:30

UI Extensibility and Customization in Office 2010 Applications

10/20/2009 16:30

Develop Advanced Access Web Databases & Publish to SharePoint

10/21/2009 10:30

SharePoint Workspace 2010:  the Microsoft Office Client for Team Sites 

10/21/2009 13:15

Creating OBA Solutions with Business Connectivity Services (BCS)

10/21/2009 13:15

Managing Access Databases in Your Organization

10/21/2009 13:15

Open XML Development for Office 2010 and Beyond

10/21/2009 14:45

Visual Studio 2010 Tools for Office Development

10/21/2009 16:30

Access Services: Under the Hood

10/22/2009 9:00

Leveraging Excel Services in Office 2010 Client and Windows

10/22/2009 9:00

Office 2010 Client Security

10/22/2009 10:30

Office 2010 Application and Feature Compatibility

10/22/2009 10:30

Form-driven Mashups Using InfoPath and Forms Services 2010

10/22/2009 10:30

InfoPath 2010: Form Design Best Practices

10/22/2009 12:00

There is so much for us to share at SPC. If you are planning to attend, please stop by our booth(s) and say hello. For those not attending, we'll do our best to share that information on my blog and across MSDN, Channel 9 and more.

 

 

There's no doubt that Microsoft offers perhaps the best benefits package in this industry, particularly for those people with families. One of those benefits related to child birth is an extended paternity leave which goes well above and beyond what is minimally required within FMLA. After the birth of our second child, I was fortunate to have the opportunity to take 4 weeks away from work to be with my family. After a lengthy, grueling stretch of launch planning, Open XML activity, developer readiness, trade shows, etc., the break was well timed. It didn't take me long to stop checking my email, but I did think about how much I appreciated the benefit every day.

  

The family time for me was a great reminder of why I expend the time and effort I do at work, but also great for sharpening focus on what is most important in life. I return renewed, energized and grateful to my employer.

So now we buckle down and get to the business of educating developers on the improvements in Office 2010. Many of you have seen the teaser trailer, some of the basic introductory content for Office 2010, and are probably paying close attention to the Office Web Applications. Some of you are testing pre-release products.

I wanted to take a minute to tip you off on areas that may be of interest if you are a Developer looking at Office 2010 for what's new.

A primary learning opportunity is the SharePoint Conference, coming up in October in Las Vegas. Despite the name, the new capability for developers in Office 2010 will be prominently on display, and many of us will be there to share details about those investments with you. I would recommend if you are attending to seek out John Durant, who is not only well-versed in the past present and future of Office development, but also (not coincidentally) responsible for much of what you'll see at the show. He's been working very hard to put together the complete picture for the client side. His most recent post, "Why VBA Still Makes Sense" ... makes a lot of sense. I'm looking forward to seeing a lot more of John's posts on Office development.

 

Another area worth investigating at the SharePoint conference are the sessions on the Open XML SDK, Server-side document processing and conversion, and generally the concept of using documents as a data source. A long-standing tenet of the transition to XML-based document format for the core authoring applications has been the ability to mine & re-use the content contained within them, or perhaps to generate and process those documents outside the context of an authoring application. We'll have a lot to say about this topic area at the show.

As many of you have also seen, Office 2010 will offer a native 64-bit client version. This has implications for developers. Part of our mission at SPC is to discuss how the 64-bit transition will take place, and to discuss the tools & techniques available to you for making the transition.

For Access developers (and emerging developers using Access), we'll have plenty to share as well. In fact, there is quite a bit of detail for developers of virtually every office Application. The InfoPath team will be there in force, we'll have plenty to share about the future of InfoPath as well.

•    Publishing Access solutions to SharePoint
•    How to program the Office Backstage view
•    How to leverage the Ribbon UI in custom solutions
•    Access as RAD tracking application tool
•    Overview of all developer investments in Office 2010
•    Visual Studio 2010 Office development tools improvements
•    Open XML-based solution building
•    Excel Services and REST APIs

If you are an Office developer, and you have $ to attend only one show, I recommend you find your way to Vegas and visit us in the booth.

So today we pull back the curtain on Office 2010. Product managers know that launch is the most exciting (and exhausting) time. Late nights building demos on "not release candidate" builds, refining the storytelling, making sure we're not missing any key new features, and so on. The last mile of product communication is quite difficult, requires a lot of dotting and crossing. Having watched this version of Office evolve from concept to reality has been quite a journey, filled with fascinating discussions large and small. (Remind me to blog in the future about arguments on what an acceptable download size is, and why fonts matter so much.)

This is my second launch for Office, and the 14th (or so, I've lost count after 10 years) product launch I've been involved with in my career. What is unique about the build-up to 2010 for me is the anticipation of something so new and innovative, and the expectation for Microsoft to deliver something great in this release. Now that I've been using Office 2010 for a while, I am confident that the early Tech Preview testers of the product will find a lot in there, as will the folks testing the broader public beta down the road.

I wanted to take a minute to point you to some of the great resources you can use to learn more about Office 2010.

I'll have a lot more to share on this blog as we move forward with 2010. Some of the topics that you will find here:

  • Open XML and the Open XML SDK
  • Application and Macro compatibility with Office 14
  • Visual Basic for Applications (VBA)
  • Connecting with Office developers in the wild
  • And much more.

Office 2010 is a groundbreaking release, and with it folks will be reminded why Microsoft Office has been the leading innovator in business productivity software for 20 years.

Sorry for the absence, I took a short break from work and blogging after the birth of our second child. Being a parent is a great blessing. It's just the signing up for 12 more months of 3-hour increments of sleep that I'm not so sure about J.

But it's back to work for me now, and it is a pleasure to return to some great news related to the adoption of Open XML. The Compatibility Pack, software that allows you to open, edit and save Open XML format documents in Office XP and 2003 has now been downloaded over 100 million times. This is quite a strong indicator of the global adoption of the Open XML formats. This is incredibly positive news.

Why?

As I discussed when we were at the 20 million mark, the compatibility pack is a manual download. It is not pushed through any update channels*. In order for an end user to obtain it, they must visit the Microsoft download center, select one of the 35 available languages, and download the 26MB installer. To say it differently, more than 100 million people have had cause to seek out and download the compatibility pack for Open XML; likely due to their encountering a document stored in one of the formats.

This number also does not include IT departments who have pushed the compatibility pack to users through tools such as WSUS or other software management services. Typically that would have a download count of 1, and a distribution count of thousands. I have worked on several of those projects with various customers. The number also excludes our OEM partners who have elected to distribute the compatibility pack. Two months ago I purchased an HP Laptop which came with the compatibility pack pre-installed.

Also worth noting is the conservative nature of this measurement. The statistic measures known, completed downloads, but we're also aware that in many cases, the download completes successfully even if we don't receive the feedback that it has. It is very likely the case that the number of actual end user downloads greatly exceeds 100 million. We're also not counting the # of downloads of the free viewers for Word, Excel and PowerPoint 2007 either.

Combined with the outstanding traction of Office 2007 to date, we are now at a point where a substantial percentage of business productivity desktops are reading and writing Open XML documents.

This is also a good time to refresh this data. As of today, the gap between the number of indexed documents for Open XML and ODF is increasing. According to Google file type searches:

Format

Oct 08 result

June 09 result

% increase

DOCX

94,000

297,000

216%

ODT

81,200

132,000

63%

XLSX

18,000

86,200

379%

ODS

17,100

28,800

68%

PPTX

32,800

94,900

189%

ODP

25,900

46,900

81%

As I also said in my prior post on format adoption, however, relative to the 81 million binary Office documents indexed on Google, we have a long way to go. It's great to see that we're off to a great start on Open XML though.

*You can see from Microsoft Update that patches or updates to the compatibility pack are offered as automatic updates. The compatibility pack itself, however, is not available through any automatic update channels.

Doug Mahugh posted today on Interoperability – specifically the difficulty of enabling cross-application exchange of document formats. This represents one (important) aspect of the overall interoperability challenge, but I would like to set some context for this conversation in my blog. There is laser-sharp focus on XML-based document exchange fidelity & quality between Microsoft Office, OpenOffice.org, and other business productivity suites. The broader category of data interchange however, is often left unaddressed. I'd like to open that window for a moment.

Countless solution providers for Office exist, a community built over time by providing and incredible breadth of capability enabling the development of powerful solutions. One of the core requirements for Office development is data connectivity and data portability. I'd like to take a moment to point folks at 3 resources on MSDN that illustrate various aspects of data portability for Office – hopefully to add a little context to our investments around interoperability, which is broad and deep in our products.

1. http://msdn.microsoft.com/en-us/library/bb545041(office.11).aspx Frank Rice discusses how to create data connections in Excel 2007, at least at the most basic level. From here you can connect through OLE, OLAP, Web Services,

2. http://msdn.microsoft.com/en-us/library/cc197932.aspx Stephen Oliver discusses how to use content controls, data bindings, the Open XML SDK and custom-defined schema to introduce variable length repeating data items into Word templates.

3. http://msdn.microsoft.com/en-us/library/bb332455.aspx Ken Getz discusses how to replace PowerPoint slide images

This extremely narrow slice of life within the Office partner community illustrates a very important concept – interoperability with Microsoft Office is a well-worn path, supported by thousands of software providers, developers, experts, and so on. http://msdn.microsoft.com/office provides a tremendous resource for those developers and partners.

We will continue to do our best to support not only the document interoperability scenarios that Doug outlines in his post, but also those that are important to Microsoft partners and solution providers, whose businesses depend on us, and to whom we are grateful for their lasting and continuing support.

More Posts Next page »
 
Page view tracker