RSS, XML, Microformats III: Amazon Pricefeed

I put up a new small project now, pricefeed. Basically it creates an RSS 2.0 feed of an Amazon product price, so it can be used for tracking price changes – for example, you want to get a 60GB video iPod but it’s too expensive for you, you use pricefeed to create a feed for this price and then get alerted when it changes.

The RSS <description> field contains a microformatted text (sort of, I just hacked it out since there’s no standard microformat for product information yet) that can be read by the user or parseable by another app. The user sees:

Amazon price for Apple 60 GB iPod with Video Playback Black is now $379.95

Go to Amazon product page

And to a parser it would look like:

<span class="amazon">
<p>Amazon price for <span class="title">Apple 60 GB iPod with Video Playback Black</span> is now $<span class="price usd">379.95</span></p>
<p><a class="url" href="">Go to Amazon product page</a></p>

The idea is to delegate as much as possible to the feed reader. For example, there is no database – the price is checked and feed generated when the feed readers access it. Thus no need for cron jobs either. To guarantee new content appears only if the price has changed, the item GUID is based on the price – so the feed reader will only display a new item if the price has changed. A user can look at previous items of the feed and get price history.

Since this is sort of an RSS Tap where new content is quite infrequent, I figured it made sense to allow easy sign up to get notifications via email with RssFwd (my own RSS->Email is running out of quota, and wanted to stick to “no database” ;)). I like being able to sign up and then forget about it, just get an email when there’s new information.

Well, just a little app. Hopefully it demonstrates what I meant in the last few posts and might even be a useful service for some people. I put it up now – please let me know if you run into any issues. (PS: it’s a little rough usablity/looks-wise, it’s more of a proof of concept – so no rounded corners here, yet ;))

UPDATE: Pricefeed is now at RssFwd has been removed for now since the UI depended on XSLT, which Firefox now ignores – you can still use it with the feeds, but it’s not in the UI. Lastly, the iPod URL in the example wouldn’t return a price, since this product is no longer sold as new – the format described remains the same, for example:


The RSS Tap

It just occured to me that many things I been thinking about feeds can be summarized as “RSS Tap“, and so I’m rushing to coin this phrase (hey, it worked nicely for the guy who came up with “AJAX” ;))

“RSS Tap” (or, well, “RSS/Atom Tap”) is like RSS push, but more gentle. For example, you’re subscribing to some article’s comment feed: you want to read future comments, but you don’t really need each comment delivered immediatley to your aggregator as it’s published. Probably you don’t even want to make a new feed subscription in your aggregator just for these comments. You just want to be notified when there’s some new comments to read there – but not every hour, and without having to register anywhere, and without getting any future spam.

So RSS tap is like a kinder, gentler RSS push. But it is a tap – it does actively get to you, rather than you having to pull the info yourself (what we used to call, in less sophisticated times, “visit the web page again”).

As phrase coiner of “RSS Tap” – verified by a Google search! – I hereby declare Notifyr an RSS tap application: you don’t need to register. You don’t need to use a feed aggregator at all. You get messages only if there’s new content, and not more than once a day. You turn it off by one click on the link at the bottom of the email, and switch it on again at another place with one click of the bookmarklet (by now I achieved about 3:1 blog-to-code lines ratio on that little app)

(BTW, being non-native English speaker I might be missing something here: when I say tap I’m thinking of someone tapping your shoulder to get your attention in a crowded place. Maybe also an old water tap that releases a few drops every now and then. Is there a more fitting word I should use?)