<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft RSS Blog : Publisher's Guide Series</title><link>http://blogs.msdn.com/rssteam/archive/tags/Publisher_2700_s+Guide+Series/default.aspx</link><description>Tags: Publisher's Guide Series</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Reading feeds in Right-to-Left order</title><link>http://blogs.msdn.com/rssteam/archive/2007/05/17/reading-feeds-in-right-to-left-order.aspx</link><pubDate>Fri, 18 May 2007 00:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2701590</guid><dc:creator>rss</dc:creator><slash:comments>31</slash:comments><comments>http://blogs.msdn.com/rssteam/comments/2701590.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rssteam/commentrss.aspx?PostID=2701590</wfw:commentRss><description>&lt;P&gt;In the last few weeks, we have got some questions about how to display the IE7 Feed View in RTL (Right-To-Left) reading order, which is used by several languages. 
&lt;P&gt;The good news: we do have support for RTL.&lt;B&gt;&lt;I&gt; &lt;/I&gt;&lt;/B&gt;
&lt;P&gt;IE decides whether to show a feed in RTL reading order based on one of three things: 
&lt;UL&gt;
&lt;LI&gt;The language that the feed publisher specifies in the feed&lt;/LI&gt;
&lt;LI&gt;The default language of the browser (only if the publisher does not specify a feed language).&lt;/LI&gt;
&lt;LI&gt;The manual reading order selection that the user makes (overrides either of the previous two)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If you are a publisher of an RSS Feed, here is what you need to do to make it show correctly. 
&lt;P&gt;IE‘s Feed View is looking for the RSS 2.0 language element (e.g. &lt;FONT face="Courier New"&gt;&amp;lt;language&amp;gt;en-us&amp;lt;/language&amp;gt;&lt;/FONT&gt;&lt;STRONG&gt;)&lt;/STRONG&gt;, or the&amp;nbsp;XML xml:lang attribute for Atom 1.0 feeds&amp;nbsp;(&lt;FONT face="Courier New"&gt;&amp;lt;feed xml:lang="en"&amp;gt;&lt;/FONT&gt;) &lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;to determine which direction the feed page should have. 
&lt;P&gt;If the language the publisher indicates&amp;nbsp;is known to be displayed RTL by default, IE will automatically switch the ordering. In this&amp;nbsp;examples above (en is "English"), the feed will display as LTR (Left-To-Right). Conversely, if the language element is set to Arabic&amp;nbsp;(&lt;FONT face="Courier New"&gt;&amp;lt;language&amp;gt;ar-SA&amp;lt;/language&amp;gt;&lt;/FONT&gt;&amp;nbsp;or just&amp;nbsp;&lt;FONT face="Courier New"&gt;&amp;lt;language&amp;gt;ar&amp;lt;/language&amp;gt;&lt;/FONT&gt; for RSS 2.0)&amp;nbsp;the feed will be displayed&amp;nbsp;in RTL (Right-To-Left) order. 
&lt;P&gt;Here is what the header of the feed should look like. The value of the language element should be changed to any of the values shown below, depending on the language&lt;B&gt;&lt;I&gt; &lt;/I&gt;&lt;/B&gt;of the content you are trying to display. 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;lt;?xml version="1.0"?&amp;gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;rss version="2.0"&amp;gt;&amp;lt;channel&amp;gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;BBC Arabic News | الصفحة الرئيسية&amp;lt;/title&amp;gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;link&amp;gt;&lt;/FONT&gt;&lt;A href="http://news.bbc.co.uk/go/rss/-/hi/arabic/news/default.stm%3c/link" mce_href="http://news.bbc.co.uk/go/rss/-/hi/arabic/news/default.stm%3c/link"&gt;&lt;FONT face="Courier New"&gt;http://news.bbc.co.uk/go/rss/-/hi/arabic/news/default.stm&amp;lt;/link&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Courier New"&gt;&amp;gt; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;lt;language&amp;gt;&lt;B&gt;ar&lt;/B&gt;&amp;lt;/language&amp;gt;&lt;BR&gt;...&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;(You can see this feed live in IE &lt;A href="http://newsrss.bbc.co.uk/rss/arabic/news/rss.xml" mce_href="http://newsrss.bbc.co.uk/rss/arabic/news/rss.xml"&gt;here&lt;/A&gt;&amp;nbsp;to see what RTL feeds look like). 
&lt;P&gt;Atom&amp;nbsp;1.0 header should look like this: 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;lt;?xml version="1.0"?&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;feed xmlns="&lt;/FONT&gt;&lt;A href="http://www.w3.org/2005/Atom" mce_href="http://www.w3.org/2005/Atom"&gt;&lt;FONT face="Courier New"&gt;http://www.w3.org/2005/Atom&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Courier New"&gt;"&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;xml:lang="ar"&amp;gt;&lt;/FONT&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The following languages will be displayed&lt;B&gt;&lt;I&gt; &lt;/I&gt;&lt;/B&gt;as RTL by default: 
&lt;OL&gt;
&lt;LI&gt;Arabic (ar-**) &lt;/LI&gt;
&lt;LI&gt;Farsi (fa-**) &lt;/LI&gt;
&lt;LI&gt;Urdu (ur-**)&lt;/LI&gt;
&lt;LI&gt;Pashtu (ps-**) &lt;/LI&gt;
&lt;LI&gt;Syriac (syr-**) &lt;/LI&gt;
&lt;LI&gt;Divehi (dv-**) &lt;/LI&gt;
&lt;LI&gt;Hebrew (he-**) &lt;/LI&gt;
&lt;LI&gt;Yiddish (yi-**) &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Please note: the language value &lt;STRONG&gt;must&lt;/STRONG&gt; be in lowercase (e.g. ar-SA, he-IL, ur-PK, etc.). The second part of the value (which typically indicates the region), is not used in any way by IE's feed view, and may be omitted. 
&lt;P&gt;When the language tag is not included by the publisher, the default IE language is used.&amp;nbsp;For example, if you’re using an English&lt;B&gt;&lt;I&gt; &lt;/I&gt;&lt;/B&gt;version of IE, then all&amp;nbsp;feeds without the language element are treated as LTR.&amp;nbsp;If you’re using a &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=9AE91EBE-3385-447C-8A30-081805B2F90B&amp;amp;displaylang=he" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=9AE91EBE-3385-447C-8A30-081805B2F90B&amp;amp;displaylang=he"&gt;Hebrew version of IE&lt;/A&gt;, then a feed without the language element is treated as RTL. 
&lt;P&gt;Finally, there are times when the feed’s language is different from the default language, and the feed language element is not set by the publisher.&amp;nbsp; In this case, you can manually change the layout to RTL or LTR using the Page menu, encoding-&amp;gt; Right-to-Left Document: or via right-clicking directly on the page itself.&amp;nbsp;See image below: 
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/rssteam/WindowsLiveWriter/ReadingfeedsinRighttoLeftorder_CD91/clip_image001_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/rssteam/WindowsLiveWriter/ReadingfeedsinRighttoLeftorder_CD91/clip_image001_2.jpg" atomicselection="true"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=335 alt=clip_image001 src="http://blogs.msdn.com/blogfiles/rssteam/WindowsLiveWriter/ReadingfeedsinRighttoLeftorder_CD91/clip_image001_thumb.jpg" width=374 border=0 mce_src="http://blogs.msdn.com/blogfiles/rssteam/WindowsLiveWriter/ReadingfeedsinRighttoLeftorder_CD91/clip_image001_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Hope this helps,&lt;/P&gt;
&lt;P&gt;Nick Achmon,&lt;BR&gt;Software Development Engineer in Test&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2701590" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rssteam/archive/tags/RSS+Support+in+IE/default.aspx">RSS Support in IE</category><category domain="http://blogs.msdn.com/rssteam/archive/tags/Publisher_2700_s+Guide+Series/default.aspx">Publisher's Guide Series</category></item><item><title>Windows RSS Platform Download Engine</title><link>http://blogs.msdn.com/rssteam/archive/2006/04/08/571509.aspx</link><pubDate>Sat, 08 Apr 2006 13:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:571509</guid><dc:creator>rss</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/rssteam/comments/571509.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rssteam/commentrss.aspx?PostID=571509</wfw:commentRss><description>&lt;P&gt;I wanted to take a couple of minutes to describe how the RSS Platform's download engine works. The behavior can be of interest to feed publishers who might be concerned about scalability as well as to developers and individual users who want to understand how their feeds are being kept up to date.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Features that help publishers manage network usage&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Some of the concerns of feed publishers may have:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Number of hits (a client will&amp;nbsp;hitting the same server many times; update frequencies)&lt;/LI&gt;
&lt;LI&gt;Traffic spikes (many clients hitting the same server at the same time)&lt;/LI&gt;
&lt;LI&gt;Bandwidth (many clients getting large responses from same server; response sizes) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Let's look at ways in which the RSS Platform addresses these issues. First, number of hits from a given client:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Download Schedules &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Each feed in the Common Feed List has its own update schedule (such as "every 4 hours," "Once a week" or "Once a day."). The RSS Platform download engine operates in the background while a user is logged in, and checks each feeds for new content on the appropriate schedules.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Default and Minimum Intervals&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;As popularity of RSS increases, feed publishers may be concerned about the increasing number of hits they get from aggregators checking for feed updates. The Windows RSS Platform takes a fairly conservative approach and sets the default interval for feeds to 24 hours, meaning that by default each feed will be checked no more than once in a 24 hour period. This frequency might not work for every feed type and the user is able to set a custom interval for each feed. Users can also change the default feed interval. &lt;/P&gt;
&lt;P&gt;However, in order to avoid accidental overuse of the server bandwidth, the RSS Platform limits the feed interval to a 15 minute minimum, meaning that the RSS Platform download engine will not perform a scheduled background download more frequently then every 15min. It is possible for an application to request an update at any time (for example, when the a user clicks the Refresh button - or hits F5 - in IE7, IE will ask the RSS Platform to update the feed immediately and will then display the results). However, the RSS Platform background download engine will not automatically update more often than 15 minutes.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;TTL&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The 15 minute minimum interval might not be large enough for some feed publishers and might still result in too many hits. Or a feed publisher might know that there won't be any updates to their feed for a certain time period and they'd like to advise clients to not hit their server more frequently then a specified frequency.&lt;/P&gt;
&lt;P&gt;The RSS Platform download engine respects RSS 2.0's&amp;nbsp;&lt;FONT face="Courier New"&gt;ttl&lt;/FONT&gt; tag (and the&amp;nbsp;&lt;A href="http://web.resource.org/rss/1.0/modules/syndication/"&gt;Syndication extension&lt;/A&gt; for both RSS 1.0 and Atom)&amp;nbsp;by limiting the background downloads to no more often than the publisher specifies. For example, if an RSS 2.0&amp;nbsp;feed has a &lt;FONT face="Courier New"&gt;ttl&lt;/FONT&gt; of 180 (minutes) specified, the download engine will not check for updates more frequently than every 3 hours, even if the user has set the feed interval to 1hr. Note: as with the case of minimum interval, the user is able to manually refresh a feed more frequently then the 3hour&amp;nbsp;&lt;FONT face="Courier New"&gt;ttl&lt;/FONT&gt; defined by the publisher. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The second major concern that publishers have is with several clients hitting their servers at the same time. Let's look at how the RSS platform helps here.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Interval "Salting" &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Suppose the RSS Platform download engine were to check for updates for feed A exactly on the hour every hour. Thanks to Internet time servers, client's clocks tend to be fairly well synchronized. Taken togther, this would make&amp;nbsp;it likely that many clients would make requests to the feed A at exactly the same time. This would lead to traffic spikes which are expensive (at best) for servers to handle, since they would need to scale out to handle the peak traffic.&lt;/P&gt;
&lt;P&gt;In order to minimize the likelihood of severe traffic spikes the RSS Platform introduces a certain amount of randomness to each feed interval (this&amp;nbsp;is referred to as "salting" the interval). After each successful download, it sets the next download time of a feed to be the time of successful download plus the interval plus a random fraction of the interval. The effect is that the download time is, in aggregate, spread out over a period of time, so that requests made to the same server from many clients.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Error back-off interval&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Assume that a download does not successly complete&amp;nbsp;for a particular feed, let's say because of a temporary problem on the server. One approach would be for each client to retry every in a couple of seconds. However, this might make things worse for a server that is already having problems. Over time more and more clients would "join the party" -- constantly trying to get updates from the server making it hard for a server recover. Conversely, if the client were to simply mark the download as failed and wait until the next scheduled download time (hours or days later), it may miss updates if the error was a transient one.&lt;/P&gt;
&lt;P&gt;The RSS Platform uses a progressive back-off algorithm when there are errors getting a feed. Instead of retrying every couple of seconds, it doubles the retry interval on each iteration. On successive failures the retry interval eventually becomes as large or larger then the normal feed interval, at which point the normal interval will used. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The final major concern of publishers is with bandwidth usage. The RSS platform implements several of the recommended&amp;nbsp;features that will help reduce bandwith on servers&amp;nbsp;(e.g. see Nick Bradbury's &lt;A href="http://nick.typepad.com/blog/2004/05/rss_readers_and.html"&gt;post&lt;/A&gt;, or Randy Charles Morin's &lt;A href="http://www.kbcafe.com/rss/rssfeedstate.html"&gt;HowTo&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Conditional GETs&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;As mentioned earlier, bandwidth for RSS feeds will be of increasing concern for publishers. In order to help reduce bandwidth the download engine supports &lt;A href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3"&gt;Conditional GETs&lt;/A&gt; using ETag and If-Modified-Since HTTP headers. If the feed hasn't been updated at all since the last time the client checked, the server can respond with an HTTP &lt;A href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.5"&gt;304 (Not Modified)&lt;/A&gt; response. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Delta Encoding&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;In addition to standard conditional GETs the RSS Platform download engine supports Delta Encoding (for details, see Bob Wyman's post "&lt;A href="http://bobwyman.pubsub.com/main/2004/09/using_rfc3229_w.html"&gt;Using RFC 3229 with Feeds&lt;/A&gt;") which allows the server to respond with only the feed items that are new or have been updated, thereby possibly reducing the response significantly. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Compression (gzip encoding)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Another beneficial feature that the RSS Platform supports is compression. Specifically, the RSS Platform supports &lt;A href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.5"&gt;gzip&lt;/A&gt; encoding of server response bodies which can reduce the response size significantly especially for RSS/XML. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Automatic unsubscribing&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Finally, the RSS Platform implements support for the HTTP response &lt;A href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11"&gt;410 (Gone)&lt;/A&gt;. When this response is received, the platform will automatically change the feed's update schedule to "Never." So when a feed is shut down, the server can inform clients that the feed is gone, so that they stop polling. &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;That covers the features of the RSS Platform download engine that address feed publishers primary concerns, and provides options on how to best manage the scalability requirements of their servers.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Features to help manage client network usage&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;But wait, there's more!&amp;nbsp; --- (isn't there always?) :)&lt;/P&gt;
&lt;P&gt;If you're a developer or a user, you might be interested to read about some additional features that the Windows RSS Platform has implemented to help minimize bandwidth usage on the client.&lt;/P&gt;
&lt;P&gt;By default, the RSS Platform background download feature is off for new installations. This means that applications can request manual updates, but otherwise, the content will never be updated. Applications that use the platform should ask the user whether they want background updating, when they first use feed-related features (or at another appropriate time). &lt;/P&gt;
&lt;P&gt;Once enabled, the download engine runs in the background whenever the user is logged into Windows. It is important that the download engine does not adversely impact other applications that the user is running at the same time. Since the download engine runs in the background the user typically won't know when it's started up. It would be very frustrating for the user if, all of a sudden, normal browsing or email downloading became slow for "no apparent reason." To help reduce the likelihood of this, the RSS Platform download engine implements the following set of features:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Parallel Download&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;When the background download engine starts up, it creates a list of all feeds that are ready to be updated. To speed up the process, up to four feeds will be checked in parallel, but no more than that. Too many simultaneous outbound requests might impact foreground Internet usage severely.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Throttled requests&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Once one of the four parallel checks finishes the next feed in the pending list is checked. However, this could lead requests being made in a tight loop which can impact foreground Internet applications. In order to reduce this impact, the download engine throttles the number of requests that will be made in a given time span. &lt;/P&gt;
&lt;P&gt;The engine uses an algorithm that works by gives the engine a "token" once per second up to a maximum of 4 tokens that it can "store up". If it has a "stored up" token then it can make the next request. So assuming that requests finish quickly, then in "steady state" it will make a new request once per second but not more frequently. Obviously, if it has more then one token "stored up" (due to a feed taking a while to download) then it can "burst" and make multiple requests but only up to the max of 4.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope that this overview of some of the features of the Windows RSS Platform download engine provides some information for feed publishers as well as developers and curious users that are interested in how the download engine works, and what impact it may have on the overall network as well client performance. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Even more...&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The inquisitive mind will rightly point out: "Hey Walter, you haven't talked about download of enclosures!" You are correct. I will cover the details of enclosure download by the RSS Platform in a future post. If you have any particular questions about enclosure download you'd like to see answered, let me know in the comments.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;-Walter&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=571509" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rssteam/archive/tags/RSS+Platform/default.aspx">RSS Platform</category><category domain="http://blogs.msdn.com/rssteam/archive/tags/Publisher_2700_s+Guide+Series/default.aspx">Publisher's Guide Series</category><category domain="http://blogs.msdn.com/rssteam/archive/tags/Developer_2700_s+Guide+Series/default.aspx">Developer's Guide Series</category></item><item><title>Windows RSS Publisher's Guide, Part 1: Feed Auto-discovery</title><link>http://blogs.msdn.com/rssteam/archive/2005/08/03/446904.aspx</link><pubDate>Wed, 03 Aug 2005 02:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:446904</guid><dc:creator>rss</dc:creator><slash:comments>15</slash:comments><comments>http://blogs.msdn.com/rssteam/comments/446904.aspx</comments><wfw:commentRss>http://blogs.msdn.com/rssteam/commentrss.aspx?PostID=446904</wfw:commentRss><description>&lt;P&gt;Today is the first installment of the Windows RSS “Publisher’s Guide.” Over the development of the RSS features in Windows Vista, we’ll post regular features on what RSS feed publishers need to do to properly integrate with IE. In general, these will be simply be to do what most people in the community already expect (this post is a great example of that), so there will be few surprises. However, we think that being explicit about exactly what we support never hurt anyone. This way, the community can tell us if we’re doing something wrong, or we can explain why we chose one particular direction over another. Hopefully, this particular topic won’t be controversial. &lt;/P&gt;
&lt;P&gt;The most up-to-date version of the “Publisher’s Guide” will always be available at this link: &lt;A href="http://blogs.msdn.com/rssteam/articles/PublishersGuide.aspx"&gt;http://blogs.msdn.com/rssteam/articles/PublishersGuide.aspx&lt;/A&gt;. Each time we add something to it, we’ll post to the blog as well. Once we ship, we’ll mirror the guide on MSDN. &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;RSS autodiscovery &lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=ltr&gt;The “Web Feeds” button in IE 7 for Windows XP and in Windows Vista is designed to “light up” when the web page the user is viewing has an associated web feed. &lt;/P&gt;
&lt;P dir=ltr&gt;&lt;I&gt;Overview &lt;/I&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;I&gt;&lt;/I&gt;In order to tell IE (and other browsers, for that matter), that your page has an associated web feed, you need to add a &lt;FONT face="Courier New"&gt;link&lt;/FONT&gt; element inside the header of your web page. &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;lt;html&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;head&amp;gt;&lt;BR&gt;&lt;B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link rel="alternate" type="application/rss+xml" title="&lt;/B&gt;your feed title here&lt;B&gt;" href="&lt;/B&gt;http://www.company.com/feedurl.rss&lt;B&gt;"&amp;gt;&lt;BR&gt;&lt;/B&gt;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;BR&gt;&amp;lt;body&amp;gt;&lt;BR&gt;&lt;/FONT&gt;... &lt;/P&gt;
&lt;P&gt;Put the title of your feed in the title attribute and the URL to the feed itself in the href attribute. And, you’re done. &lt;/P&gt;
&lt;P&gt;Now, when a user goes to your web page, the “Web Feeds” button will light up (and if the user chooses, a sound can play). When the user clicks on the button, it will display the title that you put in the link element, and clicking on the title will navigate the user to preview the feed itself (which IE will render in a &lt;A href="http://blogs.msdn.com/rssteam/archive/2005/08/02/446882.aspx"&gt;readable form&lt;/A&gt; in the browser - from there the user will be able to subscribe to your feed). &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;Multiple feeds &lt;/I&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;As it happens, you can have as many of the &lt;FONT face="Courier New"&gt;&amp;lt;link&amp;gt;&lt;/FONT&gt; elements in your web page and IE 7 Beta 1 will show the titles of all of them in a list, in the order you put them in the page. The user can pick any of them to navigate to that feed. &lt;/P&gt;
&lt;P&gt;Here’s an example of the button in IE 7 Beta 1 lighting up on the MSNBC site: &lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://storage.msn.com/x1ppUPyqopddk6eDwrQiT87h3SqQ_T4U2CqsXzKsgnKIwqMOAGa5-x8O7x8ee4RM1VrQ5gCHYMQNcTMRc3j_3Ec1jgLFTmnXSv4e7crECDndH9OlbuJzzVzbyjKonP8yO_uziw_dG8m-6_HvXtxsarJqw"&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Best Practices&lt;/EM&gt; &lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;The following is a collection of best practices (do’s and don’ts) for how to leverage RSS autodiscovery in your web pages. &lt;/P&gt;
&lt;P&gt;&lt;U&gt;DO choose good titles&lt;/U&gt; &lt;/P&gt;
&lt;P&gt;As you can see in the example above, IE will display the title as you write it in your page. Therefore, it’s a good idea to actually put the title of the feed right there. A few sites (like this one!) have “RSS” as their title.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;DON’T list the same feed in different formats&lt;/U&gt; &lt;/P&gt;
&lt;P&gt;Unless you have a &lt;I&gt;really&lt;/I&gt; good reason, it’s not a good idea to have two links (or three!) that provide the same feed in different formats. It just makes the user have to pick between two things that they are not capable of distinguishing between. Pick your favorite format, and just support that. &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;DO put your most relevant feed first&lt;/U&gt; &lt;/P&gt;
&lt;P&gt;You are always welcome to put as many feeds as you want in your header, but you should make sure that the one at the top is the one that’s most relevant to the page itself. In future updates to IE 7, we will be making changes to optimize for the most common scenario of having a single feed. Getting to that first (or only) feed in the list will be one-click away. Getting to the others will be one or two more clicks. &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;DO continue providing links to your feed(s) in your web page&lt;/U&gt; &lt;/P&gt;
&lt;P&gt;There’s no harm in continuing to provide ordinary to your feeds in the web page. In many cases, you can provide a more descriptive text than you can fit in the link element. Whether the user clicks on the Web Feeds button or the user clicks on one of those links, IE will recognize that’s it is a feed and display it properly. Additionally, in some cases -- for example, sites with &lt;I&gt;lots&lt;/I&gt; of feeds -- it’s probably best to simply provide links to those in a list on the page instead of putting two dozen feeds in the header. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;B&gt;References &lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;B&gt;&lt;/B&gt;Mark Pilgrim's post on RSS autodiscovery: &lt;A href="http://diveintomark.org/archives/2002/06/02/important_change_to_the_link_tag"&gt;http://diveintomark.org/archives/2002/06/02/important_change_to_the_link_tag&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Note: In future releases of IE 7, we'll support &lt;A href="http://www.ietf.org/internet-drafts/draft-ietf-atompub-autodiscovery-01.txt"&gt;Atom autodiscovery&lt;/A&gt; as well. When we do, we will update this publisher's guide. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Hope this was helpful! &lt;/P&gt;
&lt;P&gt;- Sean &lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=446904" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/rssteam/archive/tags/RSS+Support+in+IE/default.aspx">RSS Support in IE</category><category domain="http://blogs.msdn.com/rssteam/archive/tags/Publisher_2700_s+Guide+Series/default.aspx">Publisher's Guide Series</category></item></channel></rss>