- From: Graham Klyne <gk@ninebynine.org>
- Date: Thu, 09 Sep 2004 12:45:10 +0100
- To: public-webarch-comments@w3.org
With reference to: [1] http://www.w3.org/TR/2004/WD-webarch-20040816/ It is with some misgiving that I raise this, but based on my reading of sections 1 and 2 I can't avoid the feeling that section 2 of the document [1] is losing its focus. Below, I'll highlight some specific areas that I feel are problematic, but more generally there seems to be a degree of attention to design details that is obscuring the underlying architectural ideas. Early in my involvement with Web technology, I found selected notes in TimBL's DesignIssues [2] series to be extremely helpful in pinpointing key concepts around which the WWW was constructed; it was, and remains, my expectation that the AWWW effort is intended to perform that function in a more formally authoritative fashion. I feel the section 2 is less clear about the fundamentals than TimBL's original notes [3][4] etc. [2] http://www.w3.org/DesignIssues/Overview.html [3] http://www.w3.org/DesignIssues/Model.html [4] http://www.w3.org/DesignIssues/Axioms.html Actually, I think section 1 makes a pretty good approach to the presumed goal, but section 2 doesn't quite follow through. Personally, I'd like to see section 2 radically pruned so that the important architectural issues come through more clearly. I think a deal of the detailed expository material could usefully be relegated to the (referenced) TAG finding documents. Taken individually, my comments here are all minor editorial issues, with barely any technical substance. It is their cumulative effect that is the thrust of this message. So much for the waffle... ... General (nits) I notice there's some inconsistency about the way that section cross-references are presented. Sometimes they are hyperlinked section names, and sometimes they also include section numbers. For people who are reading paper documents, I think that section numbers should be included (isn't there an accessibility principle here?). I also notice some inconsistency regarding use of URI vs URIs for the plural of URI, even between adjacent paragraphs in a section (e.g. section 2.3, paras 1 and 2). ... Section 1.1.1: [[ Readers will benefit from familiarity with the Requests for Comments (RFC) series from the IETF, some of which define pieces of the architecture discussed in this document. ]] This isn't very helpful. The RFC series consists of nearly 4000 documents, most of which have very little to do with the web. Suggest: drop this para or indicate some specific RFCs. ===== SECTION 1 ... Section 1.1.3, introduction of "Principle" I feel this term is being introduced to mean two related but quite different things, which I might describe as: principle-as-exhortation: something designers should strive to achieve and principle-as-expectation: something that is observed or claimed to occur e.g. "separation of concerns" is a case of the former, but "network effect" is the latter. Given the goal of the AWWW document (which I take to be to set out fundamental design choices that make the web what it is or is desired to be), I think that it would be appropriate for discussion "principles" to focus on the former. (Principles as expectations are subsidiary here, in that they may be used to justify the principle design choices; e.g. "network effect" is part of the justification for "avoiding URI aliases") Maybe it is intended that "Constraints" and "Practices" will cover what I call "principle-as-exhortation", and that "Principle" is intended to be "principle-as-expectation". In which case I think the description is unclear. ... Section 1.1.3, introduction of "Constraint" This comes over a bit unfocused; I think the important statement is rather buried in the middle of the paragraph: "Other design choices are more fundamental; these are the focus of this document.". In this context, I take this to mean that constraints introduced by this document are such fundmeantals. Suggest re-working (mainly re-ordering): [[ Constraint Constraints are fundamental design choices, imposed to achieve certain technical, policy, or other goals, such as accessibility and global scope, ease of evolution, re-usability of components, efficiency, and dynamic extensibility. (In the design of the Web, there are also lesser design choices, like the names of the p and li elements in HTML, the choice of the colon (:) character in URIs, or grouping bits into eight-bit units (octets), are somewhat arbitrary; if paragraph had been chosen instead of p or asterisk (*) instead of colon, the large-scale result would, most likely, have been the same.) ]] ====== SECTION 2 ... I think that something like this should be stated clearly toward the start of section 2 (either at the end of 2.0, or as the beginning of 2.1): [[ URIs are a cornerstone of Web architecture, providing identification that is common across the Web. ]] (This may be obvious to us here, but it's sufficiently fundamental that it bears stating (even restarting) very clearly. It seems to me this should be an unmistakable message of AWWW.) ... Section 2.1, 1st para: [[ ... ([URI], currently being revised) ... ]] I think the "currently being revised" is spurious, transitory and should be dropped. ... Section 2.1, general: I think the key message here doesn't really get stated until the final sentence: "... there are substantial costs to creating a new identification system that has the same properties as URIs". The thrust of the Good Practice here, then, would seem to be that one should use URIs rather than other systems of identification: this isn't immediately clear from the Good Practice statement. I'd be inclined to *start* this section with the Good Practice statement. ... Section 2.2, general: As far as I can tell, the key message is stated early on in the Constraint "URIs identify a single resource" -- I think that is good. The section then goes on to expand on this and a number of loosely related topics that don't clearly add to this. Section 2.2.1 seems to be about the design of specific URI schemes, a topic which I think would be better dealt with elsewhere (e.g. in a TAG finding or URI-related specification). Section 2.2.2 seems to be a further elaboration of the basic constraint, and I think should at least be nearby: as presented, it seems to be a distinct matter. It also seems to relate closely to the material in section 2.3.1. I don't see the nub of what section 2.2.3 is trying to say, and feel it could be elided without any material loss; if there's a fundamental issue here that needs to be stated in this architecture document, I think it needs to be stated more clearly. (I think there are allusions here to techniques like "Reference by Description", but I think there are just that: available techniques, not architectural constraints.) If anything, this section seems to be blessing techniques like identifying people with their mailto: URIs, which I think is contradictory with the previous section and could be a source of confusion. ... Section 2.2.2.1, para 3: This paragraph gave me a really hard time. I can only guess at what it's trying to say, so it's difficult to offer an alternative. The most problematic clause for me was: "... over a set of URIs with a common prefix to one particular owner". ... Section 2.2.2, final para: "The section below ..." should be "The section above ...". ... Section 2.3, general: I feel there is a lot of duplication here with RFC2396bis [5], which has extensive discussion of URI comparison. This seems like detail rather than architectural principle to me, and could reasonably be left for that specification to address. [5] http://www.ietf.org/internet-drafts/draft-fielding-uri-rfc2396bis-06.txt http://gbiv.com/protocols/uri/rev-2002/rfc2396bis.html ... Section 2.3, para 2: [[ ... For example, for "http" URIs, the authority component (the part after "//" and before the next "/") is defined to be case-insensitive. ... ]] Is this really true or what is intended, for authority components that contain usernames and/or passwords? Note that RFC2396bis refers to *host*, not authority for this: [[ 6.2.2.1 Case Normalization When a URI scheme uses components of the generic syntax, it will also use the common syntax equivalence rules, namely that the scheme and ***host*** are case-insensitive and therefore should be normalized to lowercase. For example, the URI <HTTP://www.EXAMPLE.com/> is equivalent to <http://www.example.com/>. Applications should not assume anything about the case sensitivity of other URI components, since that is dependent on the implementation used to handle a dereference. ]] -- http://gbiv.com/protocols/uri/rev-2002/rfc2396bis.html#normalize-case (My emphasis added as ***...***) ... Section 2.3.1, para 1: I don't know what is meant by "(the network neighborhood of the measured resource)" in this context. ... Section 2.3.1, general: Reading the 1st paragraph of this section, I could get the impression that the main reason that URI aliases are not a good thing is because they act to depress a resource's Google page ranking. I think this obscures the deeper reason, which I take to be that it damages reachability of referring resources (i.e. the 2nd order relatiobships mentioned in para 2). Suggest: remove final sentence of 1st paragraph. ... Section 2.4.1, 3rd bullet: [[ * One should not expect that general-purpose software will do anything useful with URIs of this scheme beyond URI comparison; the network effect is lost. ]] The assertion "the network effect is lost" and/or debatable. A minimal change would be "the network effect is diminished", though I'd be more inclined to drop that qualification altogether. ... Section 2.5, Good Practice point: I found the point, as stated, seemed rather vague (specifically: "except as specified by relevant specifications"). My suggestion would be turn this around to state something like this: [[ The form of URI may indicate how to access a resource, but not about the nature of the resource, except insofar as it is constrained by the access method. ]] ... Section 2.6, Story: I felt the example used in the story here was potentially confusing, as elsewhere this document suggests tommorrow's weather is a distinct resource and should be identified by a different URI (section 2.3.2). Also, the story states that the representation is XHTML, for which the representation of the secondary resource indicated by a fragment identifier specifically has a representation that is part opf the primary resource's representation. This is an area where I feel that TimBLs original notes [3] are much clearer, albeit somewhat limited to the resource retrieval case. [3] http://www.w3.org/DesignIssues/Model.html Maybe a better example might be to talk about weather maps (without reference to a specific format), for which secondary resources might be isobaric vs isothermic vs comic-book sun-and-clouds representations (e.g. bit like the map tabs at http://www.bbc.co.uk/weather/ukweather/, but using fragment identifiers)? ... Section 2.7 I felt that sub-section 2.7.1 didn't really say anything architectural, and suggest dropping this, promoting 2.7.1 to be the entire content of 2.7. ... That's all I've time for right now. I'll try and do some more later. #g ------------ Graham Klyne For email: http://www.ninebynine.org/#Contact
Received on Thursday, 9 September 2004 11:47:26 UTC