Probably, it is too complicated

Dan Bricklin’s working on an RSS generator. That’s a good thing: Dan working on things is always good, and we need a simple, run about anywhere program to generate RSS for (mostly-) static sites, or for software releases, or anything else where you don’t want to build a whole weblog just to have an RSS feed.

ListGarden’s written in Perl, currently distributed for testing as a Windows-only self-contained executable: download it, start it, and you have a tray icon that will open the interface in the browser. Set up a feed with the basic channel-level info, tell it where to publish, as a local file or via FTP, and then adding an item is as easy as, well, adding a weblog post: you have a form with title, link, and description, and some options to set a date or have it generated and to set a guid, have it generated, or copy over the link. There are a few program options, to set how many items to display, and which fields to include on the new entry form, and a few things you can do at the list of entries (reorder, delete, or edit), but for the most part, it fits perfectly with Really Simple Syndication: it just does what it needs to do, simply.

So, why am I saying “probably, it is too complicated”? Because of the two bugs I found on my very first item. I’m not looking to insult Dan, who does more for the world of computing in an average week than I’ll do in my whole life, and, I only found them right off because I’ve been obsessing about syndication long enough to know where some bodies are buried. Still, I thought they were illustrative.

One of the tenents of Really Simple Syndication is that it should be dead easy for any competant programmer to just bang out some code that will either read or write RSS. It should be dead obvious to anyone who can be bothered to look at the spec how to do it. That’s why I’m absolutely delighted to see that ListGarden (0.9.18) incorrectly uses <guid> rather than <guid isPermaLink="false"> when it is generating a non-URI guid. Having lived with the shame of being the only person on earth not to memorize the simple fact that “a guid’s a permalink unless isPermalink isn’t” for a day shy of one year, I’m honored to be joined by someone like Dan Bricklin.

The other problem I spotted isn’t so much an RSS problem as it is a browser-as-XML-source problem: ListGarden uses HTML with no character encoding specified on the input form, which means it gets the HTML default, iso-8859-1, and says that the output is iso-8859-1. Unfortunately, it’s not known nearly widely enough that that just won’t work out well. You will have people paste in curly quotes and other characters that don’t appear in iso-8859-1, and when they do browsers will silently submit the form in Windows-1252 instead. Win-1252 has characters at code points that are undefined in iso-8859-1, so if you just pass them through, you’ve produced a fatal error in your XML (though, one so common that very few RSS readers will actually halt and catch fire when they see it, so if you don’t validate you might not even know). Two ways out: you can either just use utf-8 for both the HTML page encoding and your output encoding (a very safe choice, since browsers will do the right thing with a utf-8 page, and utf-8 is the native encoding for XML), or you can convert anything in the illegal-in-iso-8859-1 range to numeric character entities which will skate right through anything.

But if you need an easy Windows program (or, an easy Mac/Linux/server-side program, if you wait a bit) to create a feed for something other than a weblog, give ListGarden a spin. Just stay away from the curly quotes and non-link-guids, for now.

(And, yes, I do feel guilty about writing about our lack of Best Practices documentation when I’ve got an abandoned wiki section started for it. Maybe someone would like to buy a $50,000 t-shirt from me, so I could work on it full-time?)


Comment by Pete Goldstein #
2004-06-18 09:41:43

ListGarden is available for download in beta test form…

Comment by Phil Ringnalda #
2004-06-18 11:25:04

Yep, sure is. And?

Oh, you mean I didn’t throw in enough disclaimers? I know as well as anyone that Dan Bricklin’s an actual, genuine, historic figure, who can out program me while passed out drunk. Without a keyboard.

It’s a first beta release, with inevitable bugs. I sent him a bug report, which he seemed quite pleased to get, and because I felt that both bugs were instructive, and indicative of things we as a syndication community haven’t made clear enough, I wrote about them.

Comment by Dan Bricklin #
2004-07-02 07:30:25

Phil — Thanks again for the bug reports. Both issues have been addressed in the 1.0 version of ListGarden (now available). ListGarden now uses UTF-8 for XML output and the HTML forms. Hopefully this is done correctly — as you point out, getting XML and all this stuff working right is error prone for most, especially when integrated with browser HTML. Also, it now sets isPermaLink to False by default (you can set it to True if you want).This is one of the reasons I started with RSS 2.0 — fewer options to mess up — since I initially wrote the program aiming at RSS newbies who are probably users who won’t understand the nuances of XML and other specs that are complex, etc. As users get more demanding I’ll see where this goes.-DanB

Name (required)
E-mail (required - never shown publicly)
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <del datetime="" cite=""> <dd> <dl> <dt> <em> <i> <ins datetime="" cite=""> <kbd> <li> <ol> <p> <pre> <q cite=""> <samp> <strong> <sub> <sup> <ul> in your comment.