Microsoft revealed two new directions for Exchange and Outlook at Microsoft TechEd 2005 earlier this month. One direction has immediate impact, and the other's implications probably will be known only when the next versions of Exchange and Microsoft Office ship.
The long-term change is that support for Exchange public folders will go away in "Exchange 13"--two versions down the road. Within the time frame of the next release (currently known as Exchange 12), Microsoft will encourage organizations to migrate public folders to another platform--most likely Microsoft SharePoint Portal Server--and will work with vendors to help make sure that tools are available to facilitate that migration. (See "Are Public Folders Dead?" at http://www.windowsitpro.com/Articles/ArticleID/41609/41609.html for more information about the subject.) If you see me at the Microsoft Exchange Connections conference in San Diego this fall, you can bet that I'll want to ask you how many public folders you have and how many will need special treatment to migrate Outlook customs forms, folder home pages, Exchange event sinks or scripts, and Outlook COM add-ins that depend on public folders. In the meantime, feel free to write me at [email protected] with your thoughts. As we get a better picture of the public folder universe and what Outlook and SharePoint Portal Server integration with Office 12 will offer, I'll report back with strategies for planning your eventual migration away from public folders.
More significant in the short term was the announcement in Microsoft CEO Steve Ballmer's TechEd keynote address that Visual Studio Tools for the Microsoft Office System (VSTO), slated for release November 7, will provide support for building add-ins for Outlook 2003, in addition to document-centric applications for Microsoft Office Word, Excel, and InfoPath. At first glance, this announcement might not sound like big news because Outlook has always supported an add-in architecture--first with Exchange client extensions in Outlook 97 and, starting in Outlook 2000, with COM add-ins that use a programming implementation that's shared with other Office programs. Visual Studio .NET even has a number of widely used Outlook add-ins, including Outlook 2003 with Business Contact Manager Update.
VSTO 2005, however, brings to the table a solution for the majority of the Outlook add-ins "plumbing" problems that have forced developers to spend as much energy on code to make sure that add-ins start and shut down gracefully as on code to add new functionality. The VSTO package for Outlook add-ins consists of a runtime component, an add-in loader that handles security and some other add-in essentials, a solution structure that includes both the add-in project itself and a setup project to ease deployment, and a ThisApplication class with simple Startup and Shutdown events in which developers start adding their code. The VSTO architecture also supports new features such as server-based add-in deployment.
VSTO doesn't add any new programming functionality to Outlook. Developers will work with the same Outlook object model they use today. In particular, VSTO doesn't add access to the Outlook 2003 navigation pane, a feature that many developers have requested. Also, there's no new feature to embed a Windows form directly in the main Outlook window. (What might have looked like an embedded Windows form in Ballmer's keynote demonstration was actually a folder home page--i.e., a Web page associated with an Outlook folder--that displayed an ActiveX control that hosted some nifty Microsoft .NET controls. Microsoft is working on a white paper that will explain the technique.)
VSTO support for Outlook add-ins--and the high level of documentation available in the form of hands-on labs, architectural diagrams, and sample applications--represents Microsoft's recognition that Outlook is a key programming platform that can help drive Office adoption going forward. Although VSTO 2005 today supports only Outlook 2003, not earlier versions, you can expect it to support Outlook 12 when the next version of Office arrives.
Less than a year ago (see the URL below), I wrote that Microsoft didn't seem to have a good understanding of the needs of corporate inhouse developers who wanted to integrate Outlook into their automated business processes. VSTO proves me wrong. By providing a simpler interface that encourages developers to adopt the rich .NET programming environment, VSTO might be just what inhouse developers need, assuming they have the right skills. In TechEd 2005 sessions, Microsoft emphasized that VSTO is designed for professional developers, and there's certainly a bit of a learning curve to be scaled, especially with regard to security in deploying VSTO applications.
I don't think this information should deter all the people who have been using Visual Basic for Applications (VBA) to improve their own Outlook productivity and getting frustrated when they learn there's no supported method to distribute Outlook VBA code to other users. As an exercise, I took some simple VBA code that prevents me from sending a message with a blank subject and copied and pasted it into a new VSTO Outlook add-in project. To run, the code required one change, and VB.NET's Intellisense feature told me exactly which change to make and even made it for me when I asked. Certainly, a quick copy and paste is all it takes to migrate most VBA code to the VSTO platform. Because both Visual Studio 2005 Beta 2 and the VSTO beta are currently free downloads, there's no reason for VBA coders who want to distribute their productivity macros not to give the products a whirl.
VSTO's potential adoption by ISVs is going to take more time. Because VSTO supports Outlook 2003 but not earlier versions, ISVs that have products that also target Outlook 2002 and Outlook 2000 can't use it. I expect VSTO to gain popularity, however, with developers who are building add-ins specifically for Outlook 2003 and future releases.
The beta version of VSTO 2005 with the Outlook add-in functionality is currently available as a free download from Microsoft's Web site (see the URL below). The site also includes six hands-on labs, a half-dozen additional sample add-ins, and a detailed article about the VSTO Outlook add-in architecture.