Comparing features: Atom protocol vs. MetaWeblog API


For RSS and Atom in Action I developed a simple blog client API, which I've written about before. This week I'm wrapping up my chapter on the Atom protocol and doing some testing of both a) the MetaWeblog/Blogger API and b) the Atom Publishing Protocol implementations of my simple API. To guide my testing, I created a matrix on my white board that looks something like the table below.

Feature a) MetaWeblog
Blogger API
b) Atom Publishing
Protocol (Draft 6)
Multiple blogs per user
yes
yes
Save, update and delete entries
yes
 yes
Entries with multiple categories
yes
 yes
List available categories
yes
planned?
Save drafts
yes
 yes
List entries (with paging)
 yes but no paging*
 yes
Upload and update uploaded files
yes
yes
Delete uploaded files
no
yes
List uploaded files (with paging)
 no yes
Get and set templates
yes
planned?
Delete templates
no
planned?
List templates (with paging)
no
planned?

* The Blogger / MetaWeblog API getRecentPosts() methods allow you to list recent blog entries, but there's no way to page through or request a range of entries.

As you can see, Atom protocol is not finished. I hope that when it's finished it'll have the features listed above, but that remains to be seen. In the latest Atom protocol spec (Draft 6), there's no way to get a list of the categories available in a blog and there's no way to get and set templates. Personally, I don't think anybody would miss get/set templates, but List categories is pretty valuable. IMHO, if we could get List categories into Atom protocol (instead of bickering about collection representations and introspection), we'd be done.

Update: I just made a couple of tweaks to the list of features and I may do a couple more.

Tags: topic:[Atom], topic:[Atom Publishing Protocol], topic:[Web Services], topic:[MetaWeblog API]

DooDooBlogger.com





If VooDooBlogger.com is able to scam Blogger.com so well, bring home "1000's of laser targeted keyword specific backlinks" and works so amazingly well then...



...why does the product's own homepage have only a measly 2 links on Technorati (and 6 on Google)?

Don't waste your money on that trash folks. Spam blogs don't work. You'll be out fifty bucks and your crappy little internet marketing site will be banned by Google.

Tags: topic:[VooDooBlogger], topic:[Malware], topic:[Spamblog], topic:[Loserware]

Back to work


I'm back, but this week I'm not working for Sun. Instead, I'm focused on finishing the book. Over the weekend, the technical editor turned in the remaining chapters. He ran into a couple of problems with the example code, which I'll try to address this week. But before I review and turn those chapters over to the copy editor, I'm going to finish Chapter 8 Publishing with Atom.

XMAS for morons


Apparently, a bunch of morons bought themselves blog spam software for XMAS and spent the holidays setting up blogspot blogs and trying (unsuccessfully, thanks to Roller 2.1-dev) to spam my site via trackback. I took the time to visit each one of the splogs and to set the "objectionable content" flag -- not sure if that'll do much, but it felt good just the same.

Home for the holidays

See you next week...




Today's links [December 22, 2005]


Yet another Roller release


Allen's written a short post about the cache changes in Roller 2.1 (which is  almost ready for release) and the caching challenges ahead.

Blogapps server and examples snapshot release available


I just uploaded a snapshot release of the examples for my book RSS and Atom in Action. There are separate downloads for the Blogapps server and the example code available now on the Blogapps project web site.

If you want to get a sneak-peek at the soon to be released Roller 2.1, download the Blogapps server. It includes the latest Roller code, JSPWiki, Tomcat and HSQLDB -- all in one super-easy to install bundle. Instructions are on the Blogapps site. If you have a Java 1.4.2 JDK, then all you have to do is unzip the release and type startup.

Raleigh bloggers meetup tonight



Join us at Cafe Cyclo in Cameron Village tonight for the last Raleigh bloggers meetup of the year.

Josh has the details.

Roller news


Here's a couple of items of interest to Roller watchers.

Longtime Roller user and contributor Matt Schmidt, director of technology at Javalobby and the guy who keeps JRoller.com humming along, has ageed to join the Roller project. Matt's been helping out with Roller for a long time, some this is mostly a formality -- but working more closely with the project should help Matt keep JRoller.com up to date with Roller releases (and hopefully help us snag some of his enhancements).

Thanks to Patricio Martínez Ros, who has contributed a complete Spanish (es_ES) for Roller 2.1. Our translations have fallen behind a bit and we need all the help we can get. If you'd like to help out, let us know (on the roller-dev mailing list). There are some docs to get you started in Anil's Localization Guide and we can help you get the files you need (or a snapshot build).

Sun portal 7 to include JSPWiki, hey what about LGPL?



I had no idea. I've read a number of presentations and internals docs about our portal product, but somehow I completely missed the fact that Sun portal 7 (or for the lawyers in the audience Sun Java™ System Portal Server 7) will include my favorite wiki software JSPWiki.
Rich Shaples: this means you can deploy and manage the wiki infrastructure centrally yet allow communities to maintain their own sites - so you get the benefits of centralized management without the inflexibility. As well as support for Wiki Portlets (and Portlets within wikis), Portal Server 7 introduces the new concept of communities - to reflect the informal. non hierarchical nature of many workgroups (ie. virtual teams). There is also great support for AJAX in Portlets to enable you to develop apps. with a much richer user interface.
Cool beans. And that got me thinking. Sun's open source java projects (e.g. Glassfish and eventually Portal) will have an advantage of sorts over Apache's open source Java projects (e.g. Geronimo and Pluto) because Sun can include LGPL components. Apache policy forbids ASF products from having dependencies on components with licenses more restrictive than the ASL. Sun has no such policy. So for example, Sun can bundle JSPWiki, use Hibernate and have bundelicious relationships with other LGPL goodies. Very interesting...

Tags: topic:[wiki], topic:[JSPWiki], topic:[Sun], topic:[LGPL], topic:[Apache]

I'm back

And it's very nice to be home.

ApacheCon Wednesday


I'm definitely suffering from some ApacheCon-fatigue, a combination of information overload and lack of sleep. I just can't sleep past 6AM when I'm on the west coast, no matter how late I stay up. Oh well, today was the last day.

I only attended one talk this morning: Michael Radwin's HTTP Cache and Cache Busting for Content Publishers. I think I learned more Roller-relevant stuff from this talk than any other at the conference. After that, I spent the rest of the morning and lunch-time helping Craig Russell and Ian Kallen get their Roller development environments set up. As I mentioned yesterday, Craig wants to help create a JDO implementation of the Roller backend. Ian (who works for Technorati) wants to contribute to Roller in the areas of tagging and micro-formats.

In the afternoon I tuned in to the Ruby for Java Developers talk and Brian McAllister's Ruby on Rails talk. Brian's talk was my favorite of the two and I especially liked the way he illustrated the talk with screencasts (via Snapz Pro X). One of these days, I'll have some time to play with Ruby -- probably right around the time it's no longer cool with the shiny new object hipsters. After the Ruby talks, the conference ended with a key-note by Jaron Lanier. Jaron's talk was little too rambling for my taste, "mono-directional blabbing" he called it, but got a lot better when he started telling jokes and doing Al Sharpton and Steve Ballmer immitations.

That's all for my ApacheCon/US 2005 blogging. Thanks to the ApacheCon organizers and all Apache-folk for another great conference. I'm already trying to figure out how I can get myself to the next one.

ApacheCon Tuesday


On Tuesday I attended talks on new trends in web security, Lenya and JackRabbit, iBatis, Apache XML-binding approaches, Struts and Struts Shale. I didn't learn a whole lot new, but it was good to get an update on these projects, status and plans for the future -- especially in the case of Struts, which seems to be forking into two incompatible frameworks (Struts TI and Struts Shale). Here's Ted Husted introducing Craig McClanahan's talk on Struts Shale.



After the early evening lightning talks, there was a screening of Michael Wechner's excellent documentary film FUD (Wyona Pictures), which included interviews with Brian Behlendorf, Danese Cooper, Ken Coar, Sam Ruby and others. Sam wasn't able to come to the conference, so it was nice to see/hear him up on the big screen. Here's Sam:



ApacheCon: Roller persistence bake-off?


On Tuesday, I also talked to (JDO spec lead) Craig Russell, who's interested in helping to create a JDO backend (using JPOX) for Roller to replace Hibernate. Later, I talked to (Struts in Action author) Ted Husted, who's interested in doing the same thing with iBatis. And even later, at dinner, Ted Leung suggested the idea of a Roller persistence bake-off. We'd challenge the JDO, iBatis and even EJB3 proponents to create competing implementations of the Roller backend and then we'd choose the best one based on performance, generated SQL, developer ease-of-use and whatever other factors. The prize? An iPod? No, the prize would be the honor of being the official persistence framework of Roller ;-)

ApacheCon Tuesday: Tim Bray's keynote


Tim Bray's slides for ApacheCon/US 2005 contained just five works: Derby, Threads, Beyond Java, Thanks. While the Derby slide was on the screen, Tim announced that Sun will be using and supporting Derby under the name Open Java DB and Francois Orsini gave demo of Derby embedded in Firefox and scripted by JavaScript, cool enough to excite even jaded Ted. While the word Threads was on the screen, Tim talked about Niagara and how CMT processors are going to be part of every webapp developer's future. For Beyond Java, Tim recommended the book of the same name, but took issue with some of the points (see his post on Beyond Java) and tried to stir some controversy by saying that threading features in Python and Ruby are "toys." Surprisingly, nobody took issue with this in the Q&A that followed the talk. On the Thanks slide, Tim took some time to thank Apache for 10 years of wonderful software and finally ended with a simple plea: don't screw up.

Here's Tim delivering the Tuesday keynote (apologies for the fuzzy photos).



ApacheCon Monday (and my Roller talk)


Here's an update on my ApacheCon 2005 experience.This morning was day one of the conference proper. The opening keynote "Open source is not illegal -- yet" by Cory Doctorow was quite entertaining and at the same time quite scary. Cory explained how the governments of the world, including the US, are enacting draconian entertainment industry sponsored laws to mandate Digital Restrictions Management (DRM) in all essentially all hardware and software products. He also explained how the Electronic Frontier Foundation (EFF) is working to help governments understand that DRM doesn't work, is anti-competitive and completely incompatible with open source software. I walked out of the talk, walked downstairs to the EFF table and made a donation. If you care about your digital rights and open source software (and bloggers rights) I urge you to do the same. Support the EFF.

Here's Cory delivering his keynote:


Here's the Inside Apache panel, which followed Cory's talk, led by ASF chairman Greg Stein:


After the opening session, I went to Simon Phipps' talk on The Zen of Free: Deriving a General Model For Open Source, which was excellent as I expected, and Jim Driscol's talk on Open Source for Business and Profit. Jim's case studies on Ant, Tomcat and WatchDog were my favorite part of the talk.

After lunch it was time for my session. I felt inadequate after a morning of listening to the pros and in the end I wasn't all that happy with my performance. I think the content and my slides were good, but that was the only goodness. Due to my cold (and sudafed), my mouth was dry. I was worried about running over like I did at JavaOne, so I think I rushed a bit and I finished 20 minutes early! I'm not sure what the audience thought, so if you attended I'd love to hear your impression of the talk. Pleaese be honest, I can take it.

I've posted my slides here on my site. The talk is an overview of Roller including features/benefits, limitations and architecture. It's intended as a primer for new users and developers:

    Roller: An Open Source Blogging Platform (Open Office format | PDF format)

That's all for now.

Finishing the book

Quick status report on RSS and Atom in Action. We've decided we can't wait any longer for the Atom Publishing Protocol. I just promised to finish Atom chapter by January first. The plan is to cover the portions of Atom that are stable, the latest on collections and introspection and then provide updated examples once the APP is finalized. Good thing is, since most the blog client examples in part II use my BlogClient interfaces, they're agnostic about Atom vs. MetaWeblog API.

ApacheCon arrival

I arrived at ApacheCon yesterday (Saturday) on a beautiful San Diego day, clear skies mild weather. I took a couple of pictures and posted them on Flickr for kids back home. Of course, the sunshine didn't stop me from marching right down to the basement for the hackathon, where I met Henri Yandell for the first time and ran into most of the same characters I'd encountered at last years's hackaton. I didn't stay late last night because I picked up a cold. Instead, I decided to sleep (for 10 hours!). After coffee, advil, sudafed and a long walk down the cruise ship docks this morning, I'm back and feeling much better.

Despite the beer, pizza, comfy couches and dinners that keep on rolling into the room, the hackathon is not just a social event. People have work to do and seem to be able to go heads-down and focus on getting things done. For example, today I'm sitting at the Geronimo table with Bruce Synder, David Jencks and others, where they're working to finish the Geronimo 1.0 release before the actual conference begins. I've got a little work to do today as well. My goal for the day is prepare the first Blogapps release, get ready for my talk tomorrow and help out with the extra beer problem. More later...

Tags: topic:{technorati}[ApacheCon], topic:{technorati}[ApacheCon2005]

« Previous page | Main | Next page »