Outlook form regions

Outlook 2007 includes a new way of customizing the Outlook user interface for data in Outlook.  If you have used previous versions of Outlook and had a need to customize our forms, you know that in the past custom forms in Outlook were a bit of a challenge.

If you were interested in working with any built-in form other than the mail, post, or contact forms, you were limited to adding additional tab pages to the standard page.  Even if you were interested in customizing the contact form, you couldn't replicate the look and feel of the standard Outlook form.  Custom forms were also never displayed in the Reading Pane, which is how a lot of users work in their mailbox.  Additionally, once you had a form designed, to write code behind the form for business logic and validation you were stuck using notepad.  Finally, after the form was working just the way you wanted, the Outlook forms cache could swallow the form and Outlook would end up just using the standard form anyway.

Example of an adjoining region
An adjoining region in a mail note

Because of these issues, for Outlook 2007 we introduced a new mechanism for form customization we've named "form regions".  Our goal was pretty simple: reduce the difficulty for doing simple customizations on the one hand, while ensuring that rich integrations could reproduce the look and feel of Outlook built-in forms without major compromises.  To this end, Outlook 2007 supports two types of form region customizations: adjoining regions and separate regions:

  • Adjoining regions enable you to provide purely additive "regions" to the bottom of the first tab of an existing form (custom or built-in).  These regions are also, optionally, displayed in the Reading Pane of Outlook.  For instance, if you want to add a few additional fields to a built-in Outlook form, an adjoining region would be a good approach.
  • Separate regions can either be added to an existing form, or they can replace one or all of the tabs on an existing form.  If the solution requires that the entire form be customized, or if you would like to add data into the middle of an existing form, or on a separate form page, then separate regions are a good choice.  Separate regions that replace the first form page are also displayed in the Reading Pane of Outlook.

Outlook form regions work in the reading pane as well.
Form regions work in the reading pane as well

Outlook 2007 also includes a number of new form controls that provide the business logic and behavior users expect from Outlook forms.  We've included a contact photo control, date and time picker controls, Electronic Business Card preview control, and several others so that custom forms can finally have parity with our built-in forms.  We've also made sure that all of the included forms controls support Windows themes.  No longer will your custom forms look like they were made in 1995.

Another benefit of Form Regions is that instead of writing your code in notepad and VBScript, form regions are designed to be driven with an add-in.  Thus, you can work in your favorite development environment and take advantage of all the features it provides.  You just implement a new interface, FormRegionStartup, and your form will be off and running in no time.  You can listen for a full range of events on the controls, monitor other Outlook data and respond accordingly, and retrieve data from non-Outlook sources for displaying on your form region, all from the comfort of your favorite programming language.

Because of the close connection to an add-in, Outlook form regions are installed as part of your add-in, thus simplifying the deployment model for Outlook customizations.  Your add-in setup project just needs to write an XML manifest that describes the region to the registry or the local disk, and then register that manifest with Outlook.  When Outlook is ready to display your form region, it will call back on the FormRegionStartup interface to ask your add-in for all the details.  Installing your form locally with the add-in also means that form regions will continue to work in the same way even when running against an Exchange server without public folders.

With beta 1 and beta 1 technical refresh, the Outlook team has released a sample named "Travel Agency" which provides an example of a separate form region customizing the Outlook contact form with an additional form page.  These samples have been posted on Beta Place for you to download and try out.  Starting with beta 2, we will have an updated sample that includes an adjoining region as well.

I'd really encourage the developers out there to try out this new UI customization.  Download the samples and check out what you can do.  If you caught some of the MIX06 conference, you may have noticed the Outlook/EBay add-in, which was also built using Outlook form regions.