Re: New Link Relations -- Ready to go?

2005-10-21 Thread Henry Story


+1 to all too.

On Fri, 21 Oct 2005, Eric Scheid wrote:


Date: Fri, 21 Oct 2005 10:47:57 +1000
From: Eric Scheid [EMAIL PROTECTED]
To: Atom Syntax atom-syntax@imc.org
Subject: Re: New Link Relations -- Ready to go?


+1 to all





Re: New Link Relations -- Ready to go?

2005-10-21 Thread James Holderness


Tim Bray wrote:


On Oct 20, 2005, at 4:52 PM, Mark Nottingham wrote:


 -  Attribute Value: subscribe


I'm puzzled by this one.  I thought that if you wanted to subscribe  to a 
feed then, well, you would subscribe to a feed.  I must have  missed the 
discussion.  Could someone provide a pointer to the  archive? -Tim




The idea being that if you were to come across an archived Atom document 
(however that might happen), the presence of this link would, (a) let you 
know that it was an archive document and thus shouldn't be subscribed to, 
and (b) provide you with a URL with which you could subscribe to the actual 
feed if you so chose.


For reference, see here (end of the message):
http://www.imc.org/atom-syntax/mail-archive/msg17202.html

Also this thread (discusses the fh:archive element which served a similar 
purpose):

http://www.imc.org/atom-syntax/mail-archive/msg16724.html

Regards
James



Re: New Link Relations -- Ready to go?

2005-10-21 Thread Tim Bray


On Oct 21, 2005, at 7:38 AM, James Holderness wrote:

The idea being that if you were to come across an archived Atom  
document (however that might happen), the presence of this link  
would, (a) let you know that it was an archive document and thus  
shouldn't be subscribed to, and (b) provide you with a URL with  
which you could subscribe to the actual feed if you so chose.


Makes sense, but not self-evident.  I would think that the usefulness  
of this thing would be improved by a few words of explanation for  
those who come upon it without knowing the history. -Tim




Re: New Link Relations -- Ready to go?

2005-10-21 Thread A. Pagaltzis

* Eric Scheid [EMAIL PROTECTED] [2005-10-21 17:05]:
 It was thought that the 'self' link in an archive would point
 to the archive document itself, which meant a different
 relationship was needed for the purpose of locating the URI
 which is the one that contains the most recent updates/entries.

I admit I intentionally kept out of that discussion because I
don’t have a lot of personal interest in the subject, and the
thread has been so fast and furious I didn’t bother staying on
top of it just because.

But I’d like to offer some thoughts on this particular point;
apologies in advance if these points have already been raised:

First, rel=self is going to be implemented by most everything
that groks Atom 1.0 in order to support one-click subscription,
if applicable, right? Whereas this new relationship might not
find such wide-spread support.

Second, although less important – even applications which do
support rel=subscribe will have to implement a fallback
behaviour. Arguably, they already do in some fashion, because a
feed may omit the rel=self link, so I don’t know if this is
such a pressing issue.

For these two (similar) reasons I think it might be wise to keep
rel=self in the role that this new rel=subscribe thing is
supposed to fulfill, and invent a new relationship that can point
to the canonical location of the archive feed document.

Third, and in some ways most importantly, I see overlap with Bob
Wyman’s “preferred feed” agenda from way back when:
http://www.imc.org/atom-syntax/mail-archive/msg15001.html
Does anyone remember that? Maybe it would be wise to opt for
something slightly more generic that can express semantics useful
for feed scenarios other than archives?

Regards,
-- 
Aristotle Pagaltzis // http://plasmasturm.org/



Re: New Link Relations -- Ready to go?

2005-10-21 Thread James M Snell


A. Pagaltzis wrote:


* Eric Scheid [EMAIL PROTECTED] [2005-10-21 17:05]:
 


It was thought that the 'self' link in an archive would point
to the archive document itself, which meant a different
relationship was needed for the purpose of locating the URI
which is the one that contains the most recent updates/entries.
   



I admit I intentionally kept out of that discussion because I
don’t have a lot of personal interest in the subject, and the
thread has been so fast and furious I didn’t bother staying on
top of it just because.

But I’d like to offer some thoughts on this particular point;
apologies in advance if these points have already been raised:

First, rel=self is going to be implemented by most everything
that groks Atom 1.0 in order to support one-click subscription,
if applicable, right? Whereas this new relationship might not
find such wide-spread support.

 

Most aggregators supporting self-based subscription are going to use it 
to allow the UA to subscribe to the *current* document.  In other words, 
if the user is looking at an Archive feed, the self-subscription 
mechanism will lead the user to subscribe to the archive document.  With 
subscribe, the UA is given a hint as to where the actual subscription 
document is located.



Second, although less important – even applications which do
support rel=subscribe will have to implement a fallback
behaviour. Arguably, they already do in some fashion, because a
feed may omit the rel=self link, so I don’t know if this is
such a pressing issue.

For these two (similar) reasons I think it might be wise to keep
rel=self in the role that this new rel=subscribe thing is
supposed to fulfill, and invent a new relationship that can point
to the canonical location of the archive feed document.

 

-1.  self always points to *this* document and is only usable for 
subscribing to *this* document.  You cannot use it to point to a 
separate document.


- James




Re: New Link Relations -- Ready to go?

2005-10-21 Thread James M Snell


Thomas Broyer wrote:


Mark Nottingham  wrote:
 


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



This definition doesn't prevent someone from using this link relation for
linking within a series of documents representing, say a webring, where
previous and next will be other sites' feeds.
I really think we should make it clear that first/previous/next/last are
meant for paging of a single feed only.
I'll try to propose a replacement text.

 

-1.  I see no reason to limit this to paging of a single feed. 


- James



Re: New Link Relations -- Ready to go?

2005-10-21 Thread Eric Scheid

On 22/10/05 1:33 AM, A. Pagaltzis [EMAIL PROTECTED] wrote:

 First, rel=self is going to be implemented by most everything
 that groks Atom 1.0 in order to support one-click subscription,
 if applicable, right? Whereas this new relationship might not
 find such wide-spread support.

I believe we're in a moment of grace right now and we could, with a bit of
public advocacy, get 'subscribe' established and supported for one-click
subscription.

 For these two (similar) reasons I think it might be wise to keep
 rel=self in the role that this new rel=subscribe thing is
 supposed to fulfill, and invent a new relationship that can point
 to the canonical location of the archive feed document.

This occurred to me too, but I had my reservations about it.

http://www.imc.org/atom-syntax/mail-archive/msg17284.html

where I wrote:

Fortunately, the link relation 'self' was defined in such a woolly
way we could get away with re-purposing it. A few articles here or
there, a bit of blog chatter, and the arrival of the fabled Developers
Guide and we'd be set.

I'd think this would be favourable to having to come up with a
different pair of relations, like

'self'   = what you subscribe to,
   may not look anything like the chunk in front of you

'this-chunk' = link to what you are looking at,
   not to be confused with 'self'

e.



Re: draft-snell-atompub-feed-license-03.txt

2005-10-21 Thread James M Snell


All,

Just wanted to clue y'all in on this conversation.  The Atom extension 
drafts listed below entered an Unofficial last call state about three 
weeks ago.  As of today I'm declaring these stable and will not be 
making any further changes on them unless a) significant bugs/problems 
are found or b) the Atom protocol works stretches out beyond the 
expiration date of the current drafts.  Once the Atom protocol work is 
complete, I will submit these as standards track RFC's as per Scott's 
preference stated in the notes below. 


http://www.ietf.org/internet-drafts/draft-snell-atompub-feed-license-03.txt
http://www.ietf.org/internet-drafts/draft-snell-atompub-feed-expires-05.txt 
(will publish soon on the IETF lists)
http://www.ietf.org/internet-drafts/draft-snell-atompub-feed-nofollow-03.txt 
(will publish soon on the IETF lists)


Thanks to everyone who submitted feedback on these.

- James


-Original Message-
From: James M Snell [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 21, 2005 12:21 PM

To: Scott Hollenbeck
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: draft-snell-atompub-feed-license-03.txt

This is fine.  There really is no risk on this particular 
extension with 
the protocol draft but your suggestion sounds like good general 
practice.  For now I'll settle for informally declaring that 
the specs 
are stable and waiting for the primary work on the protocol to 
complete.  Thanks! :-)


Scott Hollenbeck wrote:

   


Frankly I'd prefer to wait on documents like this until after atompub
completes both the format and protocol documents.  I realize 
 


that there
   

isn't a normative dependency on the protocol document, but 
 


I'd really prefer
   

to be sure that it stays that way.  You can try to convince 
 


me that there's
   


no risk if you wish.

The normal process, though, is for you to try to convince an 
 


AD to shepherd
   

your work.  You can also send it directly to the RFC Editor 
 


if you wish, but
   

they will then ask the IESG if there are any potential 
 


conflicts or overlaps
   


with existing IETF work.  In short, it'll take longer.

The AD then reviews the document, we deal with the review, 
 


and a 4-week last
   

call is requested.  The doc goes through IESG evaluation 
 


after the last
   


call, just like a working group document does.

-Scott-



 


-Original Message-
From: James M Snell [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 21, 2005 11:57 AM

To: Hollenbeck, Scott
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: draft-snell-atompub-feed-license-03.txt

Hello Scott,

Over the past couple of months I have been developing a number of 
extensions to Atom.  I believe that a couple of these are 
ready to move 
forward as standards-track RFC's as individual submissions.  
The first 
is draft-snell-atompub-feed-license-03.txt [1].  This spec 
defines a new 
license link relation than can be used to associate copyright 
licenses 
(e.g. creative commons) with Atom feeds and entries.  
   

Feedback on the 
   

spec has been received from members of the Atompub WG and 
   

from folks 
   

from Creative Commons and the larger XML developer community mostly 
 


through direct feedback to me.

If everything looks acceptable to you, what is the next step 
on moving 
this forward as a standards track rfc?


- James
[EMAIL PROTECTED]

[1] 
http://www.ietf.org/internet-drafts/draft-snell-atompub-feed-l

icense-03.txt


  

   




 

   




 





Unofficial Last Call - draft-snell-atompub-feed-index-03.txt

2005-10-21 Thread James M Snell


As of today I am issuing an unofficial last call on the Feed Rank extension

 http://www.ietf.org/internet-drafts/draft-snell-atompub-feed-index-03.txt

This extension introduces a numeric ranking mechanism for Atom entries 
that can be used to order entries according to relative significance.  
Please review the spec and provide comment back to the Atom syntax 
list.  In two weeks I will review the feedback, make any appropriate 
changes, then work towards declaring the spec stable.  Once the Atom 
Protocol work is complete, I will submit the stable version of the draft 
as a standards track RFC.


Thanks!

- James



Re: New Link Relations -- Ready to go?

2005-10-21 Thread Thomas Broyer


James M Snell a écrit :


Thomas Broyer wrote:


Mark Nottingham wrote:



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



This definition doesn't prevent someone from using this link relation 
for
linking within a series of documents representing, say a webring, 
where

previous and next will be other sites' feeds.
I really think we should make it clear that first/previous/next/last are
meant for paging of a single feed only.
I'll try to propose a replacement text.




-1. I see no reason to limit this to paging of a single feed.
How would you use these link relations for feed state reconstruction 
(that is, automatic handling by the Atom processor, without user action 
–except probably the please reconstruct this feed's state action) if 
you can't know what's pointed at?


How would you navigate through a paged search result (e.g. OpenSearch 
result feed) if previous/next might point at previous/next queries (e.g. 
history of what people searched for before you) or previous/next pages 
of the result feed?


How would you disambiguate between two next link on pointing at the 
next chunk of a paged feed and the other pointing at the next archived 
feed? (e.g. August Top 100, page 2 and September Top 100)


I thought we all agreed that we need a specific definition (related to 
paging) of these relations and were previously voting about how to call 
them (previous or prev-archive)


--
Thomas Broyer




Re: New Link Relations -- Ready to go?

2005-10-21 Thread James M Snell


Thomas Broyer wrote:

How would you use these link relations for feed state reconstruction 
(that is, automatic handling by the Atom processor, without user 
action –except probably the please reconstruct this feed's state 
action) if you can't know what's pointed at?


How would you navigate through a paged search result (e.g. OpenSearch 
result feed) if previous/next might point at previous/next queries 
(e.g. history of what people searched for before you) or previous/next 
pages of the result feed?


How would you disambiguate between two next link on pointing at the 
next chunk of a paged feed and the other pointing at the next archived 
feed? (e.g. August Top 100, page 2 and September Top 100)


I thought we all agreed that we need a specific definition (related to 
paging) of these relations and were previously voting about how to 
call them (previous or prev-archive)


I wouldn't disambiguate them as I don't believe it's necessary to.  
What's needed is a way of identifying the role|purpose|intent of a feed; 
not a way of disambiguating the links between them.  An archive feed 
should be treated differently than a search feed which should be 
treated differently than a subscription feed. 


- James



Unofficial Last Call - draft-snell-atompub-feed-thread-04.txt

2005-10-21 Thread James M Snell


All,

At some point over the next couple of days, a slightly modified version 
of the comments extension draft [1] will be published.  The moment it 
publishes will kick off a two week Unofficial Last Call period for the 
spec.  The spec has been stable of the past two months with no major 
issues raised.  Please review the draft.  After two weeks I will review 
any received feedback and, if appropriate, cut a new draft which will 
become the stable version.  After the Atom Protocol work completes, I 
will submit the stable version of the draft as a standards track RFC.


- James


[1] draft-snell-atompub-feed-thread-03.txt (current version)
[2] draft-snell-atompub-feed-thread-04.txt (new version waiting to 
publish... no significant changes)




Re: New Link Relations -- Ready to go?

2005-10-21 Thread Thomas Broyer


James M Snell wrote :


Thomas Broyer wrote:

How would you use these link relations for feed state reconstruction 
(that is, automatic handling by the Atom processor, without user 
action –except probably the please reconstruct this feed's state 
action) if you can't know what's pointed at?


How would you navigate through a paged search result (e.g. OpenSearch 
result feed) if previous/next might point at previous/next queries 
(e.g. history of what people searched for before you) or 
previous/next pages of the result feed?


How would you disambiguate between two next link on pointing at the 
next chunk of a paged feed and the other pointing at the next 
archived feed? (e.g. August Top 100, page 2 and September Top 100)


I thought we all agreed that we need a specific definition (related 
to paging) of these relations and were previously voting about how to 
call them (previous or prev-archive)


I wouldn't disambiguate them as I don't believe it's necessary to.  
What's needed is a way of identifying the role|purpose|intent of a 
feed; not a way of disambiguating the links between them.  An 
archive feed should be treated differently than a search feed 
which should be treated differently than a subscription feed.



So you are OK with these feeds:

GET /top50.atom HTTP/1.0
Host: music.example.net

200 OK
Content-Type: application/atom+xml
Content-Location: /top50/2005/w42/1.atom

feed xmlns=http://www.w3.org/2005/Atom;
titleWeek #42 Top 50/title
subtitleTop 50 best selling singles/subtitle
link rel=self href=http://music.example.net/top50/2005/w42/1.atom; /
link rel=subscribe href=http://music.example.net/top50.atom; /
link rel=previous title=Week #41 Top 50
   href=http://music.example.net/top50/2005/w41/1.atom; /
link rel=next title=Week #42 Top 50 (11th to 21st)
   href=http://music.example.net/top50/2005/w42/2.atom; /
fh:incremental xmlns:fh=…false/fh:incremental
…

GET /top50/2005/w42/2.atom HTTP/1.0
Host: music.example.net

200 OK
Content-Type: application/atom+xml

feed xmlns=http://www.w3.org/2005/Atom;
titleWeek #42 Top 50 (11th to 20st)/title
subtitleTop 50 best selling singles/subtitle
link rel=self href=http://music.example.net/top50/2005/w42/2.atom; /
link rel=subscribe href=http://music.example.net/top50.atom; /
link rel=previous title=Week #41 Top 50
   href=http://music.example.net/top50/2005/w41/1.atom; /
link rel=previous title=Week #42 Top 50 (1st to 10th)
   href=http://music.example.net/top50/2005/w42/1.atom; /
link rel=next title=Week #42 Top 50 (21st to 31st)
   href=http://music.example.net/top50/2005/w42/3.atom; /
fh:incremental xmlns:fh=…false/fh:incremental
…

GET /top50/2005/w41/1.atom HTTP/1.0
Host: music.example.net

200 OK
Content-Type: application/atom+xml

feed xmlns=http://www.w3.org/2005/Atom;
titleWeek #41 Top 50/title
subtitleTop 50 best selling singles/subtitle
link rel=self href=http://music.example.net/top50/2005/w41/1.atom; /
link rel=subscribe href=http://music.example.net/top50.atom; /
link rel=previous title=Week #40 Top 50
   href=http://music.example.net/top50/2005/w40/1.atom; /
link rel=next title=Week #42 Top 50
   href=http://music.example.net/top50/2005/w42/1.atom; /
link rel=next title=Week #41 Top 50 (11th to 21st)
   href=http://music.example.net/top50/2005/w41/2.atom; /
fh:incremental xmlns:fh=…false/fh:incremental
…

How do you expect a newsreader to *automatically* download this week's 
50 entries without downloading last week's entries instead?
(and show you links/buttons for you to ask download and display of 
previous/next week's Top 50)


--
Thomas Broyer




Re: New Link Relations -- Ready to go?

2005-10-21 Thread James M Snell


Thomas Broyer wrote:


James M Snell wrote :



Thomas Broyer wrote:


So you are OK with these feeds:


Yes, they all look good to me.



You didn't answer my last question:

How do you expect a newsreader to *automatically* download this 
week's 50 entries without downloading last week's entries instead?
(and show you links/buttons for you to ask download and display of 
previous/next week's Top 50) 






Ah, didn't see the last question ;-)

My choice would be for it to not automatically download 'em.  Just 
present the user with the available links and let 'em follow the ones 
they want.


- James



Application for addition to Atom Registry of Link Relations

2005-10-21 Thread James M Snell


The following is an application for a link relation value, as specified 
in the Atom Syndication Format. 
https://datatracker.ietf.org/public/idindex.cgi?command=id_detailfilename=draft-ietf-atompub-format 
https://datatracker.ietf.org/public/idindex.cgi?command=id_detailfilename=draft-ietf-atompub-format


Thank you

- James Snell

== Registry ==

http://www.iana.org/assignments/link-relations

== Attribute Value ==

license

== Description ==

http://www.ietf.org/internet-drafts/draft-snell-atompub-feed-license-03.txt

== Display Characteristics ==

http://www.ietf.org/internet-drafts/draft-snell-atompub-feed-license-03.txt

== Security Considerations ==

http://www.ietf.org/internet-drafts/draft-snell-atompub-feed-license-03.txt



Sponsored Links and other link extensions

2005-10-21 Thread James M Snell


Ok, now that a number of the other extensions I've been working on are 
moving along, it's time to turn my attention to a couple of other ideas 
I've been stewing on.  One of which is link[rel=sponsored] to indicate 
sponsored links / advertisements within feeds.


 link rel=sponsored 
href=http://someone.is.paying.for.me.to.put.this.here; /


The reason for not using rel=related here is to provide consumers a 
clear distinction between links that are truly related to the entry vs. 
links included as advertisements.


A feed, entry or source may contain any number of rel=sponsored links.


Further, many links can be augmented with graphics and extended 
descriptions, for this purpose, I am considering a couple of new 
extension elements that would be children of atom:link


 link rel=sponsored href=...
   x:image type=.../x:image
   x:documentation type=text|html|xhtmlSome basic documentation 
about the link/x:documentation

 /link

The x:image element would specify the URI of an image file (aspect ratio 
of 2:1) associated with the link.  The type attribute specifies the 
media type of the image.
The x:documentation element is an Atom text construct similar to 
atom:summary.  I would have just reused atom:summary but given that the 
core spec does not expressly allow for atom:summary within atom:link, I 
felt doing so would be problematic.  The purpose of x:documentation is 
to allow an extended, human-readable description of the link to be provided.



In another direction, I've thinking about how to allow links to express 
specific information about the resource being linked so that either a) 
modifications of the resource can be detected or b) specific versions of 
the resource can be referenced.


  link rel=enclosure href=...
 x:md5={hash}
 x:etag={entity tag}
 x:last-modified={http date} /

The values of each attribute corresponds to an equivalent HTTP header.

Lastly, a while back Eric Scheid and I discussed a bit about how 
alternate locations for a link could be expressed (e.g. mirrors).  He 
was going to write up a draft, but I'm not sure about the status of that 
effort. Here's what I'm thinking:


 link rel=enclosure href... ...
   x:alternate href=... title=... /
   x:alternate href=... title=... /
 /link

Each x:alternate identifies an alternative URL for the link resource.  
The media type, length, hreflang, etc are all expected to be the same 
for each alternate.  The x:md5.x:etag, and x:last-modified attributes 
from above could be used.


Thoughts? Gripes? Praise?

- James



Re: Application for addition to Atom Registry of Link Relations

2005-10-21 Thread James M Snell


Antone Roundy wrote:



The following two bits seem incompatible with each other:


   o  atom:entry, atom:feed and atom:source elements MUST NOT contain
  more than one 'license' link relation with the same  
combination of

  type and hreflang attribute values.



Note the caveat, with the same combination of type and hreflang 
attribute values.  The idea is to prevent a single license from being 
appearing more than once.



   Multiple license link relations MAY be used to indicate that the
   informational content has been published under multiple copright
   licenses.  In such instances, each of the linked licenses is
   considered to be mutually exclusive of the others.








Profile links

2005-10-21 Thread James M Snell


Another subject that has come up in recent discussions is an extension 
that can be used to specify the purpose of a feed.  For example, is the 
feed an archive, is it a podcast, is it used for discovering web 
services or publishing blog content, etc.


The approach that I have in mind is to use link[rel=profile] where the 
href points to a profile document of some sort.


For example,

 feed
   ...
   entry
 link rel=profile href=http://example.com/profiles/podcast; /
 link rel=profile href=http://example.com/profiles/weblog; /
 ...
   /entry
 /feed

The profile documents could be anything really, but generally describe 
the kinds of metadata and content that the entry is expected to 
contain.  For instance, the podcast profile could indicate that the 
entry should contain at least one link[rel=enclosure]. 

Any single entry may contain multiple profile links.  It is up to the 
feed consumer to make sense of it all.  If an entry specifies 
contradictory profiles, it's up to the consumer to sort it out. 


The profile documents should be dereferenceable.

Thoughts? Gripes? Praise?

- James



Re: What is this entry about?

2005-10-21 Thread Bill de hÓra

James M Snell wrote:
 
 Ok, so thus far: we can indicate resources that are related to the given
 entry; we can indicate that an entry is a reply to another entry; we can
 specify categories to which the entry belongs; but there is currently no
 way of indicating the *subject* of the entry.
 The best options appear to be:
 
 a. Use dc:subject (appears to be a perfectly acceptable solution to me
 assuming that the subject indication is intended for human consumption
 
   entry
 dc:subjectThe Atom Specification/dc:subject
   /entry
 
 or...
 
 b. Use link[rel=subject] (which works if the subject is
 identified/described by a dereferenceable URI)
 
   entry
 link rel=subject
 href=http://www.ietf.org/internet-drafts/draft-ietf-atompub-format-11.txt;
 /
   /entry
 
 I think either approach works. The dc:subject approach is ambiguous. 
 The link approach requires invention.

The link approach doesn't seem to be less ambiguous than dc:subject. For
lessened ambiguity you might want to use published subject indicators a
la topic maps.

cheers
Bill



Re: New Link Relations -- Ready to go?

2005-10-21 Thread Thomas Broyer


James Holderness wrote:


Thomas Broyer wrote:

You didn't answer my last question:
How do you expect a newsreader to *automatically* download this 
week's 50 entries without downloading last week's entries instead?
(and show you links/buttons for you to ask download and display of 
previous/next week's Top 50)


I see where you're coming from, but this kind of thing is already a 
problem without even taking links into consideration.


For an aggregator to be able to do anything vaguely meaningful with a 
feed it has to be able to assume that the feed is incremental in nature.
As I already explained, paging is orthogonal to the incremental nature 
of a feed. An incremental feed will be chunked as explained in Mark's 
current Feed History draft (just use an atom:[EMAIL PROTECTED]previous] 
instead of the fh:prev extension element) and a non-incremental feed as 
described in the OpenSearch result 1.1 draft. The difference is that an 
incremental feed is sorted by date so the older parts will become more 
or less stable over time; while a non-incremental feed is replaced as 
a whole each time it is updated, with no other relation to time.
When the feed is updated an aggregator will by default assume that any 
new items can safely be added to the top of an inbox, any updates are 
updates to existing items, and any removed items have merely fallen 
off the bottom of the feed.


However, as soon as we introduce the concept of non-incremental feeds, 
an aggregator that is not aware of the concept will fail to process 
such a feed in a meaningful way. We've created a situation where an 
aggregator has to be aware of the (still to be specified) 
fh:incremental extension, Microsoft's simple list extensions for RSS, 
and whatever future extensions may arise; basically the ability to see 
into the future.


This problem merely repeats itself when it comes to processing 
archives. When we receive a next link, ideally we would like to 
assume it's a pointer to the next archive to be processed. For a 
regular incremental feed this isn't a problem. Even a search feed 
could be processed safely if ordered the right way. However, when it 
comes to non-incremental feeds we're screwed again. I agree that it 
sucks, but we're already stuck with that situation so I'm not sure 
that these links will make things any worse.
What's the difference between a search feed and a non-incremental feed? 
Aren't search feeds one facet of non-incremental feeds?


The difference between incremental and non-incremental feeds is that, 
when dealing with incremental feeds, paging can be seen as a link to 
archives, as the feed is tightly related to time. When dealing with 
non-incremental feed, the previous page is totally different than the 
previous archived snapshot.
However, an incremental feed could take advantage of differentiating 
between paging and archive linking: if linking to archives uses an 
atom:[EMAIL PROTECTED]archives] (or call it history if you prefer) to point 
at an incremental feed where each entry describes an archived set of 
entries (see [1] for a more detailed example); such a feed has the 
advantage of paging that it allows direct access to a specific point of 
time inside the feed pages. Each archived set of entries could for 
example cover one or two week, so a user could navigate through the 
feed state or feed history not only by going from pages to pages but 
also by accessing archived chunks via an index or table of contents.


--
Thomas Broyer




Re: New Link Relations -- Ready to go?

2005-10-21 Thread Thomas Broyer


Thomas Broyer wrote:
However, an incremental feed could take advantage of differentiating 
between paging and archive linking: if linking to archives uses an 
atom:[EMAIL PROTECTED]archives] (or call it history if you prefer) to 
point at an incremental feed where each entry describes an archived 
set of entries (see [1] for a more detailed example); such a feed has 
the advantage of paging that it allows direct access to a specific 
point of time inside the feed pages. Each archived set of entries 
could for example cover one or two week, so a user could navigate 
through the feed state or feed history not only by going from 
pages to pages but also by accessing archived chunks via an index or 
table of contents.




Sorry, forgot the link:

[1] http://www.imc.org/atom-syntax/mail-archive/msg17308.html

--
Thomas Broyer




Re: What is this entry about?

2005-10-21 Thread James M Snell


Bill de hÓra wrote:


The link approach doesn't seem to be less ambiguous than dc:subject. For
lessened ambiguity you might want to use published subject indicators a
la topic maps.

 

It is less ambiguous in that a URI is less ambiguous that some 
arbitrary text string.  Further, the link approach is perfectly 
compatible with the published subject indicators a la topic maps 
approach. 


- James




Re: What is this entry about?

2005-10-21 Thread Bill de hÓra

James M Snell wrote:
 Bill de hÓra wrote:
 
 The link approach doesn't seem to be less ambiguous than dc:subject. For
 lessened ambiguity you might want to use published subject indicators a
 la topic maps.

  

 It is less ambiguous in that a URI is less ambiguous that some
 arbitrary text string.  Further, the link approach is perfectly
 compatible with the published subject indicators a la topic maps
 approach.

There's no requirement to use an arbitrary text string in dc:subject*.
And even then, I have no idea how a URL (you did say these things had to
be dereferenced) is less ambiguous than a string - they're equally
arbitrary unless we're talking about their use in something like OWL.

The link approach still doesn't seem to be less ambiguous than
dc:subject, ie it does not seem to be a basis for choosing one over the
other.

cheers
Bill

* The dc:subject value is recommended to be taken from some controlled
set. The @rel=subject idea doesn't say anything about the link being a
PSI. The link approach is perfectly compatable then with PSIs
insofar as you would have some other interpretation that lookups the
URIs and sees if they're actually PSIs, or not.



Re: New Link Relations -- Ready to go?

2005-10-21 Thread Mark Nottingham


That's what I was trying to do here:

 -  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.


Any suggestions?


On 21/10/2005, at 8:19 AM, Tim Bray wrote:


On Oct 21, 2005, at 7:38 AM, James Holderness wrote:


The idea being that if you were to come across an archived Atom  
document (however that might happen), the presence of this link  
would, (a) let you know that it was an archive document and thus  
shouldn't be subscribed to, and (b) provide you with a URL with  
which you could subscribe to the actual feed if you so chose.




Makes sense, but not self-evident.  I would think that the  
usefulness of this thing would be improved by a few words of  
explanation for those who come upon it without knowing the history.  
-Tim



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



Re: Profile links

2005-10-21 Thread Bill de hÓra

James M Snell wrote:
 
 Another subject that has come up in recent discussions is an extension
 that can be used to specify the purpose of a feed.  For example, is the
 feed an archive, is it a podcast, is it used for discovering web
 services or publishing blog content, etc.
 
 The approach that I have in mind is to use link[rel=profile] where the
 href points to a profile document of some sort.
 
 For example,
 
  feed
...
entry
  link rel=profile href=http://example.com/profiles/podcast; /
  link rel=profile href=http://example.com/profiles/weblog; /
  ...
/entry
  /feed
 
 The profile documents could be anything really, but generally describe
 the kinds of metadata and content that the entry is expected to
 contain.  For instance, the podcast profile could indicate that the
 entry should contain at least one link[rel=enclosure].
 Any single entry may contain multiple profile links.  It is up to the
 feed consumer to make sense of it all.  If an entry specifies
 contradictory profiles, it's up to the consumer to sort it out.
 The profile documents should be dereferenceable.
 
 Thoughts? Gripes? Praise?


I think you're proposing to enable a kind of Atom microformat - if you
see profile ?x check for ?a ?b and ?c. Sorting it out on consumer
sounds flaky ('sounds', not 'is'), but this also might be very cool. I
wonder why you need a link to do this instead of foo:profile tag.

cheers
Bill




Re: Application for addition to Atom Registry of Link Relations

2005-10-21 Thread Eric Scheid

On 22/10/05 4:48 AM, James M Snell [EMAIL PROTECTED] wrote:

 Note the caveat, with the same combination of type and hreflang
 attribute values.  The idea is to prevent a single license from being
 appearing more than once.
 
Multiple license link relations MAY be used to indicate that the
informational content has been published under multiple copright
licenses.  In such instances, each of the linked licenses is
considered to be mutually exclusive of the others.

but the second bit of text suggests that the following is allowable:

link rel=license href=pay-me-for-commercial-use /
link rel=license href=barter-for-commercial-use /
link rel=license href=free-for-non-commercial-use /

which is a situation which should be allowable (IMHO), and so the
restriction should be removed:

o  atom:entry, atom:feed and atom:source elements MUST NOT contain
   more than one 'license' link relation with the same
   combination of type and hreflang attribute values.

e.



Re: New Link Relations -- Ready to go?

2005-10-21 Thread Tim Bray


On Oct 21, 2005, at 3:13 PM, Mark Nottingham wrote:

 -  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.


Any suggestions?


Yes.  Acknowledge the specific case of an archival feed, an example  
is worth a thousand words.


And discuss why this exist when Atom already has link rel=self,  
specifically designed to support auto-subscribe. -Tim




Re: Profile links

2005-10-21 Thread James M Snell


Bill de hÓra wrote:


I think you're proposing to enable a kind of Atom microformat - if you
see profile ?x check for ?a ?b and ?c. Sorting it out on consumer
sounds flaky ('sounds', not 'is'), but this also might be very cool. I
wonder why you need a link to do this instead of foo:profile tag.

 

Precisely.  Yes, sorting everything out on the client does *sound* 
flaky, but we're not introducing any new problem here.  XHTML 
microformats have the same problem. 

Regarding the use of a link versus foo:profile, I really have no 
preference one way or the other.  The profile reference should be a 
dereferencable link to a profile document that describes the profile 
but, for the most part, clients will likely only rarely ever dereference 
it (using the href more as an identifier).  Strictly speaking, 
dereferenceable profile links should probably use the atom:link element 
but there is no hard requirement that says a profile element wouldn't 
also work.


- James



Re: What is this entry about?

2005-10-21 Thread A. Pagaltzis

* James M Snell [EMAIL PROTECTED] [2005-10-21 21:25]:
 Ok, so thus far: we can indicate resources that are related to
 the given entry; we can indicate that an entry is a reply to
 another entry; we can specify categories to which the entry
 belongs; but there is currently no way of indicating the
 *subject* of the entry. 
 
 The best options appear to be:
 
 a. Use dc:subject (appears to be a perfectly acceptable
 solution to me assuming that the subject indication is intended
 for human consumption
 
 or...
 
 b. Use link[rel=subject] (which works if the subject is 
 identified/described by a dereferenceable URI)

Err, are you forgetting atom:category? Doesn’t that satisfy all
your wants *and* more? It has a URI, a term and a human-readable
label.

Regards,
-- 
Aristotle Pagaltzis // http://plasmasturm.org/



Re: New Link Relations -- Ready to go?

2005-10-21 Thread Mark Nottingham


So, an aggregator comes across a feed in the woods. It sees it has  
previous and maybe next link relations.


The point that (I think) Thomas is making is that the people who  
leave that feed document in the woods had better be comfortable with  
the aggregator following the links and reconstructing the feed. After  
all, most of them already keep feed history without any hints about  
previous archives at all; if you give them a previous link, it'll  
be a red flag to a bull, no matter what my spec says.


So, a feed that used next and previous to link to different weeks  
of the top 100 (for example) would get jumbled up pretty bad, and not  
display too well in aggregators.


My thinking is that if we go down this road, one of two things will  
happen;


a) Aggregators will start paying attention to special flags (like  
fh:incremental) that tell them the nature of the feed, and feeds will  
start using them real quick.


b) Non-incremental uses of previous and next will die off,  
because people who use them for those purposes will see aggregators  
do strange things with their feeds.


I think (b) is somewhat more likely. Either way, I'm OK, but I do  
note that (a) leads to two separate extensions being required in the  
feed, when the same purpose could be served by a more specialised  
link relation, and (b) will lead to other, more specialised link  
relations being created anyway.


So I'm not sure why it's so important we have an effectively semantic- 
free previous and next, but if that's what happens, I'm  
reasonably confident my use case will still be met.


So, Thomas -- are you still -1 on this? I don't see how we can come  
to consensus on a more specific set of relations, given the flood of  
+1s on the generic ones.




On 21/10/2005, at 2:23 PM, Thomas Broyer wrote:




James Holderness wrote:




Thomas Broyer wrote:



You didn't answer my last question:


How do you expect a newsreader to *automatically* download this  
week's 50 entries without downloading last week's entries instead?
(and show you links/buttons for you to ask download and display  
of previous/next week's Top 50)





I see where you're coming from, but this kind of thing is already  
a problem without even taking links into consideration.


For an aggregator to be able to do anything vaguely meaningful  
with a feed it has to be able to assume that the feed is  
incremental in nature.



As I already explained, paging is orthogonal to the incremental  
nature of a feed. An incremental feed will be chunked as explained  
in Mark's current Feed History draft (just use an atom:link 
[EMAIL PROTECTED]previous] instead of the fh:prev extension element) and a  
non-incremental feed as described in the OpenSearch result 1.1  
draft. The difference is that an incremental feed is sorted by date  
so the older parts will become more or less stable over time;  
while a non-incremental feed is replaced as a whole each time it is  
updated, with no other relation to time.



When the feed is updated an aggregator will by default assume that  
any new items can safely be added to the top of an inbox, any  
updates are updates to existing items, and any removed items have  
merely fallen off the bottom of the feed.


However, as soon as we introduce the concept of non-incremental  
feeds, an aggregator that is not aware of the concept will fail to  
process such a feed in a meaningful way. We've created a situation  
where an aggregator has to be aware of the (still to be specified)  
fh:incremental extension, Microsoft's simple list extensions for  
RSS, and whatever future extensions may arise; basically the  
ability to see into the future.


This problem merely repeats itself when it comes to processing  
archives. When we receive a next link, ideally we would like to  
assume it's a pointer to the next archive to be processed. For a  
regular incremental feed this isn't a problem. Even a search feed  
could be processed safely if ordered the right way. However, when  
it comes to non-incremental feeds we're screwed again. I agree  
that it sucks, but we're already stuck with that situation so I'm  
not sure that these links will make things any worse.



What's the difference between a search feed and a non-incremental  
feed? Aren't search feeds one facet of non-incremental feeds?


The difference between incremental and non-incremental feeds is  
that, when dealing with incremental feeds, paging can be seen as a  
link to archives, as the feed is tightly related to time. When  
dealing with non-incremental feed, the previous page is totally  
different than the previous archived snapshot.
However, an incremental feed could take advantage of  
differentiating between paging and archive linking: if linking to  
archives uses an atom:[EMAIL PROTECTED]archives] (or call it history  
if you prefer) to point at an incremental feed where each entry  
describes an archived set of entries (see [1] for a more detailed  

Re: New Link Relations -- Ready to go?

2005-10-21 Thread Mark Nottingham


How about:

 -  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. For example, an archived feed document might  
contain a subscribe relation that points to the subscription feed's  
location, so that clients subscribe to the appropriate link. Note  
that the self relation was designed for a similar purpose, but is  
not suitable for that use in other feeds, whereas this relation can  
be used in those situations.




On 21/10/2005, at 4:16 PM, Tim Bray wrote:


On Oct 21, 2005, at 3:13 PM, Mark Nottingham wrote:


 -  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.




Any suggestions?



Yes.  Acknowledge the specific case of an archival feed, an example  
is worth a thousand words.


And discuss why this exist when Atom already has link rel=self,  
specifically designed to support auto-subscribe. -Tim







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



Re: What is this entry about?

2005-10-21 Thread Antone Roundy


On Oct 21, 2005, at 5:47 PM, James M Snell wrote:

Err, are you forgetting atom:category? Doesn’t that satisfy all
your wants *and* more? It has a URI, a term and a human-readable
label.

Regards,


I dunno, that's why I was asking ;-)

atom:category works well for categorizing entries, but does it  
really tell us what the entry is about?  For instance, suppose that  
I want to indicate that an entry is about http://www.ibm.com and  
file that in a category called technology?  The categorization of  
the entry is different than the subject of the entry.. tho both are  
definitely related.


Why don't we define link/@rel=about for pointing to a specific  
internet resource that an entry is about (a little more specific than  
the general case of rel=related).  I know we discussed this before  
and in the chaos of trying to hammer the spec out, didn't do it, but  
I still think it's a good idea.




Re: New Link Relations -- Ready to go?

2005-10-21 Thread James Holderness


Thomas Broyer wrote:
As I already explained, paging is orthogonal to the incremental nature of 
a feed. An incremental feed will be chunked as explained in Mark's current 
Feed History draft (just use an atom:[EMAIL PROTECTED]previous] instead of the 
fh:prev extension element) and a non-incremental feed as described in the 
OpenSearch result 1.1 draft.


I beg to differ. I think the incremental state of a feed is very relevant to 
paging. If the aggregator does not know that a feed is non-incremental it 
will not be able to process the feed document in a meaningful manner. And 
when I say non-incremental I mean something like a Top 10 list where the 
entries in the feed document are a complete replacement for any entries that 
the aggregator may have previously received from that feed.


What's the difference between a search feed and a non-incremental feed? 
Aren't search feeds one facet of non-incremental feeds?


Not necessarily, no. A search feed could quite easily be implemented as an 
incremental feed. This is the most sensible approach since it would allow 
the feed to be viewed in all existing aggregators without requiring a 
special knowledge of non-incremental feeds.


The initial feed document consists of all known results at the time the 
search is initiated. As new results are discovered over time, the feed can 
be updated by adding new entries to the top of the feed in much the same way 
that new entries would be added to the top of a blogging feed. In fact, if 
you do a search with something like feedster, this is exactly the sort of 
feed you will get back.


Once you add paging support, the search results can be split over multiple 
pages in much the same way that an incremental feed splits its entries over 
multiple archives. As long as the search feed adds new entries to the top of 
the subscribed document and moves older results into archives as they fall 
out the bottom, it can be processed in exactly the same way as a regular 
incremental feed.


However, an incremental feed could take advantage of differentiating 
between paging and archive linking: if linking to archives uses an 
atom:[EMAIL PROTECTED]archives] (or call it history if you prefer) to point 
at an incremental feed where each entry describes an archived set of 
entries (see [1] for a more detailed example); such a feed has the 
advantage of paging that it allows direct access to a specific point of 
time inside the feed pages. Each archived set of entries could for 
example cover one or two week, so a user could navigate through the feed 
state or feed history not only by going from pages to pages but also by 
accessing archived chunks via an index or table of contents.


This is all very interesting, but not possible without more link extensions 
which don't exist yet. With what we have so far we can do incremental feed 
archives; we can do at least some form of searching; we can do 
non-incremental feeds (of the Top 10 variety) with history. I think that's 
a good start.


Regards
James



Re: New Link Relations -- Ready to go?

2005-10-21 Thread Antone Roundy


On Oct 21, 2005, at 7:19 PM, James Holderness wrote:
What's the difference between a search feed and a non-incremental  
feed? Aren't search feeds one facet of non-incremental feeds?


Not necessarily, no. A search feed could quite easily be  
implemented as an incremental feed. This is the most sensible  
approach since it would allow the feed to be viewed in all existing  
aggregators without requiring a special knowledge of non- 
incremental feeds.
If your goal is to work as well as possible with today's client  
software, then bending your data to fit their model is the most  
sensible approach, but that's not always the goal.


The initial feed document consists of all known results at the time  
the search is initiated. As new results are discovered over time,  
the feed can be updated by adding new entries to the top of the  
feed in much the same way that new entries would be added to the  
top of a blogging feed. In fact, if you do a search with something  
like feedster, this is exactly the sort of feed you will get back.
If creation time is relevant to the data being searched, then this  
makes sense.  But what if I want to subscribe to the top 10 Google  
results for some keywords I'm trying to optimize my site for  
(ignoring the fact that Google doesn't return search results in any  
feed format right now)?  Or what about alternative sort orders which  
are available on sites like Feedster, Google News, etc.? (You can  
sort by relevance rather than date--the date still has some weight,  
but the results aren't strictly in date order). How about Amazon.com  
affiliates who want to use an RSS parser to display affiliates links  
to best sellers search results?  There are a lot of search use  
cases that don't fit the incremental model.


All that said, search results are often a bit different than top 10  
lists and the like.  With search results, you often don't want to  
view the contents of the feed in order all at once--the first time  
you do, but after that, you may just want to see new things as they  
make it up into the top positions.  Today's clients can handle that  
just fine, unless you want to monitor more than just the first page  
of results.




Re: Profile links

2005-10-21 Thread James Holderness


I'm not sure if I've understood you correctly, but if this could be used as 
a hint to the aggregator on how best to process/display the feed then I 
think it's a great idea.


For example, knowing that a feed was a collection of images (e.g. a Flickr 
feed) would enable the aggregator to automatically display the entries as an 
image thumbnail list. A feed of calendar events (using a microformat of some 
sort) could be automatically added to the user's calendar. I'm sure there 
are many other ways in which this could be useful.


My only worry is that without some kind of profile registry it would be very 
difficult for an aggregator to do anything meaningful with the data. Where 
would you find a list of all existing profiles? If there are 10 different 
profiles that all suggest more or less the same thing which one(s) should an 
aggregator support? Perhaps we could start with a predefined set of 
well-known profiles?


I really think this idea has great potential though.

Regards
James

James M Snell wrote:


Another subject that has come up in recent discussions is an extension 
that can be used to specify the purpose of a feed.  For example, is the 
feed an archive, is it a podcast, is it used for discovering web services 
or publishing blog content, etc.


The approach that I have in mind is to use link[rel=profile] where the 
href points to a profile document of some sort.






Re: Profile links

2005-10-21 Thread James M Snell


James Holderness wrote:

I'm not sure if I've understood you correctly, but if this could be 
used as a hint to the aggregator on how best to process/display the 
feed then I think it's a great idea.



Yes, that's exactly what it's for.

For example, knowing that a feed was a collection of images (e.g. a 
Flickr feed) would enable the aggregator to automatically display the 
entries as an image thumbnail list. A feed of calendar events (using a 
microformat of some sort) could be automatically added to the user's 
calendar. I'm sure there are many other ways in which this could be 
useful.


My only worry is that without some kind of profile registry it would 
be very difficult for an aggregator to do anything meaningful with the 
data. Where would you find a list of all existing profiles? If there 
are 10 different profiles that all suggest more or less the same thing 
which one(s) should an aggregator support? Perhaps we could start with 
a predefined set of well-known profiles?


That's precisely why I want the profile references to be dereferenceable 
into some form of profile document that can describe the profile.  I 
considered a registry of profiles but wasn't sure if that was a good 
idea or not. Still stewing on it.  I definitely think the definition of 
profiles needs to be a community effort, much like the way that the 
microformats community is working collaboratively to define microformat 
profiles.


- James



Re: Sponsored Links and other link extensions

2005-10-21 Thread James Holderness


James M Snell wrote:
Ok, now that a number of the other extensions I've been working on are 
moving along, it's time to turn my attention to a couple of other ideas 
I've been stewing on.  One of which is link[rel=sponsored] to indicate 
sponsored links / advertisements within feeds.


Not sure about this. Why would an aggregator display such a link? At best 
you might get an option in the aggregator asking whether the user wanted to 
see sponsored links, but then you have to ask yourself how many users would 
enable such an option. As a content provider I would be inclined to just 
slap them at the bottom of the message somewhere with a little header saying 
sponsored links. Not pretty, but at least you can be sure the links will 
be seen.


Lastly, a while back Eric Scheid and I discussed a bit about how alternate 
locations for a link could be expressed (e.g. mirrors).  He was going to 
write up a draft, but I'm not sure about the status of that effort. Here's 
what I'm thinking:


 link rel=enclosure href... ...
   x:alternate href=... title=... /
   x:alternate href=... title=... /
 /link


I like this a lot. You get fallback support when a link goes down as well as 
the ability to download from multiple sources simultaneously for extra 
speed. For this to work, though, it's vital that these resources are 
bit-for-bit identical. If not I think they MUST include an x:md5 attribute 
so an aggregator can tell which are safe to interleave.


Regards
James



Re: Sponsored Links and other link extensions

2005-10-21 Thread James M Snell


James Holderness wrote:


James M Snell wrote:

Ok, now that a number of the other extensions I've been working on 
are moving along, it's time to turn my attention to a couple of other 
ideas I've been stewing on.  One of which is link[rel=sponsored] to 
indicate sponsored links / advertisements within feeds.



Not sure about this. Why would an aggregator display such a link? At 
best you might get an option in the aggregator asking whether the user 
wanted to see sponsored links, but then you have to ask yourself how 
many users would enable such an option. As a content provider I would 
be inclined to just slap them at the bottom of the message somewhere 
with a little header saying sponsored links. Not pretty, but at 
least you can be sure the links will be seen.


I know, this basically comes down to a trust issue... that is, do you 
trust that aggregators and users will respect 'em.  I'm not convinced 
either, but I wanted to at least float the idea.


Lastly, a while back Eric Scheid and I discussed a bit about how 
alternate locations for a link could be expressed (e.g. mirrors).  He 
was going to write up a draft, but I'm not sure about the status of 
that effort. Here's what I'm thinking:


 link rel=enclosure href... ...
   x:alternate href=... title=... /
   x:alternate href=... title=... /
 /link



I like this a lot. You get fallback support when a link goes down as 
well as the ability to download from multiple sources simultaneously 
for extra speed. For this to work, though, it's vital that these 
resources are bit-for-bit identical. If not I think they MUST include 
an x:md5 attribute so an aggregator can tell which are safe to 
interleave.



Good points.

- James