Bye! Bye! Smart Document API -- We won't miss you!
Yesterday I watch Kathleen McGrath talk about Visual Studio Tools for Office version 2.0 (VSTO2). One of the cool things she showed is how VSTO2 will make it easy to build an ActionPane. What is an ActionPane? It is a programmable TaskPane, similar to a Smart Document, but many times simpler to build.
Smart Document technology was invented in a dark time in the days as COM was on the way out and just before .NET was released. Smart Documents have over 20 API method calls you have to implement. These method calls are very hard to manage and the ending results were often very restrictive. For example, you are for the most part limited to form controls they provide, also the API isn?t so much a forms API as it is a way to display UI based on user context in the document. It?s an interesting idea that fell way short of what we really need: The Modeless form!
What is the Modeless form? Today?s modern UI leverages the notion of modeless UI. Instead of opening a dialog box to ask a user a question (which gets in the way of what the user is working on), a form that is a part of the UI appears on the side of what the user is doing (without interfering on the user?s experience).
VSTO2 allows you to build an ActionPane using .NET managed code (WIN #1). You simply create a user control and add it to the ActionPane collection based on the context in which you want it to appear (Super simple, WIN #2). This means that you can use any control in the .NET framework and you can use them together in complex forms for display in the ActionPane (WIN #3). For those who have built a Smart Document, notice how simple it is to do in VSTO2:

The following shows the net result in Microsoft Word (granted, this smart doc is super simple.

Kudos to the VSTO team for making this so easy to do.