Using The RSS Platform On Windows Syndication goes mainstream Walter vonKoch Program Manager RSS / Internet Explorer Microsoft Corporation BTB033
RSS Atom Feeds
   RSSify Now  RSS enable your site (feed discovery) Enrich your feed with Sort & Filter tags Expose Lists Best practices
IE7 Feed View Discovery Sorting and Filtering Lists
Feed Discovery Discovery of feeds on web pages <html> < head > <title>Hello World Page</title> <link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;The Hello World RSS feed&quot; href=&quot;HelloWorld.xml&quot;/> </head> <body> <h1>Hello, World</h1> </body> </html>
Publisher Defined Sorting And Grouping < channel > <cf: listinfo > <cf:sort ns=&quot;urn: my &quot; label=&quot;Buy It Now price&quot; element=&quot;BuyItNowPrice&quot; data-type=&quot;number&quot; default=&quot;no“ / > <cf: sort  ns=&quot;urn:my&quot; label=&quot;Current auction price&quot; element=&quot;CurrentPrice&quot; data-type=&quot;number&quot; default=&quot;no“ / > <cf:sort ns=&quot;urn:my&quot; label=&quot;Listing end time&quot; element=&quot;EndTime&quot; data-type=&quot;date&quot; default=&quot;no“ / > <cf:sort ns=&quot;urn:my&quot; label=&quot;Number of bids&quot; element=&quot;BidCount&quot; data-type=&quot;number&quot; default=&quot;no“ / > <cf:group ns=&quot;urn:my&quot; label=&quot;listing format&quot; element=&quot;AuctionType“ / > <cf: group  ns=&quot;urn:my&quot; label=&quot;option&quot; element=&quot;ItemCharacteristic“ / > <cf:group ns=&quot;urn:my&quot; label=&quot;listing category&quot; element=&quot;Category“ / > </cf:listinfo>
Lists List semantic Order matters Complete set of items < channel > <cf:treatas>list</cf:treatas> …
RSS Best Practices When publishing feeds remember <guid> prevents duplicate items <pubDate> to have predictable sorting <title> lets users scan for what to read Emit well-formed XML including content Choose the feed format that you want; but choose only one
  Windows RSS Platform RSS Platform Background Download Security Principles API & Object Model Managed Code Mix Session Calendar
Windows RSS Platform Download Engine RSS 0.9x RSS 1.0 RSS 2.0 Atom Browsers Photos Contacts … News Blogs Photos Audio Calendars Lists … Merge Processor Common Feedlist Items Enclosures RSS Object Model Store Service API
Background Download Scheduled Background Download Conditional GET & Delta encoding Throttled Requests “ Salted” Scheduling Exponential back off <ttl> aware Enclosure Download Using BITS (HTTP RANGE requests)
RSS Platform Security Share lessons from email and web-browsers Don’t trust the source  Don’t trust the content Don’t trust the enclosures Make downloaded locations hard to guess Defense in depth RSS-specific Explicit subscription list Err on the side of strict Validate and Sanitize feed content No executable enclosures
RSS Platform API COM API - Automation (IFeed…) - Early-bound (IXFeed…) Not safe-for-scripting FeedsManager Feed FeedFolder FeedItem FeedEnclosure FolderEvents FeedEvents
Object Model
Managed Code API designed based on .NET Framework Design Guidelines  Type library importer (TLBIMP) to create managed wrappers
RSS Apps Mix06 Session Calendar
Feeding The Calendar <rss version=&quot;2.0“ xmlns: msevents =&quot;http://content.mix06.com/rss/msevents/1.0&quot;> < item > < title >Using the RSS Platform on Windows  </> < description >Discover how to easily add support  … </> < guid  isPermaLink=&quot;true&quot;>http://content.mix06.co  … </> <link>http://content.mix06.com/content/SessionVi  … </> <pubDate>Wed, 25 Jan 2006 16:01:06 GMT</> <msevents:track>Beyond The Browser  </> <msevents: location >Palazzo Ballroom E-L  </> <msevents: sessionstartIso >2006-03-22T08:30:00-08:00  </> <msevents: sessionendIso >2006-03-22T09:45:00-08:00  </> <msevents:sessionspeaker>Greg Reinacker  </> <msevents:sessionspeaker>Walter VonKoch  </>
  Applications And RSS Integrate RSS Platform RSS Ecosystem
Integrate RSS Platform Application Integration Common Feed List  Download Engine  Feed Store and Enclosures Service Integration Common Feed List Read/Unread state
RSS Ecosystem RSS Platform Online Services  News Blogs Photos Audio Calendars Lists … Photos Contacts … Browsers Photos Contacts Online “ Plug-in” Mobile Mac Browsers …
Greg Reinacker  CTO and Founder NewsGator Technologies
Service Integration NewsGator Online integration with Windows RSS Platform
NewsGator Online Sync Extends feed-reading experience beyond one PC Mac OS X, MCE, Mobile, Third Parties Synchronizes  Common Feed List Read/Unread state Leverages strengths of RSS Platform Instant integration with all RSS Platform based clients
  Call To Action RSS enable your site today Follow RSS best practices Support HTTP Range requests for enclosures Emit more then just text via RSS Target RSS-enabled apps Participate in the RSS Ecosystem Fill out session eval forms online
Learn More RSS blog  http://blogs.msdn.com/rssteam/ MSDN documentation  http://msdn.microsoft.com/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp Sandbox Hands-On Lab: LBTB300 - Extending RSS Technologies into Your Applications and Web Sites NewsGator API  http://www.newsgator.com/ngs/api
© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Using the RSS Platform on Windows: Syndication Goes Mainstream

  • 1.
    Using The RSSPlatform On Windows Syndication goes mainstream Walter vonKoch Program Manager RSS / Internet Explorer Microsoft Corporation BTB033
  • 2.
  • 3.
    RSSify Now RSS enable your site (feed discovery) Enrich your feed with Sort & Filter tags Expose Lists Best practices
  • 4.
    IE7 Feed ViewDiscovery Sorting and Filtering Lists
  • 5.
    Feed Discovery Discoveryof feeds on web pages <html> < head > <title>Hello World Page</title> <link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;The Hello World RSS feed&quot; href=&quot;HelloWorld.xml&quot;/> </head> <body> <h1>Hello, World</h1> </body> </html>
  • 6.
    Publisher Defined SortingAnd Grouping < channel > <cf: listinfo > <cf:sort ns=&quot;urn: my &quot; label=&quot;Buy It Now price&quot; element=&quot;BuyItNowPrice&quot; data-type=&quot;number&quot; default=&quot;no“ / > <cf: sort ns=&quot;urn:my&quot; label=&quot;Current auction price&quot; element=&quot;CurrentPrice&quot; data-type=&quot;number&quot; default=&quot;no“ / > <cf:sort ns=&quot;urn:my&quot; label=&quot;Listing end time&quot; element=&quot;EndTime&quot; data-type=&quot;date&quot; default=&quot;no“ / > <cf:sort ns=&quot;urn:my&quot; label=&quot;Number of bids&quot; element=&quot;BidCount&quot; data-type=&quot;number&quot; default=&quot;no“ / > <cf:group ns=&quot;urn:my&quot; label=&quot;listing format&quot; element=&quot;AuctionType“ / > <cf: group ns=&quot;urn:my&quot; label=&quot;option&quot; element=&quot;ItemCharacteristic“ / > <cf:group ns=&quot;urn:my&quot; label=&quot;listing category&quot; element=&quot;Category“ / > </cf:listinfo>
  • 7.
    Lists List semanticOrder matters Complete set of items < channel > <cf:treatas>list</cf:treatas> …
  • 8.
    RSS Best PracticesWhen publishing feeds remember <guid> prevents duplicate items <pubDate> to have predictable sorting <title> lets users scan for what to read Emit well-formed XML including content Choose the feed format that you want; but choose only one
  • 9.
     WindowsRSS Platform RSS Platform Background Download Security Principles API & Object Model Managed Code Mix Session Calendar
  • 10.
    Windows RSS PlatformDownload Engine RSS 0.9x RSS 1.0 RSS 2.0 Atom Browsers Photos Contacts … News Blogs Photos Audio Calendars Lists … Merge Processor Common Feedlist Items Enclosures RSS Object Model Store Service API
  • 11.
    Background Download ScheduledBackground Download Conditional GET & Delta encoding Throttled Requests “ Salted” Scheduling Exponential back off <ttl> aware Enclosure Download Using BITS (HTTP RANGE requests)
  • 12.
    RSS Platform SecurityShare lessons from email and web-browsers Don’t trust the source  Don’t trust the content Don’t trust the enclosures Make downloaded locations hard to guess Defense in depth RSS-specific Explicit subscription list Err on the side of strict Validate and Sanitize feed content No executable enclosures
  • 13.
    RSS Platform APICOM API - Automation (IFeed…) - Early-bound (IXFeed…) Not safe-for-scripting FeedsManager Feed FeedFolder FeedItem FeedEnclosure FolderEvents FeedEvents
  • 14.
  • 15.
    Managed Code APIdesigned based on .NET Framework Design Guidelines Type library importer (TLBIMP) to create managed wrappers
  • 16.
    RSS Apps Mix06Session Calendar
  • 17.
    Feeding The Calendar<rss version=&quot;2.0“ xmlns: msevents =&quot;http://content.mix06.com/rss/msevents/1.0&quot;> < item > < title >Using the RSS Platform on Windows </> < description >Discover how to easily add support … </> < guid isPermaLink=&quot;true&quot;>http://content.mix06.co … </> <link>http://content.mix06.com/content/SessionVi … </> <pubDate>Wed, 25 Jan 2006 16:01:06 GMT</> <msevents:track>Beyond The Browser </> <msevents: location >Palazzo Ballroom E-L </> <msevents: sessionstartIso >2006-03-22T08:30:00-08:00 </> <msevents: sessionendIso >2006-03-22T09:45:00-08:00 </> <msevents:sessionspeaker>Greg Reinacker </> <msevents:sessionspeaker>Walter VonKoch </>
  • 18.
     ApplicationsAnd RSS Integrate RSS Platform RSS Ecosystem
  • 19.
    Integrate RSS PlatformApplication Integration Common Feed List Download Engine Feed Store and Enclosures Service Integration Common Feed List Read/Unread state
  • 20.
    RSS Ecosystem RSSPlatform Online Services News Blogs Photos Audio Calendars Lists … Photos Contacts … Browsers Photos Contacts Online “ Plug-in” Mobile Mac Browsers …
  • 21.
    Greg Reinacker CTO and Founder NewsGator Technologies
  • 22.
    Service Integration NewsGatorOnline integration with Windows RSS Platform
  • 23.
    NewsGator Online SyncExtends feed-reading experience beyond one PC Mac OS X, MCE, Mobile, Third Parties Synchronizes Common Feed List Read/Unread state Leverages strengths of RSS Platform Instant integration with all RSS Platform based clients
  • 24.
     CallTo Action RSS enable your site today Follow RSS best practices Support HTTP Range requests for enclosures Emit more then just text via RSS Target RSS-enabled apps Participate in the RSS Ecosystem Fill out session eval forms online
  • 25.
    Learn More RSSblog http://blogs.msdn.com/rssteam/ MSDN documentation http://msdn.microsoft.com/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp Sandbox Hands-On Lab: LBTB300 - Extending RSS Technologies into Your Applications and Web Sites NewsGator API http://www.newsgator.com/ngs/api
  • 26.
    © 2006 MicrosoftCorporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.