Dupes part deux

There's been some conversations going on about how Outlook is handling duplicate RSS items and what that means for bloggers. Sorry for the confusion – what we've done in Outlook 2007 recently around duplicates is to reduce the erroneous amount that occur because of the incorrect way that we interpret changes in the XML, along with several problems when syncing multiple Outlook clients against an Exchange store.

As Brandon points out, duplicate items in our Outlook 2007 Beta 2 was a big problem and we've been working to solve the programmatic issues behind them. In our latest builds we've seen virtually no duplicates downloaded from feeds, especially with multiple Outlook 2007 clients syncing against an Exchange account and even syncing with IE 7 and the Windows RSS platform.

This does not mean anything has to change on the part of how bloggers post and their methodology around updating old posts. My use of "best practices" in my previous post should have read "one recommended way" of posting updated content.

If a content provider modifies a previously posted blog entry and then an Outlook 2007 user downloads the updated post, we will verify if the original item still exists in the Outlook folder. If it does, meaning the user has not deleted the item, then we will automatically update the content of the old post with the new content from the feed. If the user has deleted the item then we will not download a new item to replace. This adheres to the delete model I described in my previous post.

Think of it like this:

A blogger writes five posts; A, B, C, D, E.
Outlook user downloads A, B, C, D, E.

Outlook user deletes a few posts and is left with A, C, D.

The blogger updates the content of B, C. For simplicity call them B1, C1. He also writes post F.

Outlook downloads the XML and sees the changes.

Outlook ignores the updates of the posts the user has explicitly deleted and updates the content of the ones that still exist automatically, leaving the user with posts A, C1, D, F.

If you don't like this delete model where removing a post from Outlook ignores all further updates on that individual item, there is an option to disable it. Toggling this option causes deletes to be non-destructive, and in the above scenario the user would see a new item downloaded for post B1 even though he deleted the original item in Outlook.

I hope that clears some of the confusion up. I'm happy to entertain any more questions you have, either shoot me them in a comment or send them over email.