Public annotations can be useful, but sometimes the audience of 'everyone' can simply be too broad. Consider some examples:
All of these scenarios are possible today. Here's how it works:
As an annotation provider...
We'll use this blog post as an example. Suppose I have something interesting to say about the home page of the Longhorn SDK documentation (which lives here http://longhorn.msdn.microsoft.com/lhsdk/port_lhsdk_home.aspx). As the feed author, simply including the URL to the home page in the previous sentence was enough for this entry to become an annotation.
More formally, as an annotation provider I need to create an RSS/2.0 compliant XML feed. Any <entry> items that should be considered annotation candidates should contain an anchor tag with the href pointing to somewhere under longhorn.msdn.microsoft.com within the <description> element. Most blog software can be used out of the box for this purpose just include a hyperlink to the relevant content in your post.
As a reader...
Just three steps (and the first is once-only):
Behind the scenes, the component is working through the list of feeds in the subscription list. On a daily cycle, it requests the RSS feed, parses it for any annotation candidates and caches those locally. When visiting a page, it searches this cache for any matches (based on URL) and if any are found, they'll show up automatically.