Subject: RE: Published extensibility Paces

From: "David Orchard" <[email-masked]>
Date: Thu, 11 Nov 2004 13:44:03 -0800

Well, of course PDF, Office, Wordperfect don't have the notion of
mandatory extensions.  They want sole control over their formats AND the
processing software.  They want to be the gatekeepers for any future
incompatible changes or versions.  

I don't think you are really suggesting that Atom should be run the same
way that PDF is run from a distributed extensibility and versioning
perspective.  Atom can enable fully functional distributed extensibility
and versioning for it's community, as opposed to being the centralized
authority for mandatory extensions.

Dave

> -----Original Message-----
> From: [email-masked] [mailto:owner-atom-
> [email-masked]] On Behalf Of Walter Underwood
> Sent: Thursday, November 11, 2004 11:42 AM
> To: Atom WG
> Subject: Re: Published extensibility Paces
> 
> 
> About "must understand":
> 
> --On Thursday, November 11, 2004 11:01 AM -0800 Tim Bray
> <[email-masked]> wrote:
> >
> > Questions for Joe:
> > 1. Why do you think this is hard to implement?
> > 2. Assuming I can persuade you that it's cheap, would you be OK with
it
> > even given the lack of use in SOAP?
> 
> Speaking as "Joe for a day": We parse no formats with compulsory
> extensions. It just doesn't exist for PDF, MS Office, OpenOffice,
> WordPerfect, whatever. You want to change it, you rev the version.
> 
> Implementing this require a new result from parsing: it is a legal
> document, but we are not allowed to tell you what is in it.
> 
> Feeds are in a funny place between API and document. But I think
> they are more document than API. APIs have "must understand", but
> documents don't.
> 
> What does a search engine do when faced with a "must understand"
> element? Throw away the whole thing and log it? Ignore the spec
> and salvage what we can? Which one results in fewer support calls?
> 
> wunder
> --
> Walter Underwood
> Principal Architect, Verity

---

From: Walter Underwood <[email-masked]>
Date: Thu, 11 Nov 2004 13:49:15 -0800

I was answering the question "how hard would it be to implement".
The answer is, it is an Atom-specific thing, which isn't required
for any other format. Therefore, it is more work.

wunder

---

From: Graham <[email-masked]>
Date: Thu, 11 Nov 2004 22:53:57 +0000

On 11 Nov 2004, at 9:44 pm, David Orchard wrote:

> mandatory extensions.

Since when did Atom? I've been following this list since the start and 
I have no idea what you might be talking about.

mandatory = required = not optional
extension = optional = not required

I ask, once again, what the bloody hell is a mandatory extension?

Graham

---

From: Tim Bray <[email-masked]>
Date: Thu, 11 Nov 2004 15:13:38 -0800

> I ask, once again, what the bloody hell is a mandatory extension?

One in a namespace which is listed in the atom:must-understand element. 
  Since we don't currently have must-understand in the draft, there is 
no such thing. -Tim

---

From: Sam Ruby <[email-masked]>
Date: Thu, 11 Nov 2004 18:22:52 -0500

Graham wrote:

> Since when did Atom? I've been following this list since the start and I 
> have no idea what you might be talking about.
> 

Extension = optional is the invalid assumption in the equations above.

An example of a mustUnderstand header from SOAP would be an encryption 
header.  If you don't undertstand this header, there is no reason to 
even attempt to parse the body, as it would not make sense to you anyway.

Whether there every have been a need for such things in syndication land 
(or, alternately, whether we can confidently state that they will never 
be a need for such a thing) is a separate question.

- Sam Ruby

---

From: Graham <[email-masked]>
Date: Thu, 11 Nov 2004 23:32:32 +0000

On 11 Nov 2004, at 11:13 pm, Tim Bray wrote:

> One in a namespace which is listed in the atom:must-understand 
> element.  Since we don't currently have must-understand in the draft, 
> there is no such thing. -Tim

Dave: Mandatory extensions beget atom:must-understand
Tim: atom:must-understand begets mandatory extensions

I have decided that Shrook understands all possible extensions but is 
consciously choosing not to display whatever they might contain. Thus I 
don't have to implement any of this nonsense.

Graham

---

From: Danny Ayers <[email-masked]>
Date: Fri, 12 Nov 2004 11:38:49 +0100

> be a need for such a thing) is a separate question.

Personally I don't see a real demand need for mU-style mandatory
extensions in general in Atom, but they may be the best option for
versioning.

In the current syndication landscape, RSS 2.0 extensions are few and
far between. The "Missing isn't broken" [1] philosophy works well for
RSS 1.0 extensions - applications can understand as much or as little
of them as they want.

I'll pass on lessons learnt from the Userland approach to versioning,
but note that RSS 0.9 and RSS 1.0 are compatible at the RDF level, and
their versioning/interpretation could be dealt with in a globally
meaningful manner in a handful of OWL statements.

What may be useful from the RSS 1.0 approach is that multiple versions
of the vocabulary can be used together without any need for
redefinition. Consider this:

<atom:feed xmlns:atom="http://atom.now.org/"
xmlns:atom11="http://atom.future.org/">
    <atom:updated>2004-11-11</atom:updated> 
    <atom11:modified>2004-11-12</atom11:modified>
...
</atom:feed>
  
Cheers,
Danny.

[1] http://rdfweb.org/mt/foaflog/archives/000047.html

-- 

http://dannyayers.com

---

From: Walter Underwood <[email-masked]>
Date: Fri, 12 Nov 2004 09:23:11 -0800

> don't have to implement any of this nonsense.

Extensions might not be separate displayable things. Maybe it is info
for a micropayment scheme.

In general Shrook would have to implement it, but the implementation
is very simple.

If the doc has MustUnderstand extensions, and the software doesn't
implement all of them, then the software must reject the entire document.
Not just the extensions, the whole thing. Compare it against the local list,
then toss or pass the whole feed.

I'm not arguing for or against MustUnderstand, just trying to keep
this accurate.

wunder
--
Walter Underwood
Principal Architect
Verity Ultraseek

---

From: Graham <[email-masked]>
Date: Fri, 12 Nov 2004 18:55:38 +0000

> for a micropayment scheme.

How would mustUnderstand be used here? If we have at least one concrete 
example on the table, I might start taking this stuff seriously.

> then toss or pass the whole feed.

I will be comparing them against a local list that happens to 
automatically expand to include all encountered extensions.

Graham