What’s new in Outlook 2013 for Microsoft Office developers
The new Office brought with it some major changes and we’ve been focusing on the biggest change: the new app framework. But, Apps for Office is not the only new feature, Outlook 2013 Preview brings with it the following important changes:
- Social Connector enhancements
- Custom weather service for the Weather Bar
- Coexistence with previous Outlook versions
- Performance criteria for keeping Outlook add-ins enabled
- Inline response and other object model enhancements
Let’s take a quick look at some of these changes.
Outlook Social Connector
The Outlook Social Connector (whether you love it or hate it) can now be used to allow all Office applications to display user presence and Contact Card information. This could prove to be interesting to see how developers could leverage this in other Office applications.
Outlook 2013 Weather bar
The new Outlook Weather bar is used to display weather information for user-selected locations. It uses the MSN weather service for its data. You are, however, able to plug into the Weather bar in order to use your own weather service. You can read more about this on the Office Dev center.
Version coexistence
This is great if you want to try out Outlook 2013 without having to uninstall your previous version of Outlook. Coexistence allows you to run Outlook 2010 or 2007 alongside Outlook 2013, without any weird and wonderful workarounds. You are, unfortunately, only allowed to run one version at a time, read more on MSDN.
Performance monitoring criteria
This is a very important consideration for any Outlook add-in developer. Outlook will record the time it takes for your add-in to perform certain tasks and if it takes longer than the acceptable time (in milliseconds) Outlook will disable your plug-in. The user will be informed of this and will have the option to enable the add-in again. It is a good idea to stay within the allocated time, as this will increase user confidence in your add-in. A short list of the criteria Outlook uses to monitor performance includes:
- Start-up = 1000 milliseconds
- Shutdown = 500 milliseconds
- Folder switch = 500 milliseconds
- Item open = 500 milliseconds
Inline response and other object model enhancements
Outlook 2013 brings with it a few Object model changes. One is that almost all the objects now have a ReadComplete event, which occurs after Outlook has finished reading the properties of the item.
The ContactItem object also received two more methods:
- ShowCheckAddressDialog
- ShowCheckFullNameDialog
The ShowCheckAddressDialog shows the familiar dialog with which the user can check the contacts’ address. The method accepts a parameter called MailingAddress which is an enumerator (OlMailingAddress) specifying which address of the contact to check e.g. Home, Business, Other.
The ShowCheckFullNameDialog displays another well-known dialog with which the user can verify the name details of the current contact object.
Another big change in Outlook 2013 is the introduction of an inline response. If you have not seen it yet, reply to an email in Outlook 2013, and you will notice that it no longer shows your response in a separate inspector window, but rather adds an editor to the preview/reading pane as illustrated below.
When we wanted to add logic to Outlook when a user replied to an e-mail in Outlook versions prior to 2013, we could’ve simply used the InspectorActivate event. In Outlook 2013, however, when the user replies the InspectorActivate event will not fire, instead the InlineResponse event will be raised with a reference to the Outlook item being responded to as a parameter.
You can still use the InspectorActivate event to determine if the user clicked on the POP OUT button in the inline response window, which will then open a new Inspector window for the active item.
As always, Add-in Express has your back and makes adding your own logic to the new InlineResponse event easy. All you have to do is drop a new ADXOutlookAppEvents component onto your AddinModule’s designer surface.
Next, in the list of events in the properties window, double-click next to ExplorerInlineResponse to generate an empty event handler for the event.
From there you can add the necessary logic for example:
private void adxOutlookEvents_ExplorerInlineResponse(object sender, object itemObject) { if (itemObject is Outlook._MailItem) { Outlook._MailItem mailItem = itemObject as Outlook._MailItem; MessageBox.Show("You are replying to " + mailItem.To); } }
Office 2013 offers an exciting new direction for Office developers creating Apps for Office or the traditional COM add-ins and Add-in Express will be with you every step of the way!
Thank you for reading. Until next time, keep coding!