In Windows 8 the share charm can be a very powerful concept allowing selections of data to be easily sent between apps with a nice user experience.
Working on the Windows 8 platform for some time I have seen a lot of apps with poorly implemented share charms and this really annoys me.
The first thing to do when implementing a share contract is to subscribe to the DataRequested event on the current view's DataTransferManager.
This event will be fired when ever the share charm is invoked while you app is running.
From this event you get access to a DataRequest object where you can set all of your properties to share to other apps.
Below is both a bad and good example of implementing this event. I have seen too many apps using the bad example out of developer laziness or lack of understanding about what to share.
This is a bad example of sharing.
This is a good example of sharing.
In this example we will give our share a title, description as well as a custom share test, a thumbnail and an image of the awesome emotion.