Subject: Re: nested feeds (was: Feed History -02)

From: Henry Story <[email-masked]>
Date: Tue, 9 Aug 2005 12:54:38 +0200

Sorry for taking so long to reply. I have been off on a 700km cycle trip
http://blogs.sun.com/roller/page/bblfish/20050807

I don't really want to spend to much time on the top-X discussion, as  
I am
a lot more interested in the feed history itself, but here are some  
thoughts
anyway...

On 29 Jul 2005, at 17:01, Eric Scheid wrote:
> On 29/7/05 11:39 PM, "Henry Story" <[email-masked]> wrote:
>> Below I think I have worked out how one can in fact have a top20   
>> feed, and I
>> show how this can be combined without trouble with the   
>> <history:next ...>
>> link...
>>
>> On 29 Jul 2005, at 13:12, Eric Scheid wrote:
>>> On 29/7/05 7:57 PM, "Henry Story" <[email-masked]> wrote:
>>>
>>>> 1- The top 20 list: here one wants to move to the previous top   
>>>> 20  list and
>>>> think of them as one thing. The link to the next feed is not  
>>>> meant  to be
>>>> additive. Each feed is to be seen as a whole. I have a little   
>>>> trouble still
>>>> thinking of  these as feeds, but ...
>>>
>>> What happens if the publisher realises they have a typo and need  
>>> to  emit an
>>> update to an entry? Would the set of 20 entries (with one entry   
>>> updated) be
>>> seen as a complete replacement set?
>>>
>> Well if it is a typo and this is considered to be an  
>> insignificant  change
>> then they can change the typo in the feed document and not need to  
>> change  any
>> updated time stamps.
>>
>
> Misspelling the name of the artist for the top 20 songs list is not
> insignificant. Even worse fubars are possible too -- such as  
> attributing the
> wrong artist/author to the #1 song/book (and even worse: leaving off a
> co-author).

Yes, I see this now. This is a problem for my suggestion. The  
atom:updated field
cannot be used to indicate the date at which an entry has a certain  
position in a
chart for the reason you mention. We could then no longer update that  
entry
for spelling mistakes or other more serious issues. One would have to  
add
a about date or something, and then the things gets a little more  
complicated
than I care to think about right now.

>>> The way I see it, maybe a better way would be to have a sliding   
>>> window feed
>>> where each entry points to another Atom Feed Document with it's  
>>> own  URI, and
>>> it is that second Feed Document which contains the individual  
>>> items  (the top
>>> 20 list).
>>>
>> This is certainly closer to my intuitions too.  A top 20 something  
>> is  *not* a
>> feed. Feed entries are not ordered, and are not meant to be  
>> thought of as a
>> closed collection. At least this is my initial intuition. BUT....
>>
>
> Not all Atom Feed Documents are feeds, some are static collections of
> entries. We keep tripping over this :-(
>
>> I can think of a solution like the following: Let us imagine a top  
>> 20  feed
>> where the resources being described by the entries are the  
>> position in the
>> top list. So we have entries with ids such as
>>
>> http://TopOfThePops.co.uk/top20/Number1
>> http://TopOfThePops.co.uk/top20/Number2
>> http://TopOfThePops.co.uk/top20/Number3 ...
>
>> will contain a new entry such as
>>
>>   <entry>
>>    <title>Top of the pops entry number 1</title>
>>    <link href="http://TopOfThePops.co.uk/top20/Number1/"/>
>>    <id>http://TopOfThePops.co.uk/top20/Number1</id>
>>    <updated>2005-07-05T18:30:00Z</updated>
>>    <summary>Top of the pops winner for the week starting 5 July
>> 2005</summary>
>>  </entry>
>>
>
> The problem here is that this doesn't describe the referent, it only
> describes the reference. I want to see top 20 feeds where each  
> entry links
> to the referent in question. For example, the Amazon Top 10 Selling  
> Books
> feed would link to the book specific page at Amazon, not to some  
> page saying
> "the #3 selling book is at the other end of this link".

Oh, I don't really want to defend this position too much but there would
be a way around this criticism by simply having the link point to the  
album
like this:

   <entry>
    <title>Top of the pops entry number 1</title>
    <link href="http://www.amazon.fr/exec/obidos/ASIN/B00004ULZV"/>
    <id>http://TopOfThePops.co.uk/top20/Number1</id>
    <updated>2005-07-05T18:30:00Z</updated>
    <summary>Top of the pops winner for the week starting 5 July
2005</summary>
</entry>

So here the id would be the same for each position from week to week,  
but
the link it points to would change.

We would still need to solve the issue of the date at which it had that
position, though...

And so yes, a feed where the entry is a feed seems easier to work  
with in this case.
The feed would be something like this I suppose:

<feed>
    <title>top 20 French songs</title>
    ...
     <entry>
        <title>week of August 1 2005</title>
        <id>...?...</id>
        <updated>2005-08-01T18:30:00Z</updated>
        <content src="http://TopOfThePops.fr/top20/2005_08_01/"  
type="application/atom+xml">
     </entry>
     <entry>
        <title>week of August 1 2005</title>
        <id>...?...</id>
        <!--There was an important update-->
        <content src="http://TopOfThePops.fr/top20/2005_08_01/"  
type="application/atom+xml">
        <updated>2005-08-02T18:30:00Z</updated>
     </entry>
     <entry>
        <title>week of August 8 2005</title>
        <id>...?...</id>
        <!--There was an important update-->
        <content src="http://TopOfThePops.fr/top20/2005_08_08/"  
type="application/atom+xml">
        <updated>2005-08-08T18:30:00Z</updated>
     </entry>
</feed>

But while you are at it then why not just create a special top-X  
ontology and express
your information in RDF?

<feed>
    <title>top 20 French songs</title>
    ...
     <entry>
        <title>week of August 1 2005</title>
        <id>...?...</id>
        <updated>2005-08-01T18:30:00Z</updated>
        <content src="http://TopOfThePops.fr/top20/2005_08_01/"  
type="application/rdf+xml">
     </entry>
     <entry>
        <title>week of August 1 2005</title>
        <id>...?...</id>
        <!--There was an important update-->
        <content src="http://TopOfThePops.fr/top20/2005_08_01/"  
type="application/rdf+xml">
        <updated>2005-08-02T18:30:00Z</updated>
     </entry>
     <entry>
        <title>week of August 8 2005</title>
        <id>...?...</id>
        <!--There was an important update-->
        <content src="http://TopOfThePops.fr/top20/2005_08_08/"  
type="application/rdf+xml">
        <updated>2005-08-08T18:30:00Z</updated>
     </entry>
</feed>

Or if you want to make your life more difficult invent a special  
purpose xml format for
your top-X. In either case you could really add all the bells and  
whistles
for the particular domain of discourse of interest, such as  
popularity, number of sales, etc, etc.

One can of course shoe-horn a top X into a feed document, but it  
feels a little cramped...

Henry