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.
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.
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.
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.
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.
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.
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.
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?
"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.
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 ExplicitSub FixLineSpacing()Dim i,y,j,z As Integery = 1z = 1 i = ActivePresentation.Slides.Count + 1
While y < i
With ActivePresentation.Slides(y)j = ActivePresentation.Slides(y).Shapes.Count + 1
While z < jWith ActivePresentation.Slides(y).Shapes(z)If ActivePresentation.Slides(y).Shapes(z).HasTextFrame ThenWith .TextFrame.TextRange.Lines.ParagraphFormat.SpaceWithin = 1End WithEnd IfEnd Withz = z + 1
Wendz = 1
End Withy = y + 1Wend
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:
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:
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:
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:
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 EditionThis 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 ContentContent has been added for the following features:
Shortcuts for PowerPoint DevelopersI'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).
(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.
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.
PowerPoint Theme BuilderAlso 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.
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"
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."
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.
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:
Congratulations to Donovan Follette and team on some outstanding work!