Tim Bray wrote:


Speaking as an individual WG member, not as co-chair:

I have just finished reading draft-ietf-atompub-protocol-05.txt and draft-sayre-atompub-protocol-basic-03.txt in some detail.

The ietf..-05 draft is messy and difficult. It has basic concepts defined multiple times in multiple places, uses a lot of chatty and informal prose, uses different markup to label the exact same construct in different documents, and its organization is really confusing (to me at least).

The sayre..-03 draft is simple, clean, well-written and easy to understand. It omits two really significant items from the ietf..05 draft: workspaces and the date/index "listing" facility, and does introspection via the XOXO microformat rather than another XML vocabulary. It entirely omits the discussion of which parts of an atom:entry are writeable, which will probably create angst in the implementer community.

A major omission from both drafts is the pub:control stuff. That's going to be critical for a lot of stuff.

My personal feelings on those deltas:
+1 on losing workspaces. YAGNI (http://xp.c2.com/ YouArentGonnaNeedIt.html).

Hmm. I wouldn't say that having the ability to discover a group of related collections all at once is something we aren't going to need. There are many cases where that may come in quite handy. I would definitely -1 to the way workspaces are currently defined and to any notion that we need nested workspaces. I'm particularly partial to this approach: http://www.intertwingly.net/wiki/pie/PaceSimplifyIntrospection

-1 on losing date/index queries. They're easy to understand, tractable to implement, and add value.

+1, but the mechanism and description of the mechanism could definitely be tweaked a bit.

+0 no opinion on custom-XML vs microformat (real opinion: it will make no difference whatsoever).

True, this could easily turn into a RDF-like permathread thing. Let's just pick the simplest thing that could possibly work and go with it.

I've been giving lots of speeches in recent weeks, and I do a few slides on Atom. I describe the APP in one slide, as follows:

===================

1. Start with a single URI, get the “Introspection Document”, find pointers to Entry and Media collections (HTTP GET).
2. List collections by date/index (GET).
3. Post pictures, podcasts, or other multimedia (POST), get back their URIs.
4. Create a new entry (POST), get back its URI.
5. Replace an entry (PUT).
6. Remove an entry (DELETE).

It takes me like 60 seconds to talk through this, the audiences nod and look thoughtful and I can practically hear them thinking "yeah, I could implement that".

I am lie-down-in-the-road -1 on anything going into the protocol which would make this description wrong.

I have a bunch of detailed editorial comments, particularly on ietf.. 05, but on reflection I'll send them to the editors. -Tim





Reply via email to