The hype is soon over. The ultimate tool for working with umbraco in multiple testing environments (dev/stage/live/etc), "Courier for Content" goes out in beta for all Pro Subscribers anytime soon and I thought I'd share a couple of screenshots.
One of the most significant challenges with creating the Courier architecture is making sure that all environments can be sync'ed even if changes happens in all environments and id's changes. This is the case if you have user-generated content on your site, where you might get a bunch of comments on blog posts, while working on new content for your site. As a result documents transferred from your staging/dev environment to your live environment will get new Ids (ie a document with the id 1061 on your staging environment might be increased by a few numbers to 1063 because two comments were added on the live site while you worked on the post).
Courier knows about all these changes and through a very mint Dependency model (which of course is extensible via API if your data includes 3rd party data) links and changed id references can be resolved as a part of the transferring process.
Enough talk, here's some screenshots (notice that each environment runs in different browser and of course a different url) - click on them to see full size (they're quite big):






Courier comes with out of the box support for any popular existing relation data type including Content Picker, Ultimate Picker, the CPalm pickers, etc. You can even get support for new relation pickers, just by adding the id of the data type to the courier.config file.
Courier is the best thing I've ever made. It's the missing piece in the umbraco infrastructure and it'll bring the same stellar ease and enjoyment to deployment as umbraco itself does to working with web content.