RE: Atom Rank Extensions

2006-05-03 Thread Sean Lyndersay

David,

Looks like I picked a good time to catch up on Atom-syntax mail.

 Actually - can cf:list be used together with cf:[EMAIL PROTECTED]'true'?,

Yes, it can. See the example in the explanatory doc we posted a while back.
http://blogs.msdn.com/rssteam/articles/SimpleListExtensionsExplained.aspx

That example feed is online here:
http://sean.members.winisp.net/lists/bookexample.xml




-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Powell
Sent: Wednesday, May 03, 2006 12:31 PM
To: James Holderness
Cc: atom-syntax
Subject: Re: Atom Rank Extensions



Tuesday, May 2, 2006, 10:06:51 PM, James Holderness wrote:

 Just looking at that example, it seems to me that an aggregator that
 implements Microsoft's simple list extensions would get a full-featured
 representation of that feed without having to know anything at all about
 feed rank and feed history. So why bother with them?

I made a suggestion for avoiding implicit ordering in SLE on the
FEED-TECH list[1]. Basically to allow the cf:treatAs to use the
@element and @data-type attributes that are used in cf:sort and
cf:group elements, so that entries could include a datestamp, or
index, which could be used for the ordering of the list rather than
the natural ordering.

[1] 
http://discuss.microsoft.com/SCRIPTS/WA-MSD.EXE?A2=ind0603dL=feed-techT=0F=S=P=312

Actually - can cf:list be used together with cf:[EMAIL PROTECTED]'true'?,
I think I'll ask...

--
Dave




RE: Does xml:base apply to type=html content?

2006-03-31 Thread Sean Lyndersay

 However, exempting [EMAIL PROTECTED]'html'` content from xml:base processing 
 won't help.

Agreed and an excellent point.

I guess that the end-result of this is that regardless of how one wants to 
interpret any of the relevant specs on this issue, a client should assume that 
xml:base applies to URI references in @type=html content.


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of A. Pagaltzis
Sent: Thursday, March 30, 2006 6:31 PM
To: Atom Syntax
Subject: Re: Does xml:base apply to type=html content?


* Sean Lyndersay [EMAIL PROTECTED] [2006-03-31 04:00]:
This is unfortunate, because HTML itself only allows base elements in
the header (one per page). So if anyone wants to build a client that
displays more than one item at a time using a standard HTML renderer
(and most client render HTML using someone else's renderer, not their
own), they have to go groveling in HTML to do URL fixup (or use
iframes).

That's exactly the problem currently facing Liferea.

However, exempting [EMAIL PROTECTED]'html'` content from xml:base processing 
won't help.

If the items can come from multiple feeds, such as is supported by Liferea, 
then mixing items from an Atom feed that uses xml:base and other feeds 
automatically runs into the same issue.
In that scenario, either the tag soup from the other feeds must be fixed up so 
the view can be rendered as XHTML (which supports xml:base in content), or URL 
fixup needs to be done on the content from the Atom feed so it can be passed to 
a tag soup renderer.

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




RE: Does xml:base apply to type=html content?

2006-03-31 Thread Sean Lyndersay


I haven't looked in detail at how IE does on the xml:base comformance tests, 
since the current beta has no support for xml:base. In light of that fact, I'm 
glad we failed outright instead of halfway; halfway would have been weird :).

We're actually implementing xml:base support right now (and in the process, 
fixing the relative URL issue that Sam Ruby pointed out in our normalization 
format), so we'll be broken on those conformance tests for while. The fix won't 
make it out in the next public release, but it should make the one after that.

I'll let you know how we do on those tests when the code is done.

Sean

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of James Holderness
Sent: Thursday, March 30, 2006 9:24 PM
To: Atom Syntax
Subject: Re: Does xml:base apply to type=html content?


Sean Lyndersay wrote:
 In my own case (IE7) case, this isn't that big a deal because we have
 to grovel in HTML for many other reasons, but I suspect it'd be pain
 for other clients.

Looking at the results of the Atom XmlBaseConformanceTests [1] mosts of the 
clients tested seemed capable of handling relative references inside HTML to 
some extent. Even the ones that don't necessarily pass all the tests at least 
get enough right to suggest that they're on the right track.

IE7 is actually one of the few clients that I would consider to have failed 
outright. Is the latest beta any better at handling xml:base or do these 
problems still exist?

Regards
James

[1] http://www.intertwingly.net/wiki/pie/XmlBaseConformanceTests




RE: Does xml:base apply to type=html content?

2006-03-30 Thread Sean Lyndersay


This is unfortunate, because HTML itself only allows base elements in the 
header (one per page). So if anyone wants to build a client that displays more 
than one item at a time using a standard HTML renderer (and most client render 
HTML using someone else's renderer, not their own), they have to go groveling 
in HTML to do URL fixup (or use iframes).

In my own case (IE7) case, this isn't that big a deal because we have to grovel 
in HTML for many other reasons, but I suspect it'd be pain for other clients.

My own reading goes like this: Since xml:base is an XML concept, it should 
apply only to relative references in XML content (including XHTML). From the 
XML perspective, the HTML content is just a string, so the xml:base should not 
apply.

Sean

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tim Bray
Sent: Thursday, March 23, 2006 10:49 AM
To: David Powell
Cc: Atom Syntax
Subject: Re: Does xml:base apply to type=html content?



On Mar 23, 2006, at 10:03 AM, David Powell wrote:



 xml:base applies to type=xhtml content, but I'm not sure whether it
 is supposed to apply to escaped type=html content? I reckon that it
 does.

RFC4287, section 2:

Any element defined by this specification MAY have an xml:base
attribute [W3C.REC-xmlbase-20010627].  When xml:base is used in an
Atom Document, it serves the function described in section 5.1.1 of
[RFC3986], establishing the base URI (or IRI) for resolving any
relative references found within the effective scope of the xml:base
attribute.

Seems pretty clear to me.  Yes, the base URI of that HTML is now
whatever xml:base said it was -Tim




RE: IE7 Feed Rendering Issue

2006-03-09 Thread Sean Lyndersay








Ive been meaning to respond to this in the original
thread (and to David Petersons offline questions publicly), but got
caught up in some other things. 



There are a few principles we used to decide how to approach
this problem (and its not a straightforward issue with an easy decision
matrix):

First, while the feed
itself is data (as David points out ), the entries are the content from
the publisher. The publisher has complete control over how each item in the
feed looks (using (X)HTML). Entries can, of course, be re-mixed and shown in
different contexts, losing their original feed context.

It is worth noting
that no other aggregator maintains the publishers look and feel on a feed.
RSS Bandit and some others allow the user to control how a feed looks,
and it requires custom, app-specific XSLs. If Safari has a way to turn off its
feed view, I havent found it yet. 

To build on this idea, there is real value on a consistent view
of feeds for the user, helping the user understand what they are looking at,
and the context in which they can use the data. In fact, thats part of
the promise of RSS  consistency.



For example, because the feed view is part of the client, instructions
explaining what a feed is, and why subscribing is a useful and interesting
thing to do are presented in the users system language, regardless of
the language of the feed. If the user chooses, they can turn off the IE feed
view completely (starting from the next beta update). 

Finally, we think that
feeds+stylesheets exist as a stopgap measure to help users avoid the nasty
XML view in browsers that dont support feeds (yes, this is a generalization,
and some people are building web sites that are built in a more complicated
way, but in the vast majority of cases, its true). Now that the browsers
support viewing feeds natively (this will be all major browsers, with the
release of Firefox 2.0), this stop gap should be retired, or continue to exist
only for older browsers. 

There is a
reasonable argument that this is a change in browser behaviour, and theres
mention in another email that this is counter to the IE7 CSS promise of
compatibility with sites. 

The reality is that
browsers have a nightmare process of dealing with millions of websites that
have a near infinite set of permutations of how they use HTML. This is a
side effect of the somewhat haphazard evolution of HTML in the 90s. I think it
would be a complete mistake to repeat that here. The feed is nowhere near as
large as the HTML community, and the opportunity exists to correct behaviour
and do the right thing.

Yes, its a
change in browser behaviour, but that should not be the only argument. Since we
are still at the cusp of the explosion of RSS/Atom into the mainstream, we
should be deciding what is the right thing. 

I argue that the right
thing for a publisher is to serve HTML when they want control over the look and
feel of the entire set of content, and to serve RSS/Atom when they want their
data consumed as a feed (which has always meant surrendering the look-and-feel to
the particular client the user chooses). 

To address another
implied point  we are not doing this out of some evil intent to
screw the publisher or other clients. We have gone into this with the
explicit intent of not only providing a decent feed reading experience in IE,
but also to make sure that the entire community of aggregator and services is
catered to  we have built and published extensive support for other
aggregators and services to hook into the feed discovery experience and to synchronize
with the Common Feed List that ships with IE. When a user subscribes to a feed
using IE, hes not limited to using IE to read that feed. Any aggregator
can build support for the publicly documented APIs to read and write to the Common
Feed List, and any service can build support for synchronizing that feed with
their service (and in both cases, several are doing so right now). 

I hope this helps
make the reasoning behind IEs behaviour with feeds and stylesheets a
little less murky. 

Thanks,

Sean











From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David Nesting
Sent: Thursday, March 09, 2006 7:30 AM
To: [EMAIL PROTECTED]
Cc: atom-syntax@imc.org
Subject: Re: IE7 Feed Rendering Issue



On 3/9/06, Klaus Johannes Rusch
[EMAIL PROTECTED]
 wrote:





Unless the context is stored with the feed, the
user experience will
be different when a user follows a link from another page (rendered as
Web page) and later loads the same link again from the bookmarks 
(rendered as an XML feed).






If this is just an issue with the example rules, that's solvable by adapting
the rules to match expectations. Maybe browsers would be willing to store
some sort of context along with the bookmark. 

But really the underlying point is that browsers and/or feed readers can choose
to render the feed however they want. The Atom syntax does not require
xml-stylesheet support nor does any part 

RE: IE7 Feed Rendering Issue

2006-03-09 Thread Sean Lyndersay








This is off-topic, but Ill answer quickly. If someone
wants to go into this in more detail, contact me offlist.



Given that weve re-done the look-and-feel of the built-in
stylesheet about 3 times since Beta 1 (its changed again in the next
beta release), it obvious that people have lots of opinions about what looks
right for them. 



So, in some future release (not IE7) we will definitely add the ability
for the user to customize the look-and-feel of feeds in IE. 



As for the API, the documentation for the RSS API is here: http://msdn.microsoft.com/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp

Theres an sample app here: http://blogs.msdn.com/rssteam/archive/2006/02/28/540319.aspx




Thanks,

Sean









From: M. David Peterson
[mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 09, 2006 12:28 PM
To: James Yenne
Cc: A. Pagaltzis; atom-syntax@imc.org; Sean Lyndersay
Subject: Re: IE7 Feed Rendering Issue





* Why can't I publish my own stylesheet and use these
Microsoft
elements for collation, background, etc.This Microsoft stylesheet
should
be replaceable. *











I would say this is a quite valid question.











Is this capability planned and has simply not been
implmented at this stage? I realize the look and feel of the browser
itself will be handled via the standard Windows Themes interface when this, in
fact, is changed by the user. Will this stretegy be the primary strategy
moving forward? 











Of course, the ultimate question James has posed is most
particular to the web feed itself. It's simple enough to go in and play
with the DOM via the various GreaseMonkey clones for IE, so obviously where
theres a will, the way has already been paved. But this is obviously not
an IE strategy, and instead a vendor hack. 











Of course, it seems to me that the piece that is missing has
nothing to do with all of this... the piece that is missing is maybe our own realization
that there is an RSS API that, from what I understand (lloks like a new item
will be added to my study list for the week :), allows the ability to develop a
completely different rendering engine all together that ties into the RSS
backbone such that no matter what interface is use, IE-based, XAML-based,
WinForms-based, etc each can stay consistent with the same set of data. 











Thats actually pretty cool when you think about it.
Would be cooler if it had a more snazzy name to the backend system... something
like AtomicRSS but then again, theres nothing stopping me or anyone
else from building just such an interface that could act as the Atom-enhanced
version of the of the RSS backbone... 











I sure do love the idea of extensions, I tell ya ;) :D







On 3/9/06, James Yenne [EMAIL PROTECTED] wrote:





* Sean Lyndersay [EMAIL PROTECTED]
 [2006-03-09 17:05]:
To build on this idea, there is real value on a consistent view of
feeds for the user, helping the user understand what they are looking
at, and the context in which they can use the data. In fact, that's 
part of the promise of RSS - consistency.

+1


While I agree in principle, my concern is that as Microsoft moves forward
with this reasonable tact for IE and on behalf of the web feed community, 
Mozilla, Safari and others will have their own solution which is different
and also consistent.The published SSE extensions are a
good step in
making this consistency stick, but will these others use SSE or yet another 
solution.Why can't I publish my own stylesheet and use these
Microsoft
elements for collation, background, etc.This Microsoft stylesheet
should
be replaceable.

Finally, we think thatfeeds+stylesheets exist as a stopgap
measure to 
help users avoid the nasty XML view in browsers that don't support
feeds (yes, this is a generalization, and some people are building web
sites that are built in a more complicated way, but in the vast 
majority of cases, it's true).

+1

I argue that the right thing for a publisher is to serve HTML when they
want control over the look and feel of the entire set of content, and 
to serve RSS/Atom when they want their data consumed as a feed (which
has always meant surrendering the look-and-feel to the particular
client the user chooses).

+1
 

Sure, serving XHTML is just a one off for my app, but part of my goal is to
clarify this behavioral standard for the browser / feed reader / aggregator
community.

The publisher is thus henceforth locked into the IE browser's look and feel 
for the subscription  presentation page, which works fine of
course.This
is a browsers becoming a reader and an aggregator, and it's tricky.

-James






-- 
M:D/

M. David Peterson
http://www.xsltblog.com/ 








RE: IE7 Atom Handling (was RE: Link rel attribute stylesheet)

2006-03-02 Thread Sean Lyndersay

This is fantastic, David. Many thanks. We're going over your feed in detail and 
I'll respond with bug information as soon as possible.

Thanks,
Sean

-Original Message-
From: David Powell [mailto:[EMAIL PROTECTED]
Sent: Wednesday, March 01, 2006 11:33 AM
To: Sean Lyndersay
Cc: atom-syntax@imc.org
Subject: Re: IE7 Atom Handling (was RE: Link rel attribute stylesheet)

Hi Sean,

I've been testing IE7 beta 2's support for Atom, with the following
test feed:
http://djpowell.net/atom-test/hardfeed/feed/hard-feed.atom

Also here for easier viewing in IE7
http://djpowell.net/atom-test/hardfeed/feed/hard-feed.xml


Here are the problems that I have found:


01. Person Extensions

In Atom, extension elements can appear in feeds, entries, and person
constructs.  So atom:author and atom:contributor should preserve any
extension elements.  Currently, the transform only preserves atom:uri,
atom:name, and atom:email.  It should preserve all extensions too.


02. Timezones

atom:updated is converted to RSS's RFC822 pubDate element, but the
timezone information is lost.  Eg: a date such as
2006-01-01T05:00:00+02:00 is converted to
Sun, 01 Jan 2006 05:00:00 GMT, which is incorrect.


03. atom:published

While atom:updated is converted to pubDate, atom:published is kept as
atom:published; except, the date format is converted to RFC822 format.
I think that the date format should be kept as-is in ISO8601-style
format.


04. Alternate links for non-HTML types

The entry called Binary Entry contains a link of the form:

atom:link href=../files/bin.png length=684 type=image/png /

This link isn't treated as the link for the entry, presumably because
it has a type other than HTML.  If no HTML link can be found for the
alternate link, perhaps it would be worth just choosing any other
alternate link instead.


05. HTML titles

HTML in feed and entry titles is interpreted properly, but flattened
to text. This is presumably deliberate but it does mean that there is
some data loss. Perhaps the original atom namespaced element should be
preserved as well in these cases?


06. atom:generator

atom:generator is converted to RSS's generator.  The uri attribute is
included as an unnamespaced uri, but the version attribute is dropped.
Perhaps both should be preserved, and it might be better to put the
attributes into a namespace?


07. XHTML namespace prefix

More of a rendering problem, but I've included it here because it is
significant:  xhtml content currently only works if the xhtml is in
the default namespace.  If a namespace prefix is used, it fails to be
interpretted correctly.  See the entry entitled:
Entry with full iana [EMAIL PROTECTED] values; the link should appear as an
HTML link, but doesn't.


08. IANA URIs for link relations

A bit of a quirky one, but in Atom the rel values are actually URIs
relative to http://www.iana.org/assignments/relation/, so
rel=alternate and
rel=http://www.iana.org/assignments/relation/alternate; should be
treated the same. The same goes for enclosures. See the entry: Entry
with full iana [EMAIL PROTECTED] values, which should show an enclosure and a
valid entry link.


09. Category label

atom:category is converted to RSS's category element.  This causes the
label attribute to be lost.  It perhaps should be preserved as a
namespaced attribute.

Also, if it is available it might be better to use the label rather
than the term as the RSS2 category name, because term might not be
very human readable, that is the purpose of label.  See
Content Source Entry, which causes the WordNet URI to be displayed
in the category filter box.


10. xml:base everywhere

Some handling of xml:base is done if it appears on atom:feed or
atom:entry, but it can appear anywhere. Eg, xml:base on the atom:link
element should affect that link. There are a number of examples of
xml:base being handled wrongly in the example, eg the broken feed
logo.


11. xml:base / xml:lang namespace

I notice that lang and base attributes appear on the transformed feed,
but don't have the xml: namespace prefix?  Is this a bug caused by
the weirdness of the implicit xml: namespace?


12. Subscription name

An IE7 bug, but I'll mention it here: If the feed title contains a
line-break, the Subscribe to feed-dialog doesn't work because the
line-break get's embedded as a hollow-square in the text box and
causes an error. Try subscribing to the test feed, it works if you
remove the hollow-box from the subscription name.


13. xml:base and xml:lang inheritance from atom:feed to entries

xml:base and xml:lang at feed level should apply to all elements
nested within the feed document. However the atom:feed element and its
metadata can obviously change over time. This creates a problem: What
if the atom:feed element contains an xml:base element, and it changes.
The feed document as polled can be assumed to be consistent, but it
would be wrong to retroactively apply this new base to old entries.
In order to avoid these problems each

RE: Fwd: [rss-public] Microsoft Feeds API Enclosure Test

2006-02-24 Thread Sean Lyndersay


The normalized XML that you're seeing in View Source is also accessible from 
the feed APIs, so the XML we generate is a format we expect to support in 
perpetuity. 

It's designed to be a relatively simple format that application developers can 
rely on in the same way that they rely on APIs in the object model, so we map 
all common elements from other formats into RSS 2.0 (the basis for our native 
format). Why RSS 2.0? Because it's the format used by the majority of feeds on 
the web. Since this is an internal format between the platform and its clients, 
it theoretically doesn't matter what we chose as long as there's no data loss 
(and as long as we document it -- which we're in the process of doing). In the 
Atom case, in particular, we occasionally need to bring Atom elements through 
as RSS 2.0 extensions. 

Any case of data-loss is a bug that we'll address (that's the point of a Beta 
:). If you have cases of sites where there is data-loss, you can either send it 
me, send it to [EMAIL PROTECTED] or post to the feedback wiki where we're 
tracking feeds that we're not handling correctly [1].

I'm in the process of publishing the documentation for how the Windows RSS 
Platform handles each feed format on our blog [2].

If someone does have a particularly complex Atom feed, we'd love to use it for 
our own testing to make sure we're handling all of the Atom-specific data 
correctly, so just send me a link.

As a general statement, if you have question about what IE7/Windows is or is 
not doing with feeds, just drop me a line. 

Thanks,

Sean 

 [1] 
http://channel9.msdn.com/wiki/default.aspx/Channel9.InternetExplorerFeedIssues 
 [2] http://blogs.msdn.com/rssteam


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Powell
Sent: Thursday, February 23, 2006 7:29 AM
To: A. Pagaltzis
Cc: Atom Syntax
Subject: Re: Fwd: [rss-public] Microsoft Feeds API Enclosure Test



Thursday, February 23, 2006, 6:37:50 AM, you wrote:

 Does someone who has access to an MSFT system care to take a look at 
 this?

I have been playing with IE7, and it is interesting to see what happens when 
you click on a feed and view source.

If the feed hasn't been subscribed to, you just see the feed source as you 
would expect.

If you have subscribed to the feed however, you see Windows's internal 
representation of the feed, which is normalised to a sort of RSS2++. I assume 
that this is what is exposed when you use the APIs to access the XML.

(Hmm - giving access to the XML in this way is a brave move, XML has a huge 
surface area for an API, practically any change to the XML produced by Windows 
could break client applications, and I didn't find any documentation for the 
normalised RSS2++ ).

What is interesting is that Atom is handled (reasonably well), by converting 
the Atom to RSS2. The logic seems to replace atom elements with there RSS2 
equivalents and the loss in fidelity is not too great (eg atom:updated - 
pubDate), and to leave the Atom as-is for awkward
(eg: [EMAIL PROTECTED]/xml)

There is definitely some loss in fidelity though.  It would be nice to run an 
extreme Atom feed through the process to see what gets lost.
xml:base appears to get corrupted, and unless the API provides access to the 
baseURI of each entry there is a risk of data loss (as the xml:base at feed 
level may change between polls it therefore needs to be preserved with each 
entry.)

Does anyone have a bad-ass atom feed with IRIs, binary content, atom:source, 
xml:base, xml:lang, extensions etc for testing?

--
Dave




RE: [rss-public] Microsoft Feeds API Enclosure Test

2006-02-24 Thread Sean Lyndersay

To answer the original question here, IE7 (and the Windows RSS Platform) 
doesn't support multiple enclosures in the current release. 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of A. Pagaltzis
Sent: Wednesday, February 22, 2006 10:38 PM
To: Atom Syntax
Subject: Fwd: [rss-public] Microsoft Feeds API Enclosure Test


Does someone who has access to an MSFT system care to take a look at this?

From: James M Snell [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: [rss-public] Microsoft Feeds API Enclosure Test
Date: Wed, 22 Feb 2006 21:28:19 -0800
Message-ID: [EMAIL PROTECTED]
List-Id: rss-public.yahoogroups.com

Hmm.. interestingly, this API also looks as if it would stuff multiple 
enclosures in Atom also... in which case, I'd argue that the API is 
simply broken.

rcade wrote:
 Power Line has a podcast feed that includes multiple enclosures, as 
 someone pointed out earlier on this list:
 
 http://www.powerlineblog.com/podcasts.xml
 
 A cached copy of this feed is here:
 
 http://www.rssboard.org/files/example-multiple-enclosures.xml
 
 This feed contains one item with one enclosure, a second with three 
 enclosures, and a third with three enclosures (in that order).
 
 After subscribing to this feed in MSIE 7 and choosing automatic 
 downloads of enclosures, I wrote a VB.NET console application that 
 displays the URL of each enclosure in the feed:
 
 Sub Main()
 Dim fm : fm = CreateObject(Microsoft.FeedsManager)
 Dim fmroot = fm.RootFolder
 Dim plfeed = fmroot.getFeed(Power Line)
 Dim i
 For i = 0 To plfeed.Items.Count - 1
 Dim item = plfeed.getItem(i)
 Console.WriteLine(Title:  + item.Title)
 Dim plenclosure = item.Enclosure()
 Console.WriteLine(Enclosure:  + plenclosure.Url)
 Console.WriteLine()
 Console.Write(item.xml(1))
 Console.WriteLine()
 Next
 End Sub
 
 Here's the output of the application (with item elements other than 
 enclosure removed from the XML):
 
 -- BEGIN OUTPUT --
 
 Title: Listen to Col. Stephenson and Judge for Yourself
 Enclosure: http://powerlineblog.com/podcasts/NA218Stephenson.mp3
 
 itemenclosure
 url=http://powerlineblog.com/podcasts/NA218Stephenson.mp3;
 length=21455322 type=audio/mpeg
 xmlns:cf=http://www.microsoft.com/schemas/rss/core/2005;
 cf:path=C:\Documents and Settings\Rogers\Local Settings\Temporary 
 Internet 
 Files\Enclosure\{0C1E2407-FAE4-447F-9054-FB1C7CFE6A86}\Listen
 to Col. Stephenson and Judge for Yourself.mp3
 cf:downloadstatus=Downloaded//item
 ---
 Title: New Podcast:  Yesterday's Northern Alliance Radio Network
 Enclosure: http://powerlineblog.com/podcasts/Feb111stHourPt1.mp3
 
 itemenclosure
 url=http://powerlineblog.com/podcasts/Feb111stHourPt1.mp3;
 length=19949804 type=audio/mpeg
 xmlns:cf=http://www.microsoft.com/schemas/rss/core/2005;
 cf:path=C:\Documents and Settings\Rogers\Local Settings\Temporary 
 Internet Files\Enclosure\{0C1E2407-FAE4-447F-9054-FB1C7CFE6A86}\New
 Podcast  Yesterday's Northern Alliance Radio Network.mp3
 cf:downloadstatus=Downloaded/enclosure
 url=http://powerlineblog.com/podcasts/Feb111stHourPt2.mp3;
 length=8550404 type=audio/mpeg/enclosure 
 url=http://powerlineblog.com/podcasts/Feb112ndHour.mp3;
 length=15032924 type=audio/mpeg//item
 ---
 Title: Now Podcasting:  The Northern Alliance Radio Network!
 Enclosure: http://powerlineblog.com/podcasts/January21,1stHour.mp3
 
 itemenclosure
 url=http://powerlineblog.com/podcasts/January21,1stHour.mp3;
 length=39923577 type=audio/mpeg
 xmlns:cf=http://www.microsoft.com/schemas/rss/core/2005;
 cf:path=C:\Documents and Settings\Rogers\Local Settings\Temporary 
 Internet Files\Enclosure\{0C1E2407-FAE4-447F-9054-FB1C7CFE6A86}\Now
 Podcasting  The Northern Alliance Radio Network!.mp3
 cf:downloadstatus=Downloaded/enclosure
 url=http://powerlineblog.com/podcasts/January212ndHourPt1.mp3;
 length=14954800 type=audio/mpeg/enclosure 
 url=http://powerlineblog.com/podcasts/January212ndHourPt2.mp3;
 length=12517975 type=audio/mpeg//item
 ---
 
 -- END OUTPUT --
 
 The Feeds API refers to an item enclosure singularly. The only method 
 I found reads a enclosure from an item. When multiple enclosures are 
 present, item.Enclosure() retrieves the first.
 
 An item's xml(1) method produces its contents as XML, with the 
 numeric
 1 argument indicating that Microsoft's common format feed elements, 
 and Simple List Extensions should be included in the output.
 
 The XML output includes the multiple enclosures, in which the 
 cf:downloadstatus element only is present for the first enclosure in 
 each item.
 
 Checking the Temporary Internet Files folder where enclosures are 
 being stored, only the first enclosure in each of the three items is 
 present.
 
 As the Feeds API is presently implemented, publishers of RSS 

RE: Fwd: [rss-public] Microsoft Feeds API Enclosure Test

2006-02-24 Thread Sean Lyndersay

Thanks James,

There's a general comment about normalization that I should address. First, 
normalization is something we have to do -- every aggregator on the planet has 
a native format that they work with, and they convert to that format before 
doing anything else. In our case, since we're developing a platform as well, we 
make that normalized format available to any user of the platform. We also 
provide a object model over the normalized feed.

The primary reason for providing XML is that some developers find it easier to 
build applications using XML+XSL/XPath, rather than using an object model. The 
other major reason is to enable access to any elements that we don't natively 
support (i.e. most extensions) in the object model. To make this easier, we 
provide access to normalized XML version of the entire feed, or a fragment that 
represents a single item. 

Giving the original format to the developer is of questionable value since that 
makes the developer have to do all the work of learning 4 different feed 
formats just to get the data they need. For this reason, we kept the normalized 
format as close the most commonly used format (RSS 2.0) as possible, with 
extensions where necessary to keep the spirit of the Atom 1.0 format intact. 

Obviously, we have some bugs still, as you've pointed out, which we'll address 
for the next Beta.

I'm sure that many people -- on this list in particular -- think that the right 
thing to do is to normalize to Atom 1.0, instead. Yep, that's certainly one way 
to think about it. But then I'd be having this same discussion with Dave and 
with folks on rss-public. :) In short, I'd rather avoid the issue altogether 
and provide some value to the developers who are using the platform -- which 
means preventing them from having to learn several different formats to get 
common data, while allowing them to get access to extensions.

Addressing your post's issues in order: 

#1. We make no active effort to re-order the items in the feed. By default, 
they should end up being ordered by the date elements in the feed. As you 
noted, neither Atom nor RSS 2.0/1.0 require that order be respected. 

#2. Stripping out extensions. This is a bug we'll address.

#3. Invalid Atom. This is a bug we'll address.

#4. We'll look into addressing this with a namespace. 


Thanks for the detailed post and comments. If you have any other questions, 
just let me know.
Sean

-Original Message-
From: James M Snell [mailto:[EMAIL PROTECTED] 
Sent: Friday, February 24, 2006 2:39 PM
To: Sean Lyndersay
Cc: Atom Syntax
Subject: Re: Fwd: [rss-public] Microsoft Feeds API Enclosure Test

Thanks for the heads up on this.  Check my blog[1] for a few comments

[1] http://www.snellspace.com/wp/?p=268

- James

Sean Lyndersay wrote:
 
 The normalized XML that you're seeing in View Source is also accessible from 
 the feed APIs, so the XML we generate is a format we expect to support in 
 perpetuity. 
 
 It's designed to be a relatively simple format that application developers 
 can rely on in the same way that they rely on APIs in the object model, so we 
 map all common elements from other formats into RSS 2.0 (the basis for our 
 native format). Why RSS 2.0? Because it's the format used by the majority of 
 feeds on the web. Since this is an internal format between the platform and 
 its clients, it theoretically doesn't matter what we chose as long as there's 
 no data loss (and as long as we document it -- which we're in the process of 
 doing). In the Atom case, in particular, we occasionally need to bring Atom 
 elements through as RSS 2.0 extensions. 
 
 Any case of data-loss is a bug that we'll address (that's the point of a Beta 
 :). If you have cases of sites where there is data-loss, you can either send 
 it me, send it to [EMAIL PROTECTED] or post to the feedback wiki where we're 
 tracking feeds that we're not handling correctly [1].
 
 I'm in the process of publishing the documentation for how the Windows RSS 
 Platform handles each feed format on our blog [2].
 
 If someone does have a particularly complex Atom feed, we'd love to use it 
 for our own testing to make sure we're handling all of the Atom-specific data 
 correctly, so just send me a link.
 
 As a general statement, if you have question about what IE7/Windows is or is 
 not doing with feeds, just drop me a line. 
 
 Thanks,
 
 Sean
 
  [1] 
 http://channel9.msdn.com/wiki/default.aspx/Channel9.InternetExplorerFe
 edIssues
  [2] http://blogs.msdn.com/rssteam
 
 
 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of David Powell
 Sent: Thursday, February 23, 2006 7:29 AM
 To: A. Pagaltzis
 Cc: Atom Syntax
 Subject: Re: Fwd: [rss-public] Microsoft Feeds API Enclosure Test
 
 
 
 Thursday, February 23, 2006, 6:37:50 AM, you wrote:
 
 Does someone who has access to an MSFT system care to take a look at 
 this?
 
 I have been playing with IE7, and it is interesting to see what

RE: [rss-public] Microsoft Feeds API Enclosure Test

2006-02-24 Thread Sean Lyndersay

Yes, I agree that failure to model Atom 1.0 feeds accurately is a bug, though 
as Paul Hoffman pointed out off-list, there is at least one scenario where we 
will fail to do this (at least for this release), which is signed entries.

So, a more accurate way to state it, would be that, given the choice to 
normalize to RSS 2.0, we will do everything we can to ensure that the 
information publisher's puts in the feed is available to developers using the 
API. 

For what it's worth, there will be updates to this API over time, so it is 
possible that we will have an API that makes the content available in Atom 
format, as well (or in the native format, though that's harder because it 
requires that we persist the original XML). This feedback is all extremely 
useful in helping us figure out what the right thing to do is.

Thanks,
Sean


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Friday, February 24, 2006 4:02 PM
To: Sean Lyndersay
Cc: James M Snell; Atom Syntax
Subject: Re: [rss-public] Microsoft Feeds API Enclosure Test

On Feb 24, 2006, at 3:05 PM, Sean Lyndersay wrote:

 I'm sure that many people -- on this list in particular -- think that 
 the right thing to do is to normalize to Atom 1.0, instead.
 Yep, that's certainly one way to think about it. But then I'd be 
 having this same discussion with Dave and with folks on rss- public. 
 :) In short, I'd rather avoid the issue altogether and provide some 
 value to the developers who are using the platform -- which means 
 preventing them from having to learn several different formats to get 
 common data, while allowing them to get access to extensions.

Given that Atom 1.0, in practice, is a clean superset of RSS 2.0 (there are 
things in RSS 2.0 that aren't in Atom, but they are typically not used; see 
http://www.tbray.org/atom/RSS-and-Atom), the only one that's been through a 
formal standardization process, and the only that's guaranteed not to change 
(see IETF rules) this feels a little weird.  But it's your API.

I will say, though, that there are already a lot of Atom 1.0 feeds and there 
are going to be more, so it does seem like a basic requirement that your 
interface be able to model Atom 1.0 accurately without data loss.  I assume you 
agree that a failure to do this would be a bug. -Tim




RE: Fwd: [rss-public] Microsoft Feeds API Enclosure Test

2006-02-24 Thread Sean Lyndersay


As an format that is not intended for publishing on the web, but which is 
really a contract between the platform and the clients of the platform, the 
native format we use is not really required to be pure RSS 2.0. As I said, we 
use RSS 2.0 as the basis for the native format to leverage developers 
understanding of that format. I don't think that the addition of a single 
attribute to an element quite invalidates the entire premise, but if it really 
upsets everyone, we can put it in a namespace.

Obviously, the further off the beaten path you get from typical feeds, the less 
like a pure RSS 2.0 feed it will look. 

Especially in the case of Atom 1.0, we detect various cases that aren't 
supported by RSS 2.0, and model them as extensions. Binary content is an 
example where we'll include the entire atom element as an RSS 2.0 extension in 
the feed. 

Since RFC 822 doesn't support sub-second times, we'll truncate those in the XML 
we return, but the sub-second times is available via the object model, if an 
application needs it.

Right now, we don't support multiple enclosures, so representing it in the XML 
isn't an issue. When we do - in a future release - we could include multiple 
enclosure elements in the XML, or create an extension (or leverage the Yahoo 
Media RSS extensions). 

At the end of the day, I'll readily admit that complex Atom 1.0 feeds won't 
look pretty in RSS 2.0+Atom-extensions. That said, the vast majority of all 
Atom feeds on the Internet today convert to RSS 2.0 with zero issues. 

I'll repeat what I said in a different response: This isn't the end of the API 
set, and this feedback is useful to figuring out what needs to happen for the 
next version. 

Thanks,
Sean 

-Original Message-
From: Sam Ruby [mailto:[EMAIL PROTECTED] 
Sent: Friday, February 24, 2006 5:32 PM
To: Sean Lyndersay
Cc: Atom Syntax
Subject: Re: Fwd: [rss-public] Microsoft Feeds API Enclosure Test

Sean Lyndersay wrote:
 
 The normalized XML that you're seeing in View Source is also 
 accessible from the feed APIs, so the XML we generate is a format we 
 expect to support in perpetuity.
 
 It's designed to be a relatively simple format that application 
 developers can rely on in the same way that they rely on APIs in the 
 object model, so we map all common elements from other formats into 
 RSS 2.0 (the basis for our native format). Why RSS 2.0? Because it's 
 the format used by the majority of feeds on the web.

From reports I have seen, you are doing things like adding type attributes on 
the description element?  If so, it isn't RSS 2.0.

How do you plan to handle multiple enclosures?

How about HTML in titles?

On Feed-Tech I saw a post by Phil Stanhope indicating the importance of 
sub-second times in certain scenarios.  How will this be expressed in RFC 822 
format?

How about content that is in a binary format?

I can go on...

 Any case of data-loss is a bug that we'll address

If that is a blanket statement, then I expect that you will be seeing a lot of 
bug reports.

- Sam Ruby



RE: finishing autodiscovery, like now

2006-01-24 Thread Sean Lyndersay

On Jan 19, 2006, at 9:05 AM, Robert Sayre wrote:
 The spec is extremely 
 well-written [...].

Heartily concur.

On Jan 24, 2006, at 10:09 AM, Tim Bray wrote:
 +1.  Ship it.  -Tim

+1. 


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tim Bray
Sent: Tuesday, January 24, 2006 10:09 AM
To: Robert Sayre
Cc: Atom Syntax; Phil Ringnalda; Mark Pilgrim
Subject: Re: finishing autodiscovery, like now



On Jan 19, 2006, at 9:05 AM, Robert Sayre wrote:


 PaceAnchorSupport and PaceDifferentRelValue don't seem very useful, 
 and they weren't proposed by implementors. The spec is extremely 
 well-written and reflects existing behavior.

 Can we please un-expire this:
 http://philringnalda.com/rfc/draft-ietf-atompub-autodiscovery-01.html

 and be done?

+1.  Ship it.  -Tim


 --

 Robert Sayre

 I would have written a shorter letter, but I did not have the time.