apache apachecon app apple asf atom atomprotocol atompub blogapps blogging businessblogging conferences family feeds foss general glassfish google humor ibm java javaone links linux mac microsoft movies music netbeans opensocial opensource photos politics rest roller rome rss socialnetworking socialsite socialsoftware sun triangle trianglebloggers vacation webdev webservices wiki
Check out Tim Bray's Atomic Monday post for a summary of recent developments in the world of AtomPub protocol and Atom format. With the uptick in interest in Atom and especially AtomPub protocol's usage in mainstream APIs from Google and Microsoft, I wonder if if would make sense to update RSS and Atom in Action.
The bulk of the book is up-to-date, for what it covers. RSS and Atom haven't really changed and, though the book came out before the spec was finalized, the AtomPub material is basically sound. The ROME material is still current too.
What's missing are all of the new developments: a dozen or more new AtomPub based APIs from Google (GData and OpenSocial) and Microsoft (Live and Astoria) and new tools like Apache Abdera (incubating). Not to mention Windows RSS Platform 2.0 and ROME 1.0 (which is coming soon). Updating the book to cover all of those topics would be quite an endeavor and I'm not sure it's the right approach to covering AtomPub. What do you think?

Apparently, I spoke to soon about ROME being in maintenance mode. There's an all-new Yahoo Weather module for ROME from Robert "kerbernet" Cooper.
For Java developers starting out with RSS and Atom, here are some notes to help you figure out the differences between the Java.net ROME and Apache Abdera (incubating) projects.
ROME is a set of Java tools for parsing, fetching and generating all forms of RSS and Atom feeds. The core ROME library is relatively small and depends only on the somewhat creaky old JDOM XML parser. Available separately are modules to support various feed extensions such as OpenSearch, iTunes, GeoRSS, etc. ROME was originally developed and open sourced by Sun Portal dev team members in 2004.
ROME Propono is a subproject of ROME that supports publishing/editing entries and files to blog servers and AtomPub servers. Propono is made up of three parts: 1) a Blog Client library can publish via either the old lagacy MetaWeblog API or the shiny new AtomPub protocol, 2) an AtomPub client that publishes only via AtomPub and 3) a framework for creating AtomPub servers. Propono was developed by Ramesh Mandava and Dave Johnson, based on code from RSS and Atom in Action and open sourced as part of the Sun Web Developer Pack in 2007.
Abdera is a set of Java tools for working with Atom feeds and AtomPub protocol. This includes a parser, writers, an AtomPub client and a framework for creating AtomPub servers. Abdera's Atom feed parser uses STAX, so it uses less memory and is faster than ROME. Abdera's Atom feed support is more comprehensive than ROME's and it supports signatures, encryption, Atom to JSON, extensions for Threading, Paging, GeoRSS, OpenSearch, GoogleLogin, etc. etc. Abdera was developed by IBM and contribued to Apache in 2006.
Now let's compare frameworks. The pros and cons of ROME are:
The pros and cons of Abdera are:
There you have it. ROME and Abdera folks: think that's a fair comparison? Are you a ROME or Abdera user? How would you like to see these frameworks move forward?
Another thing I worked on over the winter break was an all-Dave feed, a single page and feed that combines all of the various things that I post to the web: blog entries, Flickr photos, del.icio.us links and Twitter activity. So far, this is what I've got: http://rollerweblogger.org/roller/page/feeds.
Happy New Year to all the readers of this blog and all the folks who happen to have arrived here via one of the various planets, spam blogs and Google search result pages that include it. I hope you all have a prosperous and pleasant year ahead. I'm hoping for the same. It's nice to start the new year with some good news and I've got some; check this out:
RSS and Atom in Action has been out for over a year now and just as the phenomenal sales are starting to drop off, something wonderful has happened. The book has been nominated for the prestigious Stephen T. Colbert Award for Literary Excellence. As you can see in the photo above, at least one copy of the book is already carrying the Colbert nominee seal. Avoid the rush and buy your copy of RSS and Atom in Action now.
Those who have read Colbert's I Am America (And So Can You!) will understand the significance of this important award and understand the impact on future sales of the book. To learn more about the nomination process and criteria, buy yourself a copy of Colbert's book and then flip to page 214½. Cheers!
RSS advistory board: The RSS Profile makes it easier for feed publishers and programmers to implement RSS 2.0, offering advice on issues that arise as you develop software that employs the format. For 18 months, the board worked with the RSS community on interoperability issues, receiving help from representatives at Bloglines, FeedBurner, Google, Microsoft, Netscape, Six Apart and Yahoo. The profile tackles the most frequently asked questions posed by developers:
- How many enclosures can an item contain?
- Are relative URLs OK in item descriptions?
- Is it OK to use HTML in elements other than an item's description?
For the answers, read the sections on enclosures, item descriptions and character data, respectively. Sam Ruby announced this morning that the Feed Validator now tests for conformance to the profile, offering 11 new checks for improving interoperability.
Kudos to the RSS Advistory Board. The RSS Profile is an excellent guide to publishing RSS. Plus, it's very nice to see the confusing parts of RSS clarified and to see those clarifications linked to from the RSS spec.
Joe Cheng: I’m starting a (hopefully short) series of blog posts documenting the specifics of how the upcoming AtomPub-enabled release of Windows Live Writer will behave, and what AtomPub-enabled blog* servers can do to ensure the best interop with us. I also hope other blog client implementers can learn from our experience and consider using the same rules and behaviors we do when implementing their own AtomPub support.
Very nice. I'll be watching this one closely, looking for ways to improve Roller's and ROME's AtomPub support.
Google Blog Search turned up this nice article on creating custom modules with ROME by Sujit Pal, and a nice mini-review of my book:
Sujit Pal: "However, Dave Johnson's book provides a lot of background information and a lot of nice examples in Java and C#. I would highly recommend it to anyone who needs to get up to speed quickly with ROME and RSS/Atom."
It's good to see people are still buying and finding the book useful. It's been out for over a year now, but I don't think it's really out of date at all. I've been keeping the examples up-to-date as part of the Blogapps project and even enhancing them: the example Atom protocol client code from the book is now part of the ROME Propono project.
The next releases that I'd like to announce are the Blogapps 2.1 Examples and the Blogapps 2.1 Server.
If you'd like to learn more about the Blogapps examples and server then read The Blogapps Project article at Java.net. Here's a quick summary:
The Blogapps project hosts a collection of useful RSS and Atom utilities and examples from RSS and Atom In Action by Dave Johnson. They're designed to be useful even if you haven't read the book and they're available under the Apache License 2.0 so you can use the code in your applications and you can modify and redistribute them as you wish.
What's changed since 2.0? The examples have been updated to include the latest version of ROME Propono, which means that most of them now support the final Atom protcol spec. The server has been updated to include Roller 4.0 RC5, which also includes Atom protocol support and JSPWiki 2.4. And of course, various bugs have been fixed. Here are the release files, installation instructions and release notes.
This blog entry was posted via Atom protocol and the MatisseBlogger blog-client, which you can see in the screen-shot below (which was also posted via Atom.
What's next? Not sure at this point, but I will do another Blogapps release once ROME 1.0 is released.
The first release to discuss is ROME Propono, which includes a ROME based Atom protocol client library, Atom protocol server framework and an Blog Client library abstraction that supports both Atom protocol and the MetaWeblog API.
I've been working on Propono 0.6 off-and-on since May, keeping it in sync with the latest version of the Atom protocol, testing it against Tim Bray's APE and adding various improvements needed in my other projects. Over the weekend I finally had enough time to get a release out. You can find the full-details at the link below but basically this release adds support for the final Atom Publishing Protocol specification and better support for relative URIs.
What's next? Once ROME 1.0 is released Real Soon Now, I'll get a another release out and I'll probably call it ROME Propono 1.0.
Is it this http://cyber.law.harvard.edu/rss/rss.html, promoted by Dave Winer?
This http://www.rssboard.org/rss-specification, from the RSS advisory board?
Or one of the other dozen or so incompatible formats.
It doesn't really matter. There's only one Atom: RFC-4287.
Hat tip to Sam Ruby.
As usual, I'm enjoying JavaOne and meeting lots of new people and putting faces to names. I've also been practicing my talk daily so I can give you my best performance, so eat lunch a little early or a little late and come see how it goes. Here are the details:
I'm happy to announce the first release of the ROME subproject Propono. Propono is a ROME-based Java class library that supports publishing protocols, specifically the Atom Publishing Protocol and the legacy MetaWeblog API. Propono includes an Atom client library, an Atom server framework and a Blog client that supports both Atom protocol and the MetaWeblog API.
Here's the project page
http://wiki.java.net/bin/view
Here's the Propono 0.4 release page:
http://wiki.java.net/bin/view
And here's a link to the API docs, which include details, diagrams and code examples:
https://rome.dev.java.net
I'll be testing Propono this week and next (at the Google-hosted APP interop meeting) so now is a great time to provide feedback and bug reports. I plan on releasing Propono 0.5 in the *very* near future.
We haven't released the standalone Roller-Planet application yet, but the .Sun Engineering team quietly deployed the latest bits at planet.sun.com a couple of weeks ago in response to requests from the Glassfish, SWDP and other teams for planet-style web sites. You can follow the links on the main page to find planets for Glassfish, SWDP, Sun India, Sun Alumni, Sun Java System Web Server, web services and globalization bloggers.
What's Roller-Planet? It's a community aggregation server, similar to Planet-Planet but with some key differences: it's got a web UI that enables groups of users to run their own planet sites, it's based on Java and it uses the ROME feed parser and fetcher. I've written about it before. We don't have a release plan yet for Roller-Planet so if you really want to try it you'll have to fetch and build it from the Apache Roller SVN repo.
Newsgator, makers of FeedDemon and NetNewsWire, have launched a Java ME powered RSS/Atom feed reader. Here are some details from the press release:
NewsGator Go! for BlackBerry and NewsGator Go! for Java were developed in a technology partnership with FreeRange Communications, the leading developers of mobile publishing and mobile RSS solutions, and is available for BlackBerry, Sony Ericsson, Nokia, and most other MID-P 2.0 mobile phones, including Samsung, Sanyo and LG. NewsGator Go! is available for $29.95 or $14.95 if bought with any of NewsGator’s desktop readers, including FeedDemon, NetNewsWire and Inbox.
Via Randy Morin.
I'm pretty excited that we're putting some resources behind ROME and that both ROME and Blogapps are part of SWDP R1, but I'm even more excited about the next release. In R2 we'll drop the Atom Server Kit and Blogapps BlogClient and we'll replace them with ROME Propono a brand new Atom protocol client and server library that we're getting ready to contribute to the ROME project.
I haven't had a whole lot of time to experiment with the various components in the pack, but I have played with Phobos and I think it's pretty compelling. Phobos is a "lightweight, scripting-friendly, web application environment." It's not just for creating server-side JavaScript applications, but that's the angle the I find interesting. So many developers are creating JavaScript/Ajax applications these days that working in JavaScript on both client and server-sides makes sense -- especially when you can debug into JavaScript code in your IDE as you can with the Netbeans Phobos module. Also note that the jMaki Ajax components work with JSP, PHP and Phobos -- jMaki and Phobos look like a winning combination.I'm very happy to report that my talk was accepted for JavaOne 2007. I'll be giving a thoroughly revamped and updated version of my Beyond Blogging talk (aka Johnson on Feeds), which adds in-depth coverage of ROME and ROME Propono. I'm excited about going to JavaOne again, but I'm also feeling a bit frazzled. I'm swamped with work right now and I've got a stack of deadlines clustered around the March 20 due date for the slides.
I helped out with the session selection for the web-tier track this year so I can say with some confidence that at least one track is going to rock -- we've got a wonderful set of talks lined up, so don't miss it. The full session schedule isn't online yet, but registration is open.
Placeblogger is a new blog and aggregation site that's all about local blogging from Lisa Williams and friends. It's powered by Bryte, which is based on the Drupal content management system and offers blogs, feed aggregations, photo galleries and polls.
You can help build the database by submitting your favorite place blogs. The database supports a number of different "blog types." You can add aggregations, so Joe's local planets would be suitable, and you can add community sites so Orange Politics would fit right in too. I submitted Raleighing.
Here's some more reading on the topic:
This work is licensed under a Creative Commons License.
Copyright 2002-2007, David M Johnson (dave.johnson at rollerweblogger.org)
This is a personal weblog, I do not speak for my employer.

Buy now from Amazon.com
Or direct from Manning
| « July 2008 | ||||||
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 10 | 11 | |||
13 | 14 | 15 | 16 | 19 | ||
20 | 22 | 23 | 24 | 25 | 26 | |
27 | 28 | 29 | 30 | 31 | ||
| Today | ||||||
Allen Gilliland
Anil Gangolli
Dan Axon
Danese Cooper
Film Babble Blog
Geertjan's Weblog
Henri Yandell
James Robertson
Jim Grisanzio
Josh Staiger
Linda Skrocki
Pat Chanezon
Rama
Ruby Sinreich
Simon Phipps
Tim Bray
Will Snow
Janne Jalkanen
Joe Gregorio
Matt Raible
Mike Cannon Brookes
Rafe Colburn
Sam Ruby
Simon Brown
My other sites