Thursday, 26 February 2009

Outlook 2007 update available!

You can grab the update here:

A full list of changes for Outlook are here, they're included here:

General responsiveness
The overall responsiveness for Outlook 2007 SP2 is significantly improved over the responsiveness of Service Pack 1. Responsiveness can be loosely defined as the application's reaction time when you use the user interface (UI). A perfectly responsive application will always immediately begin performing the task that is requested even if that task takes a long time. For example, in Outlook this could be clicking to switch folders while you wait for a very large folder to load, and clicking the ToDo Bar to enter a task. Making Outlook noticeably more responsive was a big priority for this release.

Storage engine
The most important changes come from underlying optimizations in the local storage engine. Both Personal Folders files (PSTs) and Cached Exchange Stores (OSTs) are built upon the same underlying storage engine. In this article, PST refers to both technologies. We have improved the general reading and writing characteristics of the PST so that less is demanded from the disk to perform the same general operations in Outlook. For example, file flushing is optimized so that it interacts more efficiently with the operating system and disk write caches. We have also changed the way new data is written to the PST. Now, it is saved much closer together on the physical disk and requires less physical work from the drive. This speeds up the time that is required to write the same amount of data. A side effect of this data writing algorithm is that PSTs are approximately 20 percent larger than in previous releases. However, we have observed large gains in write performance and a reduction in overall writing to the disk. Whereas write optimizations have been the single biggest change in the storage engine, there are also other small changes that deliver additional benefits. For example, internal storage engine optimizations were made after analyzing the most common kinds of operations the storage engine performed during typical usage. We have also optimized the way internal "change notifications" are processed, especially when there are many of them. Specifically, when you add significant data to the PST, lots of notifications are triggered for various data structures to be updated to accommodate the new data. Because these notifications are faster and require less I/O, the raw performance of every small operation improves. This means significant savings over time.

User interface
In addition to optimizing the storage engine, Microsoft spent time and resources investigating and addressing some common sources of unresponsiveness in the Outlook application layer. We have seen that some of the most frustrating instances of unresponsiveness occur when Outlook is doing work unrelated to any user actions. Such situations are especially frustrating because the user cannot predict when they will occur or how long they will last. Two of the more common causes of Outlook unresponsiveness that are unrelated to user action were processing updates to the message list and processing updates to other elements in the main window in Outlook. Our engineering team undertook a complex effort to fundamentally change the methods in which such updates are processed to minimize their effect on Outlook responsiveness in SP2.Some other application layer changes that we made are for scenarios that may not affect all users. However, we believe that these scenarios are a significant source of dissatisfaction to the users who are affected. For example, when the reminders dialog box appears, the prior behavior was to process and write the changes to the store immediately when the user requested an operation such as dismiss or snooze. Now, those changes are queued so that responsiveness is immediately restored to the UI. Therefore, you can click Dismiss as fast as your mouse will allow, and when the last reminder goes away, the dialog box will immediately disappear. We also made some changes to the way rules are processed so that many client-side actions, such as moving mail from a specific distribution list to a separate PST file, leave the Outlook UI far more responsive.We have also made changes specifically targeted at customers who use POP and IMAP servers. For POP mail users, we now retrieve the newest mails first, which hopefully helps you get to your most important work faster. IMAP mail users will notice that downloading message bodies no longer stops Outlook from responding to additional user commands.

Starting Outlook
Our approach to optimizing the startup process is fairly straight-forward. We analyzed all the tasks Outlook queues and improved the boot time by removing a few operations that were considered unnecessary, and by better orchestrating the execution of the necessary tasks. The result is a noticeable positive improvement. Quantifying the exact improvement is difficult because most people's experiences vary widely based on several factors. These include the following:
Number of add-ins
Amount of memory on the computer
Speed of the hard disk drive
Number of other applications currently running
Size of the mailbox and size of additional stores mounted (overall optimizations in the PST also help here)
Number of customizations made to the UI that must be loaded

Essentially, we have seen Outlook starting about two times as fast in many of our tests and in our own experience running the builds for our daily mail use.

First startup experience
Immediately after you install the SP2 update, the first startup of Outlook will not be fast because Outlook must update internal PST data structures that are used in our optimizations. This is a one-time cost however, and affects just the initial startup. As soon as the data structures are updated, Outlook can then benefit from the improvements. We hope that, as soon as the upgrade process is complete, and you begin to see Outlook 2007 SP2, you see that the rewards were definitely worth the wait. There is a new upgrade dialog box with progress to show some optimizing work Outlook is doing to make everything faster on the disk.
Collapse this imageExpand this image
The responsiveness of Outlook will improve after this dialog box closes. If you choose to create a new profile and resynchronize your mail, the storage upgrade happens dynamically as new content is added to your new local data file. Therefore, there is no upgrade dialog box. However, some non-responsiveness that is associated with the first startup may occur. Again, after several minutes, Outlook responsiveness will improve.

Outlook had built-in logic that caused it to refuse to shut down when it detected that a third-party was using it for data access or otherwise was integrated with Outlook functionality. A side effect of this design was that, to the user, Outlook would frequently not exit for no apparent reason. If all storage providers support it, for SP2, we have optimized for the user's choice to shut Outlook down by stopping all server activity, flushing unsaved PST content to the disk, saving unpersisted preferences and settings, and then quickly exiting. Most notably, Outlook no longer waits for external references to be released. Note Outlook Live Connector (OLC) 12.1 does not support this faster shutdown. Therefore, Outlook must continue to use the slower shutdown method when OLC 12.1 is being used to make sure that data is not lost.The result is a consistently reliable shutdown, even during periods of heavy activity, such as server synchronization. There is more technical information ( available for developers about how to update their applications to best integrate with this new shutdown model. Our goal is that Outlook shuts down quickly (in just a few seconds), reliably and consistently. Also, a new Outlook icon appears in the notification area after you close Outlook, but the Outlook.exe process is still running. As long as the Outlook.exe process is running, and the Outlook UI is unavailable, the
Collapse this imageExpand this image
Outlook icon appears in the notification area.

Folder/view switch
For folder switching and arrangement switching, we have developed a highly optimized, very compact new index of the folders' contents that is sorted by date. A date sort is the foundation of the most frequently used contents table arrangement. Being able to load a very small and always up-to-date version of this index in a short time is the backbone to a very fast folder switch experience in SP2. The new date index is much more effective, even with tens of thousands of items in a single folder.The result is that switching to even the largest folders takes mere seconds, although sometimes the first switch to the folder can take longer while we build up the indexes. This, again, is a one-time cost. Note Most of these gains are seen when you use Outlook in Cached Exchange Mode together with OSTs and PSTs. Online Mode users will continue to see their view performance dictated largely by server performance and network conditions.

Enjoy a speedier Outlook 2007,

Oliver Moazzezi

MVP - Exchange Server

No comments: