Posts tagged 'rss'



RSS and Atom in Action on Slashdot

Simon P. Chappell writes "We've all seen them, those icons that decorate blogs and websites; sometimes they're just little orange squares with white stripes, while others say RSS or Atom. Many of us have heard of feeds and podcasts and aggregators. What are these things and where did they come from? Well, Dave Johnson, the author of the open source Roller blogging software, is glad you asked and by way of an answer, he's written RSS and Atom in Action." Read the rest of Simon's review.
Woohoo! Simon likes the book and gives it an 8/10 rating.

RSS and Atom in Action at the JavaRanch

I'm doing a RSS and Atom in Action book promotion at JavaRanch this week in the XML and Related Technologies forum. That means that I'll be checking the forum several times a day and answering all of your questions about the book's topics. At the end of the week, we'll be giving away copies of the book to four randomly selected posters.

So far, I've been answering basic questions like what is RSS, what's the difference between RSS and Atom and what's the book about?

Tags: topic:[RSS], topic:[Atom], topic:[feeds], topic:[Java], topic:[Web 2.0]

Tri-XML 2006 presentation


Here's the abstract of the talk I gave this morning at Tri-XML 2006:
Beyond blogging: Atom format and protocol. Like XML-RPC and SOAP before, feeds and publishing protocols were born in the blogopshere and quickly moved beyond blogging. Nowadays, web service providers are using RSS/Atom feeds and REST-based publishing protocols as lightweight alternatives to SOAP. And developers are finding new ways to combine web services from different sites into new applications, known as "mash-ups" in the lingo of Web 2.0. If you'd like to do the same, then attend this talk to learn about the new IETF Atom feed format (RFC-4287) and the soon-to-be-finalized Atom protocol, which together form a strong foundation for REST-based web services development.
Here's a rough outline of the talk:
  • Introduction
    • Beyond blogging
    • Blogs hit the hit time
    • The web is bloggy
    • Atom as an alternative to WS-*
  • Understanding feeds
    • Birth of RSS
    • RSS 1.0: the RDF fork
    • The simple fork and RSS 2.0
    • Atom: the standard
  • Parsing feeds
    • Fetching and parsing feeds
    • Universal Feed Parser
    • ROME utilities
    • Windows RSS platform
  • Serving feeds
    • Approaches for generating and serving feeds
    • Feed autodiscovery
    • Styled feeds
  • Atom protocol
    • Compared to MetaWeblog
    • REST based approach
    • Introspection
    • Collections
    • Extending Atom
  • Atom protocol in action
    • Getting a service doc
    • Getting collections
    • Posting an entry
    • Posting an image
  • Demo: interacting with an Atom server via command-line
And here are the slides: TriXML2006-BeyondBlogging.pdf

Tags: topic:[Atom Publishing Protocol], topic:[Atom], topic:[APP], topic:[RSS], topic:[feeds]

Last two chapters to production


Over the weekend, I put my finishing touches on the (last) two new chapters for RSS and Atom in Action. Tomorrow they'll both be off to copy-editing, typesetting and then to the printers for publication in mid-June.

I really lucked out in the reviewer category. Thanks to Walter VonKoch of Microsoft's Windows RSS Platform team, who not only answered my questions but kindly offered to review the Windows RSS chapter. And thanks also to former co-workers Pat Chanezon and Alejandro Abdelnur, who reviewed the ROME chapter.

By the way Alejandro is back from Asia, blogging again and already coming up with cool new APIs for ROME. Checkout ROME.Mano, a pipeline framework for RSS and Atom feeds.

Tip'o'the hat to the FeedValidator and crew


I'd like to thank the folks who developed and run the FeedValidator, a valuable service that let's you know if your feeds validate against the RSS, Atom and commonly used extension specs. The warnings that it issues may be irritating and some can be safely ignored, but they're valuable just the same. I don't particularly like the warnings about <content:encoded> (which Roller now uses, by the way) and the style attribute, but I understand why they're necessary. If you want to whine about something, whine about the crappy RSS specs that we're all stuck with not the folks that are trying to help you understand them.

Update: In Roller RSS 2.0 feeds, we now use <atom:summary> for entry.summary (which is new) and <description> for entry.text (as we always have).

Re: Experimenting with the MS Feeds API


I'm seeing lots of interest in my MS Feeds API post yesterday, sparked by links from Sam Ruby, Dave Winer and Randy Morin. Some people might have gotten the impression that I was criticizing the decisions Microsoft made in mapping RSS elements and extension elements to the Feeds API object model. I wasn't.

I think Microsoft made pretty good choices, given the simplified object model that they're working with. If somebody is using funky RSS, then they mean it. For example, if somebody declares the Content Module namespace and uses the <content:encoded> namespace in their feed, then that's probably the content that they want folks to use. I think that's the philosophy Microsoft used in making those decisions, except for prefering <pubDate> over <dc:date>, which I don't understand.

The problem is, the Feeds API object model is a little too simple. Like RSS 2.0, it doesn't model the common things that bloggers do like having both a summary and content for each item, or having  name and/or e-mail address for each author. That's why people use extensions like the <content:encoded> and <dc:creator> (or prefer Atom, which does a better job of modeling those common things). I hope Microsoft will fix this by improving the object model and if they do, they won't have to make as many choices about which elements to use.

Experimenting with the MS Feeds API


The Windows RSS platform includes a Feeds API that parses all forms of RSS and Atom to a simplified  object model.

For example, an Item object has an Author property and not an author name, author e-mail and author URI which are all possible in Atom. And, an Item object has a Description field and not description and content (as in Wordpress feeds) or summary and content (as in Atom feeds).

So, how does the Feeds API decide how to map elements to this  simplified object model? I did some C# experiments and here are some of my findings. Note that the Feeds API is beta software and will certainly change for the better (I hope) by the time it is released in IE7 and Windows Vista.

 Item contains
 Feeds API returns
<dc:creator>dave</dc:creator>  item.Author = "dave"
<author>dave@example.com</author> item.Author = "dave@example.com"
<author>dave@example.com</author>
<dc:creator>dave</dc:creator>
item.Author = "dave"
   (prefers funky RSS)
<description>my desc</description>
<content:encoded>my content</content:encoded>
item.Description = "my content"
   (prefers funky RSS)
<pubDate>
   Thu, 9 Mar 2006 23:13:04 -0500
</pubdate>
item.Date =
   "
3/10/2006 4:13:04 AM"
   (uses GMT)
<pubDate>
   Thu, 9 Mar 2006 23:13:04 -0500
</pubdate>
<dc:date>
   2004-08-19T11:54:37-08:00
</dc:date>
item.Date =
   "
3/10/2006 4:13:04 AM"

   (prefers core RSS element)
<atom:summary>my summary</atom:summary>
<atom:content>my content</atom:content>
item.Description = "my content"

First, it's interesting that those funky RSS elements that Winer dislikes are preferred over the core RSS elements in important places. And second, what if you're not happy with Microsoft's mapping choices in this area?

For example, how do you get both description and content from those Wordpress feeds? Wordpress (and Typepad) uses the <description> element as a summary and the funky <content:encoded> element for the full content (see Winer's own Wordpress.com feed for example). You've got to parse the XML yourself. The Feeds API tries to makes that easy by providing both the XML for the entire feed and the XML fragment for each item, but I think most developers would prefer to have a more complete object model.

See also: What's up with the Windows RSS Platform

Tags: topic:[rss], topic:[atom], topic:[feeds], topic:[ie7], topic:[vista]

The never ending story of RSS and Atom in Action


You know last week, when I said the book was ready to go to the printers and would be available this week as an e-book? We'll, I was wrong.

While we waited for Atom protocol to stabilize, things changed in the world of C# and Java feed APIs. Microsoft introduced the Windows RSS platform and a pre-release of the Windows Feeds API is available in the IE7 beta. And ROME has come along way too; now with Atom format 1.0 support and a growing list of extension modules. We decided that we just couldn't publish a book on RSS and Atom without covering the Windows RSS platform and ROME in-depth. So now I'm under the gun again, writing away into the wee hours of the night. I should be done by April 14th and, with luck, the book will be out in late May, just in time for JavaOne. That explains my sudden interest in the Windows RSS platform.

The kids hate it, but I think it's for the best. Manning will have the very first book that covers the Atom protocol (with a working client and server), the Windows RSS platform and ROME in-depth. It'll definitely be worth the wait.

Tags: topic:[atom], topic:[rss], topic:[ie7], topic:[atom protocol]

What's up with the Windows RSS platform?


The Windows RSS Platform (or Feeds API) is the feed handling engine that powers the new RSS features in IE7. It will also be included in Windows Vista for use by other applications. Note that here, RSS is a generic term meant to include both RSS and Atom -- the Feeds API supports both. The Feeds API is packaged in a DLL called msfeeds.dll and available to programmers as a set of dual-interface COM objects. Here are the features exposed via the Feeds API.
  • Common feed list: list of feeds for current user, organized as folder hierarchy.
  • Feed store: local cache of feeds, feeds available via abstract object model
  • Download engine: for managing and monitoring large enclosure downloads
  • RSS sharing extensions: new XML elements to support bi-directional sync via RSS

The Feeds API gives you access to the current user's feed subscription list, a feed parser that can handle any form of RSS and Atom as well as the IE7 podcast download engine. The parser parses feeds to an abstract object model designed to represent any sort of feed. It handles funky RSS and in some cases prefers the funky elements (e.g. <content:escape> over <description>).

I'd like to learn more about how the Feeds API decides which elements to use, how sync works, and how the whole package compares to the premier Java Feeds API ROME. So, I've downloaded IE7 and started experimenting with the API from C#. I'll be posting more on this topic in the next week or two.

Here are some of the references I've been using to understand the API:

Feeds API docs, specs and whitepapers from Microsoft 

Microsoft employee blogs about the RSS platform

Other blogs about it

Update1: added a couple of new links suggested by Mark Woodman
Update2: added reference to Simple List Extensions
Update3: added link to RSS in Windows Vista presentaton

Tags: topic:[atom], topic:[rss], topic:[ie7], topic:[atom protocol]

The talk went well

My second JavaOne was a great experience, but it was a little stressful because up until last night I couldn't find any of my co-speakers. I spent most of Wednesday preparing to give the whole talk by myself, but luckily for me (and the attendees), Pat and Kevin showed up just in time. Unfortunately, Pat showed up with some very bad news for us at Sun: he's leaving to work at Google.

In the end, I think the talk went pretty well. Kevin did most of Pat and my slides on syndication because we had split the talk 50-50 when we couldn't locate Pat on Wednesday night (and assumed he was still in Paris). He did a good job with the material and added in some interesting points from his experience at Rojo.com where they parse millions of feeds per hour with the Java-based Apache Commons (sandbox) FeedParser.

We were a little disappointed with the turnout. I'd be surprised if the 700+ seat Yerba Buena theater was more than 30% full. The fact that were in a lunchtime timeslot on the last day of the show certainly didn't help. Anyhow, I'm relieved that it's over and ready for a nice long week off.


Monitoring wikis worldwide

Newsfeed search engines like Technorati, Feedster, and PubSub make it easy to monitor blogs and news sites. You can subscribe to a search newsfeed to be alerted whenever a blog entry or news items matches your search criteria. But how do you monitor all of the wikis of the world? The newsfeed search engines don't monitor wiki recent changes newsfeeds, or do they? 

I googled and turned up some wiki pages on InterWikiSearchEnginesDiscussion and UnifiedRecentChanges.  Looks like there is plenty more work to be done in this area.

« Previous page | Main