Check out the latest post on Simple List Extensions (SLE), gives a great illustration on how feeds can be used for lists.
Usually feeds are used to notify the latest items added to a website, and these items are stored in your RSS Reader…this is using feeds in a time ordered way.
Now you can also use feeds to mirror the current contents and order of items on a website
eg. a website with a Top 10 movie list
There are never new items (well there are, but), there are always just 10, what might change is the value of each item, ie. a movie might be replaced by a new movie to the list, or a movie might change ranking in the list.
The idea is that when ever you look at that feed in your RSS Reader, the items and their order will exactly reflect what is on the webpage.
In another example you might have your favourite movies of the month where there is no fixed number, but the order may change. So when ever a movie is deleted from the list, this feed item will disappear in your RSS Reader, or if they have changed order, these items will change order in your RSS Reader. So in a way they are Live feeds, or the feed items in your RSS Reader are not cached but synched to the live feed.
Using feeds as lists is so perfect for industries like Travel Agents, Real Estate Agents, any type of classifieds.
In essence your feed contents is always synched to be arranged like the live feed…this way your feed contents is never outdated.
This doesn’t matter as much with usual feeds, once you have read a post, it stays in your archive, you are done with that post…although if that post is updated it can become unread again (not sure if the new version of the post appears as the top item in the feed as well as still having the old version of the post in your feed items archives, or whether the old version moves to the top of the list as a new item again…or it stays in your feed archives but becomes unread again.
But lists aren’t posts, the list will always have 10 items (there are no new items, always 10) they are only changing their values.
Once I was asking if an OPML outliner tool could have a feed, this may be the type of feed I was after…not neccessarily new items, but changes to the outline.
RSS Readers will recoginse that a feed is a Feed List as the code in the feed will have the “treatas” markup…an RSS Reader will have to support SLE.
Ignore updates in Bloglines means that if someone goes back to a blog post and updates it, it won’t appear as a new unread item…what would be good is if it appeared unread but is not listed in the top of your pile, ie. it is still listed in the same position from when it first apppeared.
But then you wouldn’t know if you just haven’t got round to reading that individual post before
eg. In Attensa Online you can leave single items unread, even though it is way down in your feed items, it is still unread. What I’m getting at is if an item way down in your feed archive in unread, how do you know if you haven’t actually read it yet or if you have read it but the blogger updated that blog post, making it new again.
Here’s an older post on SLE.
Essentially a Feed List does 2 more things than a usual feed.
From the website:
“- If an item is new, it is added (or prepended) local set of items. It is marked as “new”
- If it already has a local copy of a downloaded item, it compares the downloaded and local versions of the items.
- If the downloaded item is a modified version of the existing one, it replaces it and marks it as new.
- If the downloaded item is the same as the existing one, then nothing happens
For a feed marked as a list, the client needs to add two additional behaviours after doing everything above:
(3) Compare the local items with those in the downloaded list.
- If an item was stored locally and it is no longer in the list downloaded from the server, it should be removed from the local copy.
- If items have changed order within the downloaded list, the client should reorder the local copy to match the downloaded list.
At the end of this process, the client has effectively created a local version that exactly matches the list downloaded from the server, and has marked the new or modified items as “new.”"
“The RSS Platform stores all of the items in a feed and on a scheduled basis, it checks the live feed (on the website) for updates. When it detects a list feed (via the presence of the treatAs element), it compares the existing items stored for the feed with the live feed items.
If an item in the local feed store is no longer in the live feed, the item in the feed store is removed.
If an item in the live feed is new, then it is added to the feed store and marked as ‘unread’ (i.e. it appears new to the user).
If an item in the live feed is already in the local feed store, but the content is different than the one stored locally, then the item in the feed store is updated.”
Example of what List Feeds are overcoming:
“Now consider a feed from a travel agency of the latest & lowest fares available for purchase. If you view a travel website, it displays the fares that are relevant for the moment by removing fares that have been sold out or expired and introducing new promotional fares. The website’s feed also reflects the relevant fares and remove the outdated ones. When a user is subscribed to the feed, new and updated items in the feed are added to the aggregator’s local store.
The problem is that the local store reflects a mixture of new, changed, and old items that may be outdated or unavailable. There is no easy way for the user to distinguish the available fares from the unavailable ones. Clicking on an outdated fare may lead to an error that specifies that the ‘Page does not exist.’ This can confuse the user and can lead to a unusable experience.”