User-Centered URL Design
Great article on a usability aspect often overlooked. -m
(skip)
05/01/2002 - 05/31/2002 06/01/2002 - 06/30/2002 07/01/2002 - 07/31/2002 08/01/2002 - 08/31/2002 09/01/2002 - 09/30/2002 10/01/2002 - 10/31/2002 11/01/2002 - 11/30/2002 12/01/2002 - 12/31/2002 01/01/2003 - 01/31/2003 02/01/2003 - 02/28/2003 03/01/2003 - 03/31/2003 04/01/2003 - 04/30/2003 05/01/2003 - 05/31/2003 06/01/2003 - 06/30/2003 07/01/2003 - 07/31/2003 08/01/2003 - 08/31/2003 09/01/2003 - 09/30/2003 10/01/2003 - 10/31/2003 11/01/2003 - 11/30/2003 12/01/2003 - 12/31/2003 01/01/2004 - 01/31/2004 02/01/2004 - 02/29/2004 03/01/2004 - 03/31/2004 04/01/2004 - 04/30/2004
User-Centered URL Design
Great article on a usability aspect often overlooked. -m
--> achilles (achilles@thinkgreek.com) has joined #xmldiscuss
--> tortoise (tortoise@lewiscarroll.info) has joined #xmldiscuss
tortoise>Good day, Mr. A.
achilles>Why, same to you friend.
tortoise>The Web sure makes our frequent conversations easier. In fact, the web is the most successful communication medium in history.
achilles>Indeed. But is IRC truly part of the Web?
tortoise>Of course. I can imagine a web resource that acts as an IRC gateway, so it naturally follows that IRC is a linked part of the Web.
achilles>How curious that you should mention linking, Mr. T. I was just writing my new web page about Zeno, which includes a link to http://www.shu.edu/projects/reals/numser/answers/zeno.html. I was pleasantly suprised by how easy it is to create links with XHTML 2.0. I simply put an 'href' attribute anywhere I please.
* tortoise scratches head
tortoise>Why, might I ask, don't you use XLink?
achilles>XLink? I didn't see anything in the XHTML 2.0 spec mention XLink. That's not even designed for things like XHTML, is it?
tortoise>Well, according to the spec, which I just happen to have here, """[Definition: An XLink link is an explicit relationship between resources or portions of resources.]"""
achilles>My, that seems rather broad. Ah yes, I seem to remember now, that same document also says: """XLink does not support all HTML linking constructs as they stand""". Quite a pity. I wonder how that came to be?
tortoise>What's the point in wondering? XLink is a W3C Recommendation. As a matter of policy, all later specifications ought to be forced to use it.
achilles>Unconditionally?
tortoise>Certainly.
achilles>I learn many new things from you, Mr. T., and this might be another one of them, but how can you say than when SMIL 2.0, XSL 1.0, and even XML Schema have since come out with non-XLink links?
tortoise>Oh come now, don't be a heel, Achilles. There wasn't enough time after XLink 1.0 for SMIL and XSL to adopt it. And XML Schema came out _before_ XLink. What's more, XHTML 2.0 is breaking backwards compatibility, so I can't imagine any excuse for them not to use XLink.
achilles>Fair enough. But what your are talking about is a unilateral REQUIREMENT to be placed on all W3C Working Groups.
tortoise>Absolutely. This is the W3C, not a democracy.
achilles>Speaking of requirements, what ever happened to B2?
tortoise>B2?
achilles>Yes, I have a requirements document up on my screen now. It's http://www.w3.org/TR/1999/NOTE-xlink-req-19990224/#syntax. Under B. Mechanical and syntactic requirements, bullet 2, it says: """It must be possible to apply XML link semantics to existing documents by modifying the documents' DTDs only, requiring no modification to the document instances themselves."""
tortoise>They are to be commended for writing such a clear, direct requirement statement.
achilles>There's more: """For example by supplying appropriate information in an element's definition (in the DTD), such as a default ROLE attribute. This provides for layering of XML link semantics onto large bodies of XML documents without requiring modification of those documents."""
achilles>So, what ever happended to B2?
tortoise>Clearly, XLink failed to meet that requirement. Nobody's perfect.
achilles>But if XLink had trouble meeting that requirement, what's to say that another Working Group won't have trouble meeting the requirement to use XLink?
tortoise>That's besides the point, my Grecian friend.
achilles>Yes, I suppose. I can always rely on HLink to express my links. That seems to remove the need for having XLink.
tortoise>Oh, dear. That seems rather Byzantine. I still maintain that there is no concievable reason, save for some W3C internal schism perhaps, why XHTML shouldn't use XLink.
achilles>It is rather draconian to be limited to one link locator, with a fixed name, per single element, especially in these times of modular language design. One fellow makes a pretty convincing case along these lines at http://lists.w3.org/Archives/Public/www-forms/2002Sep/0210.html.
achilles>In that message, he describes a case where a combined 'host language' ends up with a single <script> element with separate attributes bearing links to content, a security descriptor, and a privacy descriptor.
tortoise>That's just bad markup design.
achilles>?!
tortoise> That's exactly what extended links are for. The only reason that syntax is unpopular is because a browser vendor from the Northwest U.S. hasn't implemented it.
achilles>Hmmm. Perhaps you are right yet again. Let me sketch out what the element would look like as an extended link:
<secureScript xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="extended">
<resource xlink:href="/security/pref1.xsp"
xlink:type="locator" xlink:label="security"
xlink:role="http://example.org/security">
<resource xlink:href="/scripts/pop"
xlink:type="locator" xlink:label="script"
xlink:role="whatever" />
<resource xlink:type="resource" xlink:label="here"/>
<arc xlink:type="arc" xlink:from="here" xlink:to="script"
xlink:show="embed" xlink:actuate="onLoad" />
<arc xlink:type="arc" xlink:from="here" xlink:to="security"
xlink:show="embed" xlink:actuate="onLoad" />
</secureScript>
<secureScript xmlns:xlink="http://www.w3.org/1999/xlink">
<resource xlink:href="/security/pref1.xsp">
<resource xlink:href="/scripts/pop">
</secureScript>
<secureScript xmlns:xlink="http://www.w3.org/1999/xlink">
<resource xlink:href="/security/pref1.xsp">
<resource xlink:href="/scripts/pop">
<local/>
</secureScript>
<script src="/scripts/pop" xsec:prefs="/sec/prefs1.xsp"/>
Creating Applications with Mozilla
Complete text online. -m
HLink as CSS, <meta>, and RDF
HLink is a language for describing links. Other W3C technologies already have the purpose of describing things, so it's interesting to experiment with what that language would look like implemented in other languages.
Defining <img/> in XHTML
HLink: (This is an example from the official specification)
<hlink namespace="http://www.w3.org/1999/xhtml"
element="img"
locator="@src"
effect="embed"
actuate="onLoad"
onFailure="warn"/>
<hlink namespace="http://www.w3.org/1999/xhtml"
element="img"
locator="@longdesc"
effect="new"
actuate="onRequestSecondary"/>
<hlink namespace="http://www.w3.org/1999/xhtml"
element="img"
locator="@usemap"
effect="map"
actuate="onLoad"/>
img {
arc-define: {
locator: attr(src);
effect: embed;
actuate: onLoad;
onFailure: warn;
}
arc-define: {
locator: attr(longdesc);
effect: new;
actuate: onRequestSecondary;
}
arc-define: {
locator: attr(usemap);
effect: map;
actuate: onLoad;
}
}
<meta about="http://www.w3.org/1999/xhtml/elements#img" property="hlink:arc">
<meta property="hlink:locator>@src</meta>
<meta property="hlink:effect>embed</meta>
<meta property="hlink:actuate>onLoad</meta>
<meta property="hlink:onFailure>warn</meta>
</meta>
<meta about="http://www.w3.org/1999/xhtml/elements#img" property="hlink:arc">
<meta property="hlink:locator>@longdesc</meta>
<meta property="hlink:effect>new</meta>
<meta property="hlink:actuate>onRequestSecondary</meta>
</meta>
<meta about="http://www.w3.org/1999/xhtml/elements#img" property="hlink:arc">
<meta property="hlink:locator>@usemap</meta>
<meta property="hlink:effect>map</meta>
<meta property="hlink:actuate>onLoad</meta>
</meta>
<rdf:RDF
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:hlink="http://www.w3.org/2002/url_for_rdflink#"
>
<rdf:Description rdf:about="http://www.w3.org/1999/xhtml/rdflink#img">
<hlink:arc rdf:parseType="Resource">
<hlink:locator>@src</hlink:locator>
<hlink:effect>embed</hlink:effect>
<hlink:actuate>onLoad</hlink:actuate>
<hlink:onFailure>warn</hlink:onFailure>
</hlink:arc>
<hlink:arc rdf:parseType="Resource">
<hlink:locator>@longdesc</hlink:locator>
<hlink:effect>new</hlink:effect>
<hlink:actuate>onRequestSecondary</hlink:actuate>
</hlink:arc>
<hlink:arc rdf:parseType="Resource">
<hlink:locator>@usemap</hlink:locator>
<hlink:effect>map</hlink:effect>
<hlink:actuate>onLoad</hlink:actuate>
</hlink:arc>
</rdf:Description>
</rdf:RDF>
Today's links:
The Recording Industry is Trying to Kill the Goose That Lays the Golden Egg by Dan Bricklin
99.9% of Websites Are Obsolete by Jeffrey Zeldman
-m
Next week: face to face meeting. Yes, all week. Limited net access. -m
Chapter 7, on XML Events and XForms Actions uploaded. -m
XForms a Huge Step Forward for Web Forms
eWeek's Timothy Dyck takes a look at XForms and likes what he sees. -m
Check out my xml.com article: What's Next for HTML? -m
A nice summary of How to write standards-compatible web pages. And it's not even any harder than playing browser favorites. -m
Fragment identifiers for text/plain.
Update: I wrote up a similar idea, except that is works without any parenthesis (bare fragments), and thus can be useful for content-negotiated resources. Unfortunately, it's still only on paper. -m
Find out using the DuCharme method.
mdubinko@yahoo.com
For external use only. I doubt the enforcability of click-through licenses anyway. Copyright 2003 Micah Dubinko. All rights reserved.