Re: Tools that make use of previous/next/first/last links?

2006-05-03 Thread Peter Robinson

Mark Nottingham [EMAIL PROTECTED] wrote:

 Can you expand upon being more precise about exactly what is needed?

I don't have time to go into very much detail right now, but basically
it's about what people are calling 'stable urls' in another part of this
thread.

The draft calls feeds where it's sensible to maintain a history
'incremental feeds', but defines an incremental feed as a 'subscription
document' plus a series of 'archive documents'.  An archive document is
defined as a feed (url) whose entry set doesn't change.

It was necessary for you to require 'archive documents' with fixed
element sets because your history reconstruction algorithm's state is
stored as feed urls.  If you rework  the algorithm so its state is
stored in terms of atom:ids or guids then you no longer require
archive documents to have fixed entry sets (and they probably shouldn't
be called archive documents in that case).

I need to write down a concrete algorithm that remembers atom:ids
instead of feed urls, but I believe that is perfectly possible (without
any particular extra burden on the client) if you have these two
requirements (which need more formal wording):

- new entries can only be inserted at the start of the 'logical feed'
- old entries can only be deleted at the end of the 'logical feed'
(you can weaken these to make no requirement of the order within a
single feed document's xml as long as the 'real' order is preserved on
the server)

The simplest way to satisfy those two requirements is to have a
conventional feed where the entries are ordered by publication date and
none are ever removed.

For a feed that satisfies those requirements whose pages are all
'sliding windows' it's not possible to miss any entries if you traverse
the next/prev links in the right direction.

Regards,

Peter



Re: Tools that make use of previous/next/first/last links?

2006-05-03 Thread Peter Robinson

Mark Nottingham [EMAIL PROTECTED] wrote:

 On 2006/05/01, at 12:55 AM, James M Snell wrote:

  As it stands now, a single feed
  cannot implement APP, OpenSearch AND Feed History.
 
 Please describe the scenario where you'd want that to happen -- show
 the feed.

I don't use APP, but this feed implements OpenSearch and would like to
allow clients to maintain a history:
http://www.ticketswitch.com/cgi-bin/atom_feed.exe

The OpenSearch description is here:
http://www.ticketswitch.com/cgi-bin/rss_open_search_desc.exe
(The name is a holdover from when OpenSearch was rss-only.)

Regards,

Peter



Re: Tools that make use of previous/next/first/last links?

2006-05-01 Thread Peter Robinson

Mark Nottingham [EMAIL PROTECTED] wrote:

 One thing I did notice -- you're using URLs like this for your archives:
http://journals.aol.com/panzerjohn/abstractioneer/atom.xml? 
 page=2amp;count=10
 
 Are they really permanent? If they're relative to the current state  
 of the feed (i.e., the above URI means give me the ten latest  
 entries), you can get into some inconsistent states; e.g., if  
 somebody adds/deletes an entry between when the client fetches the  
 different archives. Also, if a client doesn't visit for a long time,
 it will see
http://journals.aol.com/panzerjohn/abstractioneer/atom.xml? 
 page=2amp;count=10
 and assume it already has all of the entries in it, because it's  
 fetched that URI before.

This is the biggest issue I have with the history spec as written.  I
have urls like that, which aren't 'archive documents' as defined.  That
means I can't implement the history spec even though I have conventional
chronologically ordered feeds with link rel=prev/next elements where
old entries are available.

I believe that by being more precise about exactly what is needed by the
client to implement feed history usefully you can significantly relax
the requirements.  I believe the algorithm can be written so that
clients can use history with a feed like mine.

Regards,

Peter



Re: Tools that make use of previous/next/first/last links?

2006-05-01 Thread Peter Robinson

James M Snell [EMAIL PROTECTED] wrote:

 While I'm sure the other James may have his own particular set of
 issues, the one pain point for me with the history spec is the use of
 the previous link to point back in time.  This runs counter to the use
 of the previous link in both OpenSearch, APP and Gdata.

Yes it does.  (Though as was later clarified it's not that OpenSearch
specifies any chronological ordering as such, but it is true that anyone
who wants to implement OpenSearch in a conventional time-ordered feed
will have to have next pointing back in time.)

I thought it was agreed when we were discussing registering the link
relations for prev/next etc. that the registration would not specify
whether next meant backwards or forwards in time, but that specs making
use of them would be written to be 'sign independent'.

E.g. the history spec (or something else) would define an element
nextIsBackwardsInTime value=yes / or whatever, that publishers could
set and consumers would be required to check.

Regards,

Peter
-- 
Peter Robinson
http://www.ticketswitch.com/ Concerts, sport and theatre tickets



Re: New Link Relations -- Last Call

2005-10-24 Thread Peter Robinson

Hi Mark,

Mark Nottingham [EMAIL PROTECTED] wrote:

 On 23/10/2005, at 1:04 PM, Peter Robinson wrote:

  I prefer 'subscribe' because it better describes the meaning and
  intention behind the link, but I can live with 'current' if that is
  the consensus.
 
 Well, Tim seemed to have a pretty strong -1 on 'subscribe', whereas  
 you say you can live with 'current'.

I can.

The argument as I understand it is that relations should be nouns rather
than verbs (describing what the link points to rather than what you
should do with it).  I can't argue that point, but I do feel that
'current' less encapsulates the intent than 'subscribe'.  Someone else
suggested 'subscription'.  

This should be my last word on the subject:

Apparently it came as a surpise to some that rel='self' as defined is
not the same as 'the url you should subscribe to' in the general case.
I don't want to make the same mistake yet again.

First example:  consider a statically archived non-incremental
OpenSearch-style feed split into pages:
 http://www.example.com/feed/2001/page3
A reasonable interpretation (the only possible interpretation?) of
rel='current' would be this:
 http://www.example.com/feed/current/page3
which is certainly not the url you should subscribe to.

Second example:  a dynamic feed where cgi variables are used to set
options, perhaps for use in building an html page of links rather than
normal subscription, but you can come up with other uses:
 http://www.example.com/feed?year=2001no_atomcontent=yes

Rel='current' would point to
 http://www.example.com/feed?no_atomcontent=yes
but it would be much better for PubSub or a desktop aggregator to go to
 http://www.example.com/feed
if it ever got hold of such a feed.

The second example is (essentially) something I already do.  I don't
expect urls like that to 'escape' into the wild, but I can't prevent it
and I'd like to be able to give an aggregator something meaningful to do
when it does happen.

If we want to define a link relation meaning 'the url you should
subscribe to' then that is what we should define.

 So, at this point it looks like 'current', unless other people come
 forward. I flirted with recent briefly; anybody strongly like that one?

I don't think that is any better.

  I am also worried that this is being pushed through too quickly.
 
 I appreciate that, but it's a bit of a chicken-and-egg problem; we  
 won't get all of the implementation experience until it's defined and
 widely deployed.

That is true, but have you communicated with the OpenSearch people about
this?  I do strongly believe that *here* is the place for work like
this, rather than behind closed doors at Amazon.  But if I was them I'd
feel pretty miffed that this WG appears to have basically stolen their
idea in a desperate 'land grab', and turned it on its head so that it is
(arguably) the complete opposite of their intended definition.

[snips]

  OpenSearch uses 'next' to go from page=1 to page=2.  The natural
  paging setup for an inremental feed that is also an OpenSearch results
  feed is to have rel=current (aka rel=subscribe) point to the first page
  of results (i.e. page=1).
 
  Is it the intention that history reconstruction uses 'next' links to go
  back into the past?

[...]

 Right now, the plan forward seems to be that 'next' et al will be  
 purposefully generic; i.e., they won't mean much until used in  
 conjunction with another extension (in my case, fh:incremental).
 
 My plan for feed history is to recommend people walk both 'previous'
 and 'next' from the subscription feed, so that it doesn't matter  
 which way the feed goes.

I see!  That little nugget of an idea makes me feel a lot more
comfortable about prev/next.  So something that understands
rel=previous, next et al will be able to reconstruct a complete logical
feed, and the history extension will tell it 'which way is up' and
whether it's a traditional 'incremental' feed.  That makes a lot of
sense.

Regards,

Peter



Re: New Link Relations -- Ready to go?

2005-10-23 Thread Peter Robinson

Having not spoken up so far, I'd like add my 2c.  My atom feeds are all
dynamic OpenSearch-style search results.  By default they also happen to
be traditional 'incremental' blog-style feeds.  Instead of static
archives, I have dynamic page=N sliding windows.

I'd like to be able to include machine-interpretable 'prev'/'next' links
so that a user agent that wants to can reconstruct a complete (logical)
feed whether that means a 'history' or just the current snapshot of
results (and at a single instant in time it will get the same set of
entries in either case).

I'd also like to be able to include a machine-interpretable
rel=subscribe link since in general the url I have to put in rel=self is
not the optimal link for subscription.

Mark Nottingham [EMAIL PROTECTED] wrote:

   -  Attribute Value: previous
   -  Attribute Value: next
   -  Attribute Value: first
   -  Attribute Value: last

With regret I am -1 to those since I cannot use them consistently (with
those definitions) from 'page 1' of my feeds depending whether I have my
OpenSearch hat on or my incremental feed hat.

I need a 'pure paging' definition of those relations that can also be
used to reconstruct feed history as a side-effect in the special case
where my feeds happen to be 'incremental'.

   -  Attribute Value: subscribe
   -  Description: A URI that refers to a feed document containing a  
 set of the most recent entries in the feed. This URI is intended to  
 be subscribed to to keep abreast of recent changes in the feed. When
 different from the URI of the document where it occurs, it indicates
 that its value should be used for this purpose in place of the  
 current document's URI.

+1

I am happy with that wording, though it may have been improved later in
the thread.  Whatever may have been the original intention, the Atom
spec is very clear that rel=self is very different from any possible
rel=subscribe.

Regards,

Peter
-- 
Peter Robinson
http://www.ticketswitch.com/ Concerts, sport and theatre tickets



Re: New Link Relations -- Last Call

2005-10-23 Thread Peter Robinson

Mark Nottingham [EMAIL PROTECTED] wrote:

 I've replaced subscribe with current; otherwise, these are the  
 same as in the last round. I think they're ready to go -- any more  
 comments?

I prefer 'subscribe' because it better describes the meaning and
intention behind the link, but I can live with 'current' if that is the
consensus.  I am also worried that this is being pushed through too
quickly.

   -  Attribute Value: previous
   -  Description: A URI that refers to the immediately preceding  
 document in a series of documents.

   -  Attribute Value: next
   -  Attribute Value: first
   -  Attribute Value: last
   -  Description: [consequent descriptions]

OpenSearch uses 'next' to go from page=1 to page=2.  The natural paging
setup for an inremental feed that is also an OpenSearch results feed is
to have rel=current (aka rel=subscribe) point to the first page of
results (i.e. page=1).

Is it the intention that history reconstruction uses 'next' links to go
back into the past?

If so I think that must be made much more explicit in the descriptions,
since it is not the natural interpretation if you come at this purely
from the standpoint of blog history.

On the other hand, if that is *not* the intention then paging for
history and paging for OpenSearch will be incompatible.

Regards,

Peter
-- 
Peter Robinson
http://www.ticketswitch.com/ Concerts, sport and theatre tickets



Re: Feed History -04

2005-10-02 Thread Peter Robinson

James Holderness [EMAIL PROTECTED] wrote:

[About feed history and atom:link vs. fh:prev]

 I'm surprised nobody else has commented though. To me this seems like one of
 the most important extensions to Atom/RSS, and yet there aren't exactly
 hordes of people rushing to implement it or at least committing to do
 something once it's officially released. Or have I just missed previous
 discussions on the subject?

As a feed producer, I would love for feed consumers to be able to pull
back the history of my feeds if they choose.  But unfortunately seeing
the way this discussion is going, and the (for me) closely related
ordering extension, I'm not convinced I will be able to use them.

Of couse if you don't turn up, you don't get to complain about decisions
that get made, and unfortunately I don't have as much time as I'd like
to participate in these discusions.  But it's not that I don't care.

As far as the question at hand, I would be able to implent it in my
Atom/RSS2 feed generator easily enough either way.  Obviously it will be
a small amount of extra work if there is a format-dependent difference.
Playing devil's advocate for a minute, is it very wrong to use atom:link
for feed history in *RSS2*?

Regards,

Peter
-- 
Peter Robinson
http://www.ticketswitch.com/



Re: geolocation in atom:author?

2005-08-22 Thread Peter Robinson

Peter Robinson [EMAIL PROTECTED] wrote:

 I do something similar, intending it to mean the location of the items
 described by this feed (when there is a single location).

 http://www.ticketswitch.com/cgi-bin/atom_feed.exe?s_geo=53.82:-3.05:10

To the person looking for items near Park Avenue  38th, New York.  The
third bit of s_geo is a radius (in km) and it's required.  Try this:

http://www.ticketswitch.com/cgi-bin/atom_feed.exe?s_geo=40.75:-73.98:10

Regards,

Big Brother



Re: Extensions at the feed level (Was: Re: geolocation in atom:author?)

2005-08-22 Thread Peter Robinson

Bob Wyman [EMAIL PROTECTED] wrote:

 Paul Hoffman asked:
  Does an informative extension that appears at the feed level
  (as compared to in entries) indicate:
  a) this information pertains to each entry
  b) this information pertains to the feed itself
  c) this information pertains to each entry and to the feed itself
  d) completely unknown unless specified in the extension definition
 
 I believe the correct answer is e:
 
   e) Unless otherwise specified, this information pertains to the feed only.

I agree.  Once you've accepted that there's a difference between the
feed itself and the set of all past, present and future articles in
the feed (which there certainly is in the general case) then you really
have to accept e) as the only possibility for unknown metadata in the
feed head section.

Regards,

Peter
-- 
Peter Robinson http://www.ticketswitch.com/



Re: geolocation in atom:author?

2005-08-21 Thread Peter Robinson

Paul Hoffman [EMAIL PROTECTED] wrote:

 At 12:17 AM +1000 8/22/05, Eric Scheid wrote:

 In this example, can anything intelligent be said about the various
 different locations? Is my intent clear, or are there clear ambiguities?
 
 feed ...
...
geo:coordslocation#1/geo:coords
author
  namefoo/name
  geo:coordslocation#2/geo:coords
/author
entry
  author
namefoo/name
geo:coordslocation#3/geo:coords
  /author
  geo:coordslocation#4/geo:coords
  content.../content
  ...
/entry
 /feed
 
 #2 through #4 seem understandable, but what the heck is #1? The 
 place where this feed was put together? The place where this feed 
 was originally grabbed from?

I do something similar, intending it to mean the location of the items
described by this feed (when there is a single location).  I don't know
whether any software understands my intent...

http://www.ticketswitch.com/cgi-bin/atom_feed.exe?s_geo=53.82:-3.05:10

Regards,

Peter
-- 
Peter Robinson http://www.ticketswitch.com/



Re: OpenSearch and Atom Prototype

2005-08-20 Thread Peter Robinson

James M Snell [EMAIL PROTECTED] wrote:

 FYI... wanted to experiment a bit. 
 
 OpenSearch+Atom
 
 http://www.snellspace.com/wp/wp-opensearch.php?s=OpenSearch

When I updated my feed generator to support atom[1], I just added the
RSS2.0 extension elements I was already generating, including
OpenSearch.  I don't know if any feed consumers actually support it in
atom of course...  I did noticed just now that OpenSearch 1.1 proposes
an OpenSearch autodiscovery mechanism (amongst other things).

Regards,

Peter

[1] http://www.ticketswitch.com/cgi-bin/atom_feed.exe
-- 
Peter Robinson http://www.ticketswitch.com/



Re: round 2: Proposed Changes for format-11

2005-08-02 Thread Peter Robinson

Robert Sayre [EMAIL PROTECTED] wrote:

 The diffs linked below should reflect comments on the first round.

A few more minor nits I'm afraid.  (I don't think I've seen these
discussed before.)

 http://www.franklinmint.fm/2005/08/02/draft-ietf-atompub-format-11.txt

| Atom allows the use of IRIs [RFC3987].  Every URI [RFC3986] is also
| an IRI, so a URI may be used wherever below an IRI is named.

s/ below//

You've replaced 'is needed.' with 'is named.' in the last clause.  I'm
not sure that's an improvement, or what was wrong with 'is needed.' in
the first place.  But if you don't like that, what about 'is required.'
or 'is called for.'?

You've also replaced 'a URI can' with 'a URI may'.  Do you mean 'a URI
MAY'?  I suppose it depends on whether you see that sentence as a
statement of fact or as part of the spec.

Regards,

Peter



Re: Atom Index Extension Proposal

2005-07-30 Thread Peter Robinson

James M Snell [EMAIL PROTECTED] wrote:

 FYI: http://www.snellspace.com/wp/?p=193
 
 Abstract: Proposes two new elements that allow entries to be ordered 
 within a feed.

[xml condensed:]

 feed xmlns=http://www.w3.org/2005/Atom;
  xmlns:o=http://www.snellspace.com/atom/extensions/proposed;
   ...
   o:indexed /
   entry ... o:index1/o:index/entry
   entry ... o:index2/o:index/entry
   entry ... o:index3/o:index/entry
 /feed

Certainly a very interesting idea.  Having implemented openSearch [1] in
my product feeds [2], I'd probably implement this, because it makes
sense and would be very easy to do.  My feeds are actually ordered (and
paged) already, either by onsale date or by top seller, even though
there's no way to indicate this in the XML.

[Actually, it *should* already be in openSearch since that implicitly
expects the feed entries to be ordered corresponding to the feed-level
openSearch:totalResults and openSearch:startIndex elements.]

Just my 2c.

Regards,

Peter

[1] http://opensearch.a9.com/spec/opensearchrss/1.0/
[2] http://www.ticketswitch.com/cgi-bin/atom_feed.exe?page_no=2
(or http://www.ticketswitch.com/cgi-bin/rss_feed.exe?page_no=2)



Re: The Atomic age

2005-07-27 Thread Peter Robinson

Tim Bray [EMAIL PROTECTED] wrote:

 Paul assures me that the remaining IETF process steps will not  
 introduce material technical changes, and so format-10 is appropriate
 as a basis for implementors to go to work.

Excellent!

 So, implementors... to work.

Just to show willing:
http://www.ticketswitch.com/cgi-bin/atom_feed.exe

Peter