Microsoft Office Outlook 2007 offers compelling new product features including Instant Search, task flagging, the To-Do Bar, Calendar overlays, sharing with friends and coworkers, Really Simple Syndication (RSS) feeds, Electronic Business Cards, Microsoft Office SharePoint Server integration, and plenty of other features that make Outlook 2007 the most exciting release in the history of the product. As a developer, you can benefit from the innovation built into Outlook 2007. The Outlook 2007 object model has been expanded with more than double the number of objects compared to previous versions. New form region technology allows you to create custom forms that have the same look and feel as Outlook’s.
If you are a seasoned Microsoft .NET developer, why should you care about these platform improvements in Outlook 2007? In the past, .NET development against Outlook could be compared with finding your way through a maze. You never knew when you were going to hit an insurmountable obstacle or retrace your steps. If you wanted to do anything at a lower level or do advanced but commonplace tasks such as display the Address Book or access named properties, you were out of luck. You had to write Extended Messaging Application Programming Interface (MAPI) code, but you hit a catch-22 because Extended MAPI code is not supported for .NET development. Time to pull down those C++ books from the shelf. For many developers, writing C++ native code is a barrier to entry and contradicts your commitment to writing managed code.
Hopefully, the platform improvements in Outlook 2007 solve both the barrier to entry and the requirement to learn C++ and Extended MAPI for advanced solutions. One of the primary goals for Outlook 2007 extensibility is to unify existing programming models so that the Outlook object model is sufficient for an Outlook developer. The Outlook 2007 platform removes the roadblocks that developers experienced in previous versions of Outlook. Outlook 2007 allows you to write managed solutions that are fully supported because they use only the Outlook object model. For the vast majority of scenarios, you write code with application programming interfaces (APIs) that are supported for .NET development.