consumer-producer/pixel-perfection/*the* GRDDL result

Summary:

There is a lot of variability on the Web.
Managing that variability is a head-ache.
That variability is what makes the Web work.

======

Some Web site designers strive after pixel-perfection.
What they want is for their experience of their web site on their 
browser to be pixel-by-pixel identical to the user experience on the 
user's browser.

They just don't get it!

The Web is not a medium, such as print, in which the publisher has 
complete control. The Web is a medium in which the publishing process 
fundamentally involves the consumer:
- the consumer provides the hardware and software that presents the 
information to them
- the consumer gets to choose whether to download images or not
- the consumer gets to choose whether to enable javascript or not
- the consumer gets to choose whether to enable flash or not.
- the consumer gets to choose the security policy used by the user agent.

The publisher has to decide how many consumers that she wishes to reach.
Is it only the desk-top PC, high-band-width user, perhaps only with a 
particular browser setup; or does she wish more users to have an 
appropriate interaction.

If the publisher is happy with a restricted set of consumers, then they 
can specify the requirements, by using various techniques, to present a
"Sorry, you need to install Flash", or "This site is best viewed with 
..." message.

In certain environments, e.g. a corporate intranet, the publisher can 
mandate that the company-approved browser, with company-approved add-ons 
is used.

If the publisher wishes to address a wide class of consumers, the Web 
does not require a dumbing down to say plain-text, which (all/most) user 
agents can handle. Instead, the Web provides graceful degradation. The 
publisher provides Web pages that give acceptable, but different, 
results with a wide class of user agents.

======

Some GRDDL transform designers strive after triple-perfection.
What they want is for the GRDDL results of their web site found by their 
GRDDL aware agent to be triple-by-triple identical to the user GRDDL 
result using the user's GRDDL aware agent.

They just don't get it!

The Semantic Web is not a medium, such as print, in which the publisher 
has complete control. The Semantic Web is a medium in which the 
publishing process fundamentally involves the consumer:
- the consumer provides the hardware and software that presents the 
information to them
- the consumer gets to choose whether to enable XSLT2 or not
- the consumer gets to choose whether to enable XML Validation or not
- the consumer gets to choose whether to enable XInclude or not.
- the consumer gets to choose the security policy used by the GRDDL 
aware agent.

The publisher has to decide how many consumers that she wishes to reach.
Is it only the high-end processor, high-band-width user, perhaps only 
with a particular local policy; or does she wish more users to have an 
appropriate interaction.

If the publisher is happy with a restricted set of consumers, then they 
can specify the requirements, by using various techniques [1], to 
present a "Sorry, you need to enable XML Validation" [2], or "XInclude 
processing must not be performed ..." [3] message.

In certain environments, e.g. a corporate intranet, or a message 
processing pipeline application, the publisher can mandate that the 
company-approved GRDDL aware agent, with company-approved local policy 
is used.

If the publisher wishes to address a wide class of consumers, the 
Semantic Web does not require a dumbing down to say the bytes over the 
wire, which (all/most) GRDDL aware agents can handle. Instead, the 
Semantic Web provides graceful degradation. The publisher provides 
transformations that give acceptable, but different, results with a wide 
class of user agents.


======

Notes:
[1]
The key technique enabled in the GRDDL spec, concentrating on XSLT1 
transforms, since that is where we have experience, is to detect in the 
transform that some required or prohibited preprocessing has or has not 
been performed. In the case where the consumer violates the publisher's 
expectations, the following code is used:
  <xsl:message terminate="yes">Please enable XML validation</xsl:message>

[2]
To detect whether a GRDDL aware agent has XML validation enabled then it 
is necessary to construct a DTD with a #FIXED attribute (with some funky 
name) whose only purpose is to distinguish the two cases. If this 
appears in the document, then validation was enabled (or the document 
author is deliberately lying to the transform).

[3]
One approach, to detect whether or not xinclude processing is enabled, 
is to arrange your publishing so that every document has an xinclude in, 
e.g. including the same fixed empty document. Then the transform can 
match against the xinclude element. If the match succeeds xinclude was 
not performed, if it fails then xinclude was performed.







-- 
Hewlett-Packard Limited
registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England

Received on Friday, 22 June 2007 08:49:20 UTC