Book Reviews   Digital Libraries   Astronomy Log   Software   About  
Content Syndication with RSS
Author: Ben Hammersley
Pages: 208
Publisher: O'Reilly
ISBN: 0-596-00383-8
Summary: A good overview of RSS, in its various forms
Review Date: 11 March, 2004

I first came across RDF data feeds back in 1999 or 2000, when I wanted to pull in news headlines for a company intranet page. I found a little snippet of PHP code that would snarf in the rdf feed and format it nicely as a list of links. It was pretty neat at the time, but was an idea that was yet to catch on in a big way. Now fast-forward a few years to the present where 'blog' is beginning to make its way into the average Internet user's vocabulary. A key piece to most of today's blogging software is the capability to generate RSS feeds. But the use of RSS isn't limited to weblogging alone. Any site that provides regularly updated content can enhance its offering by providing an RSS feed for its users. If you're in the position where you need to generate such a feed, Content Syndication with RSS is a great way to come up to speed.

The book begins with a quick overview of RSS, and provides some history and introduction to the topic, as well as a list of reasons you can send to your boss for why your website needs an RSS feed. Out of the gates, the book is informational and interesting, but a few typos and grammatical errors are slightly distracting. Dead links (snewp.com) don't help either (but the book is a year old now, which is getting up there in Internet time, so I can't be too critical).

Chapter 3 provides a 'dip of the toe' as it were, into the waters of the RSS ocean, providing summary coverage of the various standards that have surfaced. Included are 0.91, 0.92, 2.0, and 1.0. For each standard a quick overview of the main features are offered as well as helpful tree diagrams showing the various core elements available in each standard, as well as simple examples of actual RSS content.

Whereas chapter 3 barely scratched the surface of each standard version, chapters 4-8 dive head first and provide much greater depth of information about each standard. Here we find very clean examples (except for some indentation glitches, see below) of using the Perl XML::RSS module to build RSS feeds. While the examples are fairly straightforward, a working knowledge of Perl will definitely help. One of the examples combines another new technology by using results obtained via the Google web service API to generate an RSS feed of said search results.

All in all the coverage is good, and relatively easy to follow. Things get a bit heady in chapters 5-7 with the coverage of RDF and RSS 1.0, but such is to be expected in that area. Nonetheless, the dilligent reader will be able to come out of the section with a better grasp of how rdf is used to build RSS feeds. Clear examples are provided along the way, with bolded text to indicate the relevant portions of the example feeds. On occasion the bolding doesn't happen where it ought to. Probably typesetting issues, perhaps. One example again combines some newer technology by utilizing the Amazon web service to build an RSS 1.0 feed out of Amazon search results. The book uses XML::Simple to parse the Amazon results. An XSLT transformation might have been more interesting, however, a simple example of an XSLT transformation is given in a later example in the book. One problem I found in this part of the book consisted of a couple of references to non-existent appendices.

Chapter 7 provides information about a large set of extension modules you can use to extend and enhance your RSS 1.0 feeds. Chapter 8 finishes this part of the book with coverage of RSS 2.0 (not rdf).

Once you've waded through the RDF swamps, things are pretty easy sailing to the end of the book. Chapter 9 illustrates various ways in which you can use and process RSS feeds. Chapter 10 introduces several directories of RSS content, Web aggregators, and Desktop readers that grok RSS feeds. Here you'll learn about directories like Syndic8, and tools like O'Reilly's Meercat aggregator. Chapter 11 walks you through creating an extension module to RSS 2.0, as well as how to extend the Open-Source Amphetadesk desktop reader to handle the new module. There are some great examples here of how to utilize and provide RSS content. The book as a whole acts as a good catalyst for ideas of new ways in which RSS can be used.

Finishing off the book, Chapter 12 provides coverage of publish and subscribe technologies. The two appendices that actually made it into the book (see above) cover the XML you'll need to know to work with RSS, and a list of useful sites and software. Missing is the list of country codes that was promised in the middle of the book.

One thing that bothered me about the book was the occasional lack of consistency with respect to XML indentation, with elements here and there sticking out of line. Minor, but annoying. Often code examples aren't indented well either. Uggh. I'm guessing that's due to an impedance mismatch between publisher and printer perhaps.

The code examples in the book are given in Perl, so to get the most out of the book, you'll want to be at least a little familiar with how to build up fairly complex data structures in Perl (hashes-of-hashes and their ilk).

Overall the book (weighing in at just over 200 pages), is easily readable, and with some effort (particularly in the RDF chapters) is very enlightening. Understanding the differences and particulars of each of the RSS standards can get confusing, but the book does a great job at clarifying the features, strengths, and weaknesses of each. The examples throughout the book are very helpful in illustrating the concepts covered, (usually) without being too overbearing and drawn-out as can easily happen with anything XML. At my place of employment we are devloping a product where we'll be using RSS, and I found the book to be an ideal companion to bring me up to speed in the area. We're using Perl though, so if you're planning on doing RSS with Java or another language, then you might find the book somewhat lacking. (You really ought to learn Perl, though :-)

Overall Rating: 7/10

Me

Daniel Hanks

I'm a system administrator working for Omniture

Interested in

perl
books
python
databases
genealogy
astronomy
digital archival
digital libraries
web applications
web infrastructure
distributed storage

among other things . . .

Storyteller


Pamela Hanks

is an excellent storyteller.

(She also happens to be my wife :-)

A storyteller makes a wonderful and unique addition to family, school, church or other group events. Schedule her for your next gathering.


Kiva.org
Kiva - loans that change lives

Recent Blog Entries

Subscribe with Bloglines
- Book Review: Illustrated Guide to Astronomical Wonders
- Book Review: Wicked Cool Shell Scripts
- PLUG Presentation Slides: The Open Source Data Center
- Harnessing human computational power from computer games
- I love a good roadtrip
- FamilySearch Developers Conference 2008 presentations now available online
- FHT follow up: an idea for a mobile genealogical application
- Family history and technology: it's only getting better
- President Hinckley passes away
- December is NaBoMoReMo - National Book of Mormon Reading Month
- Family History, Photos, Blogs, and Books
- The Compact Oxford English Dictionary
- 1830s English and the Book of Mormon
- Google adds My Library feature to Book Search
- Utah Open Source Conference
- Wiki diagrammer (Steal this idea!)
- Microloans at Internet-scale
- Podcasting content created by someone else
- Silver Lining thought: Parking at work
- Emerging technologies for system administrators

All Entries . . .

LDSOSS
LDS Open Source Software
A website discussing the use of Open-source software for applications useful to those sharing values of the Latter-day Saint (Mormon) faith.

© 2009, Daniel C. Hanks