I get the feeling that we should perhaps first list the main types of history archives, and
then deal with each one separately. I can see 3:

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 ... 2- The history of changes link: the idea here is that a feed is a list of state changes to web resources. The link to the history just increases the length of the feed by pointing to the next feed page. These two pages could have been merged to create one feed page with the same end result. By moving back through the feed history one gets to see the complete history of changes to the resources described by the feed. 3- A listing of the current states of the resources: here the end user is searching for all the blog entries as they currently are. No feed id is ever duplicated across the chain.

I think each of these has its uses.
 1. this use case is clear and well understood.
2. is very useful for 'static' blog feeds written from a remote server, as once a feed has been archived it no longer needs to be rewritten. It is also very useful in helping a client synchronize with the changes to the feed. If a client is off line for a few months or if there are a lot of changes in a feed then the client just needs to follow this type of link to catch up with all the changes. If the entries are describing state changes to resources such as stock market valuations, then this would allow one to get all the
    valuations for a company going back in time.
3. It is easier for this to be generated dynamically upon request. It is not really a history of changes, but rather a list of resources. In a feed concerning a blog these two can of course easily be confused as we think of blogs as being created sequentially. We then think of the feed history as the history of the blog entry publication dates. If an old blog entry gets changed then the page on which that blog entry originally appeared in the feed would get changed just as the permalink to the blog post itself gets changed. This type of list is of course not very useful in keeping someone updated as to the changes in a feed, as the whole linked feeds would need to be stepped through to see if anything has
    changed.
I think it is with this version that the proposals of having a separate document that points to all the entries makes most sense. And this case also seems to be worked upon in the API
    I think.

more below...

On 23 Jul 2005, at 18:14, Mark Nottingham wrote:


On 19/07/2005, at 2:04 AM, Henry Story wrote:


Clearly the archive feed will work best if archive documents, once completed (containing a given number of entries) never change. Readers of the archive will have a simple way to know when to stop reading: there should never be a need to re-read an archive page - they just never change.

The archive provides a history of the feed's evolution. Earlier changes to the resources described by the feed will be found in older archive documents and newer changes in the later ones. One should expect some entries to be referenced in multiple archive feed documents. These
will be entries that have been changed over time.

Archives *should not* change. I think any librarian will agree with that.


I very much agree that this is the ideal that should be striven for.

However, there are some practical problems with doing it in this proposal.

First of all, I'm very keen to make it possible to implement history with currently-deployed feed-generating software; e.g., Moveable Type. MT isn't capable of generating a feed where changed entries are repeated at the top out of the box, AFAIK.

So is it that MT can only generate feed links such as describe in 3 above?

Even if it (and other software) were, it would be very annoying to people whose feed software doesn't understand this extension; their "show me the latest entries in the blog" feed would become "show me the latest changed entries in the blog", and every time an entry was modified or spell-checked, it would show up at the top.

Well in many cases this is exactly what I want. If someone makes a big change to a resource that was created one year ago (say your first blog post) then I think this is well worth knowing about. Especially if I have written a comment about it. Of course if the change is not *significant* then the change to the old feed archive would not be significant either. So perhaps I should have said
that archives should not change in any *significant* way.

So, it's a matter of enabling graceful deployment. Most of the reason I have the fh:stateful flag in there is to allow people to explicitly say "I don't want you to do history on this feed" because so many aggregators are already doing history in their own way.

And I agree. The way you dealt with that problem was by adding a special flag for that case.
We can create a special flag for the other cases too...

The underlying problem, I think, is that different feeds have different semantics. Some will want every change to be included, others won't; for example, a blog probably doesn't need every single spelling correction propagated. There are some fundamental questions about the nature of a feed that need to be answered (and, more importantly, agreed upon) before we get there; for example, we now say that the ordering isn't significant by default; while that's nice, most software is going to infer something from it, so we need an extension to say 'sort by this', *and* have that extension widely deployed.

yes. But we don't have to answer all questions. We can just decide on some problem we want
to solve, delimit it clearly and solve it. No?

I tried to approach these problems when I wrote the original proposal for this in Pace form; I got strong pushback on defining a single model for a feed's state. Given that, as well as the deployment issues, I intentionally de-coupled the state reconstruction (this proposal) from the state model (e.g., ordering, deletion, exact semantics of an archive feed, etc.), so that they could be separately defined.

It there a place where these problems are clearly layed out so that I can get a comprehensive
view of them?

Thanks,

    Henry Story


Cheers,

--
Mark Nottingham     http://www.mnot.net/


Reply via email to