On 22 May 2005, at 06:29, Tim Bray wrote:

News flash!  Bob and I agree!

I have been following this discussion and am finding I am also agreeing with
Tim, Bob and Aristotle P. The points are subtle.

This made me wonder if the points are not playing themselves out a different level. Perhaps the problem is that we are not clear about the difference between
semantics and what is being said.

At the level of semantics an entry as identified by its id has a number of dated representations. These representations can be grouped in different ways according to different identity criteria. One very precise such identity criteria would be string identity. Two representations are identical if they are character by character identical. Another identity criteria, lets call it update identity, says that two such representations are equivalent if they have the same atom:updated time stamp. This is a very vague identity criterion, which leaves it up to the interaction between users and consumers to set constraints on the criterion. The user has to face the fact that consumers may drop some of his changes (conceived of as changes under the criterion of string identity) if he does not change the date.

So let us think of this from the point of view of the three players in this game: the
original publisher, the final consumer, and the intermediary.

The original publisher
----------------------

When the publisher is the same person as the person defining the identity criteria, then it makes sense that he should not publish two entries in a feed that are identical according to his own criteria. This can not be conceived to be a restriction on him.

The final consumer
------------------

The final consumer may have different identity criteria to the publisher of the feed, but since he is not the one to publish the feed there is not much for him to do. He cannot force the original publisher to be more precise, because that would be to ask the person who is publishing to see a distinction where he sees none. And this does not even take into account that other consumers may disagree
with him anyhow.

The aggregator
--------------

The problematic case comes from those aggregating feeds. And I think here I can identify
two different problems:

a- The aggregator may say he has different identity criteria from the publisher. If he has then one can simply answer: your business is to be transparent, not to place yourself
in between your user and his public.

b- The aggregator wants to be completely transparent. But has a problem because he is not sure who to trust, and different people are making different claims about the same thing (the id). In everyday life there is a well known method for doing this honestly: we quote the source of who said what. If Smith says that the red car is his and John says that the car is his, I don't need to say that the car belongs to Smith and to John, I can just say "Smith says that 'the car is his' and John says that 'the car is his'". I just need to
quote what others have said.
If this is the problem faced by Bob then I don't think atom:modified is going to help. That would be being precise in the wrong place. What would have helped was perhaps the solution proposed by Roy Fielding a few months ago, namely that a feed should be able to contain a feed. Bob's pub sub service would then be just able to quote what others (feeds) have said. It would then have been correct to hold the position currently held that no feed should *directly* contain an entry with the same atom:updated value. It would allow that a feed could contain two feeds each with different entries containing the same id and the same atom:updated time stamp.
It would then be up to the consumer to decide which one it trusts.


Henry Story

Reply via email to