Dave Johnson on open web technologies, social software and Java
This is the sixth in my series of Web Integration Patterns. Check out the intro at this URL http://rollerweblogger.org/roller/entry/web_integration_patterns
This pattern is about integrating web sites and applications by using standard feed formats to convey timely information, updates, status messages, events and other things from one web application to another.
Crammed into one post...After a month of blog neglect, my automatic Latest Links from my Delicious.com account started to pile up. Back in the glory days of this blog, I blogged about things instead just saving links or tweeting about them. I realized that, by adding some commentary/opinion for each, I could turn a month's worth of links into a month's worth of blog posts and thus gain total absolution for my sin of going a full month without a post. So that's what I did. [Read More]
Congratulations to the Apache Abdera team, who've just graduated to full Apache top level project status. The don't have the new site at abdera.apache.org up yet and they're still not quite at 1.0 yet, but this is a major milestone. They've got the best Atom format and protocol toolkit around, in my opinion.
Here's a concept that I've been using to help me both in my blog writing and to filter all the incoming feeds, tweets, photo sharing and social bookmarking items that come in via my feed reader: my A list. It's not made up of famous folks and big blog names like Scoble or Winer or Arrington. My A list is made up of people that I know or work with and that I believe are following me in some way, reading my blog, subscribing to my tweets or working with me on a project. I've got a folder in my feed reader and my A list is always the one I read first. Sometimes I don't get much farther than than before hitting the mark all read button. And when I do blog, that folder helps remind my of who I'm writing for. "A" stands for audience.
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?
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.
I was pretty impressed how quickly Google was able to help my brother out when his Gmail account apparently disappeared. That makes me feel a lot better about trusting Google to manage my precious data.
Another reason to trust in Google is that they make good stuff. I decided to try Google Reader for a couple of days. I figured I'd be back to NetNewsWire after a couple of days, but now I'm hooked and I'm not sure I'll ever go back. The only things I miss are hierarchical folders and smart-subscriptions, which I was using to subscribe to a search within my subscriptions, e.g. alert me when any of the feeds I'm reading mention "roller". I'd like to see better blog-search integration in Reader and features like FeedDemon's popular topics.
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:
Last week was deadline week for JavaOne and ApacheCon EU presentations, so I was busy. Fortunately for me, my other deadlines were postponed, I did some begging for time and I actually had time to take a short vacation; a family reunion at Stone Mountain park, Georgia. Here's some more information about my ApacheCon talk and an outline of the slides.[Read More]
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?