FreeThingo coming soon

Gary McGhee - Friday, November 07, 2008

I'm working on a small pet project, a site that gives a more useful view into the FreeCycle email list. FreeCycle's concept is simple - that people announce via the mailing list that they have something of value that they no longer need, and are offering it for free. Subscribers then reply asking to be the receiver, the offerer chooses a receiver, and they arrange the transaction.

The problem is it is too popular for a simple email list, and something offered a week ago but not taken is buried in following emails. There's also no way to watch for a type of item becoming available, or filtering based on location (though Freecycle lists are usually specific to a city).

Enter FreeThingo.org. It will receive and process messages sent to a Freecycle list, (currently Perth's) and provide various ways of filtering and presenting the stream of information.

I'm building this in my two favourite technologies, Adobe Flex and Ruby on Rails. A project like this is a prime opportunity to do a little R & D. For providing data to the grid control in Flex, XML is an easy option, and Rails' XML Builder is great for providing the required input. Typically this XML is either loaded from a static file or dynamically generated service. This data is then out of sight of search engines as well as requiring an extra request.

This time I'm trying an idea esposed here (Flash Augmenting Standards). I've rendered the data as XHTML, and then consumed it in Flex. Once I had figured out a few utility functions it all flows quite smoothly.

I needed two data structures:

  1. A table of data, with named columns and rows. This is a classic case for good old TABLE. While this poor tag is shunned these days for its unnatural use as a layout tool, tabular data like this is exactly what it was meant to do.

  2. A set of name/value pairs. This was implemented using the "Definition List" DL tag, and its counterparts DT and DD. This also works quite well.
    I currently have the definition list inside the table caption to keep it with the data, but I will probably move it outside the table.

Because its still essentially XML I'm still rendering it with the Rails Builder class, and using E4X on the Flex side to read it. The main difference is the extra levels of tags, and the less descriptive tags required in order to be standard HTML.

For browsers without Flash and search engines, it will simply look like a typical table of data. With a little effort it could look quite presentable, even dynamic with something like jQuery involved.

A win-win all around it seems.

Comments
Post has no comments.
Post a Comment




Captcha Image

Trackback Link
http://www.buzzware.com.au/BlogRetrieve.aspx?BlogID=1956&PostID=30285&A=Trackback
Trackbacks
Post has no trackbacks.