Blogging Roller

Dave Johnson on open web technologies, social software and software development


SpringSource and Covalent: good thing for Apache?

SpringSource, the company behind the Spring Framework, has purchased Covalent, a company that provides support for Apache projects. This popped up on my radar because Covalent offers support contracts for Roller and in fact, SpringSource CEO Rod Johnson mentioned Roller specifically when talking about the deal (emphasis mine):

<a href= "http://www.informationweek.com/news/showArticle.jhtml?articleID=205920751">Rod Johnson: "We want to support the open source software that people want to use," including the Geronimo application server, the Axis Web Services Framework from Apache, and the Apache Roller Blog multi-user blogging software."

Sounds like a good thing and hopefully it will improve the support story for all Apache products. In fact, it could be a really good thing for Apache projects because Rod's philosophy is that you can't support software unless you are one of the software's creators.

<a href= "http://www.infoq.com/news/2007/06/open-source-models">Rod Johnson: "You can't divorce the process of maintaining software from the process of creating software...That's not the future of enterprise open source - unless open source has no future"

Based on that, we can assume that SpringSource will now be paying committers to do creative work on Roller and other Apache projects so that they can provide the best maintenance and support of those same projects. Right? Maybe I'm too naive -- after all, I figured having Roller in Lotus Connections meant IBM would be contributing.


Filmbabble's 2007 films

picture of Varsity Theater in Chapel Hill

Dan says 2007 was an exceptional year for films and he's posted his top ten films of 2007 list, with links to his original reviews for each film. Based on the four I've seen (Simpsons, No Country, I'm Not There and Ratatouille), I'd have to say it's a good list. I'm looking forward to tonight when Dan and I are going to see Blade Runner, The Final Cut at the Carolina Theater.

Tags: family movies

Abdera AtomPub server refactoring

I've got to carve out some time ASAP to take a close look at this. The code is in Abdera SVN and there's <a href= "http://cwiki.apache.org/confluence/download/attachments/69763/abderaserverguide.pdf"> 20-minute implementation guide (PDF) too:

James Snell: Dan Diephouse and I have been spending the last week refactoring the Abdera server framework with the goal of making is less complicated, easier, and generally better.
Tags: abdera atompub

Yahoo Weather RSS module for ROME


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.

Tags: feeds java rome rss

ROME vs. Abdera

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:

  • Pro: complete RSS support, all of the dozen various flavors
  • Pro: it's generally simple and small, depending only one jar (JDOM)
  • Pro: easy to understand and use the AtomPub server framework
  • Pro: MetaWeblog API support
  • Con: Atom feed support not as comprehensive as Abdera
  • Con: parser uses lots of memory, slower, JDOM based
  • Con: community not as active, seems to be in maintenance mode (See also Ohloh stats)

The pros and cons of Abdera are:

  • Pro: comprehensive Atom feed support, lots more Atom extensions
  • Pro: faster more efficient parser
  • Pro: In the Apache Incubator with active and growing community (See also Ohloh stats)
  • Con: lots of dependencies
  • Con: AtomPub server framework poorly documented, overly complex (rewrite coming soon)
  • Con: no RSS support (there is something in Abdera contrib, but it's incomplete).

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?


Back in NC

I returned Saturday morning after a very productive trip to CA. The week was jam-packed full of meetings, meet-ups, dinners and other get-togethers with my co-workers and California friends.

<img src="http://farm3.static.flickr.com/2034/2208961447_1121c00caa_m.jpg" width="240" height="180" alt="View from SCA 12" /> <img src="http://farm3.static.flickr.com/2130/2208961279_9afdc3b43e_m.jpg" width="240" height="177" alt="SCA 12" />

Above are a couple of photos from/of the building where I work when I visit Sun's Santa Clara HQ. The campus is a beautiful place as far as corporate campuses go, and a former insane asylum with "historic and architectural significance" according to the National Park Service. I think it's slightly of odd that so far in my career I have worked at two software companies head-quartered in former mental health facilities.


Santa Clara through Friday

It took me about 24 hours and an unexpected stay in Houston, TX but I finally made it to California yesterday. Then, when I arrived I found that my hotel reservations were made for the wrong dates and MacWorld is in town eating up all hotel rooms. Not fun, but it's all behind me now. I'm settled in here at Sun's Santa Clara campus and looking forward to a productive week with the Social Software team -- lots of meetings, white-boarding ideas and getting moving with the next phase of our plans.

Looks like Matt Raible, Matthias Wessendorf, myself and probably others will be having a "tech meetup" at the Old Pro in Palo Alto at 6:30PM Wednesday evening. So, blog readers, Roller fans and other friends in the area, stop on by.


Abdera rocks on

There have been some interetsing Atom items recently on James Snell's blog. There was a link to a nice IBM DeveloperWorks article on using Abdera to write Atom feeds to JSON. (I was kinda hoping for an XSL/T, but not matter how you do it, it's a definitely feature that belongs in Abdera.) And there's a good quote from Adrian Sutton's blog post about the Atom features in IBM's Roller and Abdera based Lotus Connections product. And most recently, James linked to the new Google Feed Server project: an Abdera based AtomPub server from Google. All good stuff.

Gotta say, Abdera's looking better and better. It's got the features (IRI support, encrytion, pluggable auth, STAX parsing, etc.) and it's got Dan and appears to have some good momentum going. At this rate, I'm not sure how much more work I'll be putting into ROME Propono. If somebody were to, just for example, contribute an Abdera based AtomPub implementation to Roller, I might have to stop entirely.


The "all Dave" feed

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.

Tags: atom roller rss

Who's gonna buy a $400 Linux laptop?

Everex debuts $399 ultramobile PC: The Cloudbook is designed for Internet usage, not for heavy duty graphics applications. Like the gPC, it will come with software or links to FireFox, gMail, Meebo, Skype, Google Documents & Spreadsheets, Google Calendar, Google News, Google Maps, Wikipedia, Google Product Search, GIMP, Blogger, YouTube, Xine Movie Player, RhythmBox, Faqly, Facebook and OpenOffice.org 2.3.

The gOS operating system looks pretty cool. It's based on Ubuntu Linux plus the slick Enlightenment Window manager and the desktop and menus make Google "your entire computing experience. I can see how geeks like me and the kids we've brainwashed into digging the GIMP might like it, but aren't most folks going to be scratching their heads and asking how well it runs MS Word? I'd love to know how Everex's existing $200 gOS powered desktop is selling.

Tags: linux

California next week

I'm going to be traveling to California next week (Jan 13-18) to sync up with my co-workers at Sun HQ in Santa Clara. I'll be in town Sunday through Friday and though my days will be pretty busy, I'll probably have some free time in the evenings for a meet-up or two. Let me via email know if there are some good ones going on next week or if you like to meet-up and talk Roller/blog tech one night (dave.johnson at rollerweblogger.org).

Tags: travel

Roller Strong #12

I have just one item for Roller Strong today: the post below from James Snell of IBM, which lists some pretty impressive stats for IBM's internal blogging system. James doesn't mention it in the post, but I've been told that the site is powered by Apache Roller v3.1.

Growth: Quick note: IBM's internal blogging environment currently has 95k+ entries, 94k+ comments, 41k+ registered users, 11k+ Blogs (about 13% of which are considered active), 20k+ distinct tags, and 6k+ ratings on entries (entry rating has only been around since June of 2007). On average, there are just under 150 new entries posted to about 115 blogs per day. The number of comments per day fluctuate between 80-230 per day. A range of between 200-400 tags are used each day. Update: in the first three days of January, the server access logs show 109,439 unique visitors, 3,265,739 hits, and 61.37 GB of data transferred.

And that's internal boggers only. Just think what they could do with an external blog site. Roller works well outside the firewall too.

;-)

Latest Links: social networking platforms and more...

First, some social software links.

And second, some feel-good PHP, Rails and Linux links.


Holiday project: JMaki for Roller

JMaki seal Over the holidays I avoided doing anything directly related to my current set of work tasks. Sun went quiet, which helped, and I ignored the messages that piled-up in the Roller user and dev lists. It was so quiet that I had time for a fun little project: a JMaki plugin for Roller.

JMaki makes it easy to use JavaScript widgets (Dojo, Google, YUI, etc.) from PHP, JSP, JSF and now Roller. To use a widget, all you have to do is call a method or include a tag and JMaki takes care of including the right JavaScript files and generating the right HTML for you. That's not all JMaki does, there's also a pub/sub facility to make it easy to wire widgets together via events, there's a proxy for fetching remote resources common table and tree data models. The theme is cool widgets with ease-of-development and that's what I'd like to see in Roller. You can read more about the JMaki value proposition on the Why Use JMaki page.

Here's an example. Below is a Roller page template that uses two JavaScript widgest, the Dojo Clock and the YUI Data Table. All it takes is a single line of template code to include each widget, and one widget is dynamic i.e. the table is populated via an RSS feed.


    <html>
    <head><title>JMaki test page</title></head>
    <body>

        <h1>JMaki test: dojo.clock</h1>
        $jmaki.addWidget("dojo.clock")

        <h1>JMaki test: yahoo.dataTable</h1>
        $jmaki.addWidget("yahoo.dataTable", "/roller/xhp?id=rss","","")

    </body>
    </html>

And here's what that page looks like when displayed by Roller:

JMaki Plugin for Roller w/Dojo and YUI

I'll write more about the plugin once I install it on this site. If you want some details about how the plugin was developed, you can read the email that I sent to the JMaki dev list: JMaki for Roller issues and suggestions. It links to the Java source code for the plugin.


Happy New Year 2008

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 book

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!

Tags: atom feeds rss

Main | Next month (Feb 2008) »