May 15, 2008

Messages in a bottle (MSM's blog)

Balisage preliminary program

The Balisage 2008 program committee met this week, and we now have a preliminary program. (As I write, the schedule-at-a-glance isn’t up yet, but it really should be up any moment now.)

We’ve got a good range of topics, with talks on resource-oriented architectures and a framework for managing constraints and how markup relates to the philosophical problem of universals and how to handle overlap in a format that makes good use of the non-overlapping properties of XML. And a parallel algorithm for XML parsing and validation that exploits multiple-core machines, and an XML Exchange for messaging that uses XQuery to route messages, and structural metadata as a socio-technological problem and using the Atom Publishing Protocol to build dynamic applications.

The day before Balisage begins, there will be a one-day symposium on versioning issues, which has also shaped up very nicely. (More on that in another post.)

Great topics, great people (I’ve heard a lot of these speakers, and I know they’re good), and Montreal in August. What more could you want?

So think hard about being in Montreal the week of 11-15 August, for the versioning symposium and for Balisage 2008. I look forward to seeing people there!

by cmsmcq at May 15, 2008 07:10 PM

W3C Q&A Weblog

My Arms Are WAI Too Short

ok. The title is a bit of a stretching. WAI stands for Web Accessibility Initiative. My arms are really becoming too short. I love reading. I have 1h30 of commuting in the morning by train and bus, and the same in the evening. I love this precious time in the train that I use for reading. For the last 6 months, I have an issue. I need to put my book farther and farther from me to have a comfortable reading. Yeah! you can say it, I'm getting old. sigh…

The WAI-AGE project has just published a document explaining the needs of older people with Web accessibility needs due to ageing. There is a lot of information in this report.

Depending on the organizations, an older adult is a person who is 50+, 60+ years old. They are not technophobes. Far to be, I know a few older adult persons in my friends, who spend almost more time than me on the Web, searching for information of any kind.

Web Accessibility for Older Users: A Literature Review is a very good read, easy to understand.

by Karl Dubost at May 15, 2008 11:51 AM

May 14, 2008

W3C Q&A Weblog

SVG + XMPP = whiteboard

A whiteboard is an online shared space where two (or more) distant persons can edit the same document in real time. It creates an instant social interaction around a document.

I have spotted on Ferris at least two projects which are (or in the process of) using a combination of SVG and XMPP for creating whiteboards.

  • Coccinella. The Mats Bengtsson said recently: "The canvas widget in Tcl/Tk is way too limited to use as a basis to implement SVG support on the scripting level. For some time I have therefore developed the tkpath package which adds all needed drawing elements from SVG, see some shots, using the C plug in structure. However, this is too limited for SVG and its underlying XML tree structure."
  • TransVerse. Boyd Fletcher said: "As part of our work on whiteboarding, we have developed a Wildfire plugin that implements multi-user Scalable Vector Graphics (SVG) based whiteboarding over XMPP with full support for multi-user file transfer for binary image transmission."

Niklas has also made a proposal for a protocol for whiteboarding in Jabber using SVG and XMPP.

by Karl Dubost at May 14, 2008 05:33 AM

We, Robots Like Music Too

In R.U.R. (Rossum´s Universal Robots) by Karel Čapek, Dr. Hellman, Psychologist-in-Chief, says:

Dr. Hellman (at door, left) Music is a wonderful thing, you know. You should have been listening. There's something ennobling about it, soothing …

We like it too. The Web has given a unique opportunity for everyone to link data, to share, to reuse and create. BBC is one of my favourite source of news. I like their site and I like their mission statement. Tom Scott (BBC Radio Labs) says in a blog post on helping machines play with programmes.

As part of our work on developing BBC Programmes we have been looking at how we can make the data available for other development teams outside the BBC.

and

We have been following the Linked Data approach - namely thinking of URIs as more than just locations for documents. Instead using them to identify anything, from a particular person to a particular programme. These resources in-turn have representations, which can be machine-processable (through the use of RDF, Microformats, RDFa, etc.), and these representations can hold links towards further web resources, allowing agents to jump from one dataset to another.

He is asking the community for comments around the RDF version of their schedules before publishing them along the other formats. There is also a cool demo which sends you notification of programme start. It should not be too hard to plug that into a Jabber client. In their demo, they are using Growl.

by Karl Dubost at May 14, 2008 04:54 AM

May 13, 2008

MWI Team Blog

Overview and Evaluation of current Mobile Web browsers

A very detailed overview of the strengths and (often many!) limitations of current mobile Web browsers:

Werner Ruotsalainen - Web Browsing on Three Handheld Platforms (Windows Mobile, Symbian, BlackBerry) (covers some Linux as well)

(presented at Hungarian W3C office event last week)

by Philipp Hoschka at May 13, 2008 05:49 AM

May 12, 2008

W3C Q&A Weblog

Improving access to Government through better use of the Web

Seventeeth months ago, the W3C Team started to look into a somewhat new area for W3C, eGovernment. You know, the way in which government agencies, departments and the like are using technology (mainly the Web) to develop services and communicate with their citizenry, the industry and between themselves.

Why? Well, the massive use of Web technology to develop and deploy those services already made the Web a crucial tool for eGovernment.

We have learned quite a number of things so far. Services are getting more and more sophisticated. It's not just that you can get information online or download a form, fill it and walk to a government office in person to give it to a public servant. You can do the whole process online. What is more, in some cases, the "paper" service is even disappearing and users are faced with just its online incarnation.

At this moment in time, is more important than ever to do things well, and Web standards are in the heart of it. In the rest of this post, I review some of the most important challenges we found so far, and what we are proposing to tackle them.

Governments are spending huge amounts of money in building those services but their usage (especially of those availables for citizens) is low. Originally, governments were putting services out there in the same way they've been doing for years. You, as a potential user, need to know what government agency is in charge of a given service in order to be able to find it and use it. This was not working well. Citizens are not aware of the government internal structure. Fortunately, things are changing and governments are putting strong effort in building a citizen-centric experience. This means that they put themselves in the role of their users and try to build what the users expect. Part of this effort are the so called "one-stop stops", government portals where, no matter what agency or department is in charge of a given service, are built in terms a user can understand and make available the whole offer of government services on the Web.

Governments are finding benefits in using open standards, so many W3C standards are used to build those portals and services, and the Web Accessibility Content Guidelines (closer to turn 2.0) are among the most widely known and used. What is more, many are building their own National Guidelines for Public Sector Websites or, more generally, their Open Standards policies on their own.

Going back to the portals. Do you know what the one of your government is? Don't be afraid if not. Most don't. And most of the times the number of services available there are in the several hundreds or well over a thousand ones... Anyway, you try going to a search engine and many times you find the information you are looking for somewhere else or don't find it at all.

Governments are recently putting much effort in engaging users in the use of these online services. The portals are a step in the right direction and another is to put the information where the users are looking for it, on the Web sites they use regularly to find videos, photos, information. This requires more resources and new expertise and new challenges arise. For example, if a government agency puts up a blog and get comments, what should it do with them? What if those comments could eventually improve the information that the government already had about the information exposed? How do the new information compare to the authoritative one that the agency already had in its systems? All good questions, most still unsolved.

This increasing effort in getting the users participating more is also accompanied by a increasing one in getting the most information out there for them, also not without challenges. It's usually very difficult to discriminate from the information the government already has, which one can be made public a which one cannot. In case of doubt, government tends not to release information. It's too risky.

There is a clear need to improve information systems. They need to evolve into smarter ones. On one hand, it's important to annotate the provenance of the data archived there somehow, so other systems could query it and learn for what purpose that data was collected and if it's reusable or not and until what extent. On the other, it's about time to end with information silos and achieve a seamless integration of data. Semantic Web is here to help and there is an increasing number of successful use cases already. And once you are there, why not open your data? I'm sure you are aware of the usefulness of many application mashups, can you imagine what new possibilities government data mashups can open? Maybe the Open Government Data Principles could give you a hint on why this would be a good idea.

Is this all? Of course, it's not. There are other eGovernment challenges out there (identity, security, integrity...) and some are not just government specific but would need a solution somewhere else (e.g. other technical Activities at W3C), but we believe we need to start simple and somewhere, and these are the most important and the ones that came up more often during the exploratory work so far.

We believe that the challenges described here are common to governments all over the World and that a collaborative effort between governments, industry, citizens, academia and other civil societies would have a strong beneficial impact in addressing them.

If you find this interesting, you are welcome to join us in the W3C Australia eGovernment Tour 2008, four talks in three cities in seven days, coming soon to a city nearby (if you are in Australia, that is) and take a look at what we proposed as a next step at W3C and comment on it, the sooner the better.

by José Manuel Alonso at May 12, 2008 11:10 AM

Syntax for ARIA: Cost-benefit analysis

Syntax for ARIA: Cost-benefit analysis

1. Introduction

This analysis is intended to be neutral with respect to ideology, history and constituency. For a useful overview of how we got here, see WAI-ARIA Implementation Concerns (member-only link) by Michael Cooper.

The W3C's WAI PF Working Group recently published the first public working draft of the Accessible Rich Internet Applications (WAI-ARIA) specification, which "describes mappings of user interface controls and navigation to accessibility APIs".

The ARIA spec. defines roles, states and properties to manage the interface between rich web documents and assistive technologies. The primary expression of roles, states and properties in markup languages is via attributes. Since ARIA is meant to augment web applications across a range of languages and user agents, ARIA has to specify how its vocabulary of attributes and values can be integrated into both existing and future languages.

In preparing this analysis, I have reviewed the available concrete evidence bearing on the matter, and have carried out a considerable amount of work to replicate and, in some cases, correct or extend, testing which has been done in the past. The details are available in a report entitled Some test results concerning ARIA attribute syntax.

2. The core issue: How should the ARIA attributes be spelled?

ARIA is useful only if it is widely supported. It therefore needs to integrate cleanly into existing and future languages as easily as possible. Before looking at possible answers to the spelling question, we need to consider exactly what supporting ARIA means.

We can distinguish two levels of support for ARIA on the part of user agents, which I'll call 'passive' and 'active' support. By passive support, I mean that documents with ARIA-conformant markup are not rejected by the agent, and the markup is available in the same way any other markup is, e.g. via a DOM API or for matching by CSS selectors. By 'active' support I mean the user agents actually implement their part of ARIA semantics, that is, reflecting changes to ARIA-defined states and properties via accessibility APIs.

Although already deployed implementations cannot offer active support, an optimal answer to the spelling question would maximise passive support from existing languages, as well as encouraging active support from subsequent implementations.

3. Possible approaches: land-grab, colon or dash

There are in principle three possible approachs to the spelling question:

  • land-grab  Just use 'role' and the names of the properties (e.g. 'checked', 'hidden') as attribute names.
  • colon  Use 'aria:' as a distinguishing prefix, giving e.g. 'aria:role', 'aria:checked' as attribute names.
  • dash  Use 'aria' plus some other punctuation character, e.g. dash, as a distinguishing prefix, giving e.g. 'aria-role', 'aria-checked' as attribute names.

The land-grab approach is pretty clearly unacceptable, because of clashes with existing vocabularies and the likelihood of clashes with future ones, and will not be considered further.

The current ARIA WD specifies a combination of the colon and dash approachs, with the colon being specified for use with XML-based languages, with the necessary additional requirement that 'aria' is bound to the ARIA namespace in the usual way, i.e. xmlns:aria="http://www.w3.org/2005/07/aaa", and the dash approach being specified for use with non-XML languages. We'll call this the mixed approach hereafter.

My understanding is that as of the date of this note, the WAI PF working group have indicated that their intention is that the next draft of the ARIA specs will move to the dash appropach.

4. The status quo: languages and implementations

Choosing an approach is made complicated by the landscape of language and infrastructure standards it has to fit in to, and by the fact that these are moving targets. We therefor have to distinguish between what is currently in place, what we have reason to expect in the near future, and what we can foresee in the longer term. Furthermore, for existing languages we have two categories: XML-based languages, with more or less explict provision for extensibility in general, typically namespace-based, and non-XML languages, which for the purposes of this analysis we will take to be HTML 4.01 and nothing else.

As noted above, the best we can expect from deployed user agents is passive support. The table below sets out the extent of passive support which is available for the colon and dash approaches for each of three host languages, which exemplify the major relevant categories: HTML 4.01 (for the non-XML languages), XHTML (an XML language, but not always treated as such, so we actually get two columns for it below) and SVG (only an XML language).

Passive
support
HTML 4.01 XHTML
(as if HTML)0
XHTML
(as XML)
SVG
Allowed
at all
colon: Yes, by 'should ignore' advice
dash: Yes, by 'should ignore' advice
colon: Yes, by 'should ignore' advice
dash: Yes, by 'should ignore' advice
colon: Yes, by 'must ignore' rule
dash: Yes, by 'must ignore' rule
colon: Yes, by 'must ignore' rule
dash: In principle,no
in practice1, yes
Available
via DOM
colon: Yes, via GetAttribute
dash: Yes, via GetAttribute
colon: Yes, via GetAttribute
dash: Yes, via GetAttribute
colon: Yes2, via GetAttributeNS and GetAttribute
dash: Yes2, via GetAttribute
colon: Yes3, via GetAttributeNS and GetAttribute
dash: Yes3, via GetAttribute
Matches
CSS selector
colon: Yes4, using [aria\:attr]
dash: Yes5
colon: Yes4, using [aria\:attr]
dash: Yes5
colon: Yes, using [aria|attr]
dash: Yes5
colon: No
dash: No

Notes:

  • 0  This column applies to the IE family, and to other browsers whenever treating XHTML as HTML
  • 1  Firefox 2.0.0.14, IE7 + Adobe 3.03 SVG plugin
  • 2  All browsers which treat XHTML as XML
  • 3  Firefox 2.0.0.14 (unable to test IE+plugin so far)
  • 4  Except IE family
  • 5  If attribute selectors supported at all, i.e. not IE5, IE6

It should be noted that some of the entries above disagree with assertions made in the past about browser behaviour. At least some of those assertions were based on flawed test materials---see the discussion of experiments 1 and 2 in my testing report for details on the information summarised above.

5. The near future

A number of browser implementors have responded positively to the ARIA initiative and have included experimental active support for ARIA in pre-release versions of their products. Most of the test materials and implementation information I can find suggests that only the dash approach, and only HTML or XHTML, are currently being implemented.

With regard to improving passive support, it seems very possible that IE8 will support attribute selectors of the form [aaa\:checked], which would remove the qualification recorded in the table above by footnote 4.

5.1. HTML5

The situation with respect to HTML5 is complicated. As it currently stands, the HTML5 draft specification supports namespaces internally, and all HTML elements are parsed into the DOM nodes in the HTML namespace, regardless of whether they are parsed "as HTML" or "as XML". But when parsing documents "as HTML", no other namespaces are recognised. Unless this changes before HTML5 is completed, the HTML/"XHTML (as if HTML)" columns above will apply to HTML5-conformant user agents in at least some cases.

6. Cost-benefit analysis

On the basis of the above survey, there follows below an attempt at a cost-benefit analysis with respect to the colon and dash approaches, as well as the mixed approach as currently specced in the ARIA working draft and a fourth approach, as proposed by me in a message to www-tag, which I'll call the xcolon approach. The xcolon approach attempts to address some of the problems revealed in the passive support table by defining a pair of getter/setter Javascript functions for access to ARIA information in the DOM, and giving a design pattern for duplicated CSS selectors (one using [aria\:xxx] and the other [aria|xxx]).

Benefits Costs
colon Consistency for page authors; Uniform DOM access (using Get/SetAttribute); Orthogonal in XML languages; consistent with namespace-based extensibility for XML (and for HTML5?1) Uniform DOM access ignores namespace2; no uniform CSS selector; no CSS selector at all for IE legacy3; modest re-implementation cost4
dash Consistency for page authors; uniform DOM access; uniform CSS selector Inconsistent with XML namespace-based extensibility5; new paradigm for 'namespace'6; scope creep7
mixed Orthogonal in XML languages; consistent with namespace-based extensibility for XML (and for HTML5?1) Confusing for authors; no uniform DOM access; no uniform CSS selector; uncertainty wrt XHTML; new paradigm for 'namespace'6; scope creep7
xcolon Consistency for page authors; orthogonal for XML languages; consistent with namespace-based extensibility for XML (and for HTML5?1); uniform DOM access; uniform CSS selector Requires indirection through accessor functions for DOM access; requires duplicate CSS selectors; no uniform DOM representation; no CSS selector at all for IE legacy3; modest re-implementation cost4
  • 1  HTML5's provision for extensibility, whether compatible with XML namespaces or not, is an open area of discussion at the moment.
  • 2  That is, it requires the use of a fixed aria prefix and may not (i.e. in some browsers) correctly set the namespaceURI property even when targetting an XML DOM.
  • 3  That is, in the IE family, only (putatively) IE8 and successors will recognize [aria\:...] selectors
  • 4  See discussion of re-implementation cost below
  • 5  See discussion of XML extensibility below
  • 6  That is, adds the concept of a fixed, dash-delimited, prefix as a way of managing distinct symbol spaces to the existing non-fixed, colon-delimited prefix for the same purpose.
  • 7  That is, requires all embedding languages to explicitly allow and manage an inventory of fixed prefixes and, possibly, their vocabularies.

6.1. Implementation cost

For wholly commendable reasons, development of the ARIA spec. and pilot implementation work have proceeded in parallel. Most if not all existing implementations support only the dash approach. What is the likely cost for those implementations of any decision to adopt any other approach? My conclusion, having examined one implementation in some detail, is that the cost is likely to be very modest.

Michael Cooper, WAI PF staff contact, captured the reason for this very well, albeit unintentionally:

"The ARIA roles and properties are conceptually simple enough, but they are designed to provide a bridge between HTML and desktop accessibility APIs, a bridge which is exploited by the operating system, user agent, and assistive technology all working together. There's a complex set of interdependencies there and the feasibility and details of many of the ARIA features could only be worked out by testing in deployed systems, and therefore doing early implementation."

The complexity referred to above is fundamentally one of architecture, both static and dynamic. Not surprisingly, therefore, syntactic concerns account for a tiny fraction of the code needed to implement ARIA as it stands. Furthermore, and again not surprisingly, as it's what sound software engineering practice requires, the details of the concrete syntax are isolated, and the vast bulk of the code I looked at refers to it only indirectly. The consequence of all this is that the changes necessary to manage any change away from the dash approach will be very straightforward. For more details, see the discussion of experiment 3 in my testing report.

6.2. XML extensibility and SVG

Many existing XML languages make explicit, generic, provision for extensibility by including in their formal schemas and/or spec. prose allowance for any namespace-qualified elements and attributes from namespaces other than those which make up the language itself. Tools such as NVDL and, to a lesser extent, W3C XML Schema and RelaxNG, make it possible to combine the schemas for multiple XML languages to give a complete characterisation of mixed-language documents.

One particularly important example of this approach is SVG. ARIA integration into SVG is clean and straightforward under the colon or mixed approaches, but will require amending the spec. under the dash approach.

6.3. Short- vs. long-range considerations

In trying to weigh the tradeoffs which must of necessity be considered when confronted by the information given above, the matter of timescale is particular hard to address. Any assertion about how things will look five, or even two, years hence can always be countered with a contrary assertion. None-the-less, the centrality of the HTML languages for the Web, and the fundamental importance of accessibility for all of us, suggest that we must take the long-term impact of this decision seriously, and be prepared to discount some short-term discomfort in return for long-term stability and simplicity.

by Henry S. Thompson at May 12, 2008 09:55 AM

May 11, 2008

Messages in a bottle (MSM's blog)

Transitive apertures

Sometimes ignorance really is bliss.

If I had normal mathematical training, I would probably know the answers to some of the questions that have been puzzling me lately. But I would have missed the fun of figuring out the answers for myself.

Consider a relation R on some domain, and consider its transitive closure R*. Or, for some purposes, consider its positive transitive closure R+.

Now, sometimes when one is interested both in R and in R*, it seems convenient to have R be as small as it is possible to make it, as long as the transitive closure remains the same. So if there are any ‘redundant’ members of R — members that we can remove without changing R*, we would like to remove them. Since this operation feels like the opposite of transitive closure, I have privately called it “transitive aperture” since I first encountered it nine or ten years ago.

Given two relations R and R’, R’ is a transitive aperture of R if and only if R’ is a subset of R and R’* = R*. R’ is a minimal transitive aperture of R if and only if R’ has no subset R” such that R”* = R’* = R*.

For example: consider the < (less-than) relation on integers. It’s clear (a) that the transitive closure of < is < itself, and (b) that the successor relation on integers (1 = succ(0), 2 = succ(1), etc.) has the same transitive closure. It’s also clear (intuitively — I haven’t tried a proof) that if you omit anything from the successor relation, its transitive closure won’t be <, so the successor relation is apparently a minimal transitive aperture of <.

Now, in all the examples I’ve thought of so far, it’s been obvious both how to calculate the minimal transitive aperture of a given relation, and that there was only one.

But I’ve been asking myself several questions recently. Can I define the notion of minimal transitive aperture cleanly? Does every relation have one? Is it unique? I.e., does every relation have exactly one? Is there an algorithm for finding a minimal transitive aperture for an arbitrary relation?

I spent some time thinking about this today, while driving to Santa Fe and back, and I believe I know some of the answers. I think the definition above is clean and precise. And I think it’s obvious that there’s an algorithm for finding all minimal transitive apertures for any finite relation. (It’s finite, right? Take all the subsets and see if they are (a) a transitive aperture of R and (b) a minimal transitive aperture — if R is finite, then R has a finite number of subsets, so the algorithm will terminate. I didn’t say it was fast, I just said there’s an algorithm.) I don’t know whether there’s an algorithm for infinite relations. And it’s clear that for some relations, there is more than one minimal transitive aperture. But I don’t have time tonight to sketch any of this. I shouldn’t be writing this in the first place, I should be packing for a trip, but I wanted to get at least the formulation of the problem down.

The idea can also be formulated in terms of graphs. Take any directed graph G; you have a set of nodes and a relation on that set. Take the transitive closure of that relation, and draw another graph T with the same set of nodes as G, and arcs representing the transitive closure of the arcs of G. Call T the transitive closure of G, or the reachability graph of G. (For any two nodes n and m, there is an arc from n to m in T if and only if m is reachable from n in G.) A transitive aperture of G is a digraph with the same set of nodes, a subset of G’s arcs, and the same reachability graph.

It’s clear, as I say, that there can be multiple minimal apertures that have the same transitive closure. Any graph of three nodes a, b, c with a cycle among all three nodes a → b → c → a will do to show this: its transitive closure is a complete graph of three nodes. But a → c → b → a has the same transitive closure. QED.

So it’s clear that for digraphs with cycles, there may be multiple minimal transitive apertures.

And for acyclic digraphs?

by cmsmcq at May 11, 2008 04:12 AM

May 10, 2008

MWI Team Blog

W3C Mobile Web Initiative - what's next?

During W3C's bi-annual member meeting, I presented a few slides on where we see the Mobile Web Initiative going in the future - copied below.

We'd be interested in your feedback, so see question at end.


Mobile: Where do we stand?


MWI: Where do we stand?

Screenshot of mobileOK checker


Future Priority: Mobile Web Applications


Future Priority: Mobile Web in Developing Countries

Man with mobile phone in Asia. AFP, Deshakalyan Chowdhury


Future Priority: Improving Standards Compliance and Testing

Screenshot of Web compatibility test

  • No "dominant browser" in mobile
  • Non-standards compliance even bigger problem for developers than on desktop
  • W3C work has started
    • Test harness simplifies testing Web specs on mobile device, 45K results collected via "crowdsourcing"
    • Web compatibility test to check "difficult" feature support (ACID inspired)

But of course, the mobile community is bigger than just W3C members ...

So, where do you see the mobile Web going in the next few years?

And what do you think should be the contribution of W3C's Mobile Web Initiative?

Share your thoughts below!

by Philipp Hoschka at May 10, 2008 02:45 PM

koalie's red page

Smells and memories


I am attached to smells for the memories they bring.

The smell of fig trees reminds me of my first time in Corsica, as a child, as I was visiting my aunt. Her house is in the mountains, in a small village. The sweet and powdery smell of fig trees was everywhere on the path around the village. I was 10 years old and I hadn't smelled fig trees before. It's unrelated to smells but I hadn't seen donkeys before either and I "met" them during this holiday. One even stepped on my toe and I thought the animal was heavy but I would have imagined the resulting pain to be bigger.

The yellow Dop shampoo brings me back to a summer in the late 80s or possibly in the early 90s. I was around 15 years old. I was at my grand-parents' house in the country (Bévenais, Isère). The fresh smell reminds me of counting goldfish in the little pond and petting the neighbour's kittehs. Madame Guidy had named one of them "Kitty" after my suggestion. Thinking about this moment brings back memories of being impressed by the powerful car of my grand-father and enjoying how fast he was driving, compared to my father. I'm also reminded of hanging my towel to dry out the window and being lectured by my grand-father that this was not Italy and to please, bring that towel back in the bathroom immediately. How peculiar that was considering there was no neighbour or passer-by to see that towel hanging. Of "inside the house", I have few memories. Oddly enough the clearest is that of the water closet. A fantastic and interesting hiding place. It had windows on all three sides of the room and although there wasn't much happening in the garden I remember I liked to stay there and watch, and think. Also the little room was home to the collection of Readers' Digest. I was reading them for hours as we had no magazines at home. I was very often ordered to vacate the facility ;) I also remember helping my grand-mother with some chores, like doing the dishes. We were to clean them before putting them in the dish-washer (go figure), and we were to dry them thoroughly afterwards.

The fragrance of Pleasures, by Estée Lauder, makes me travel back to Edinburgh in Scotland, some 12 years ago. I was wearing that perfume when I was studying there. A whiff of Pleasures and I find myself walking down Lothian Road, turning toward the restaurant Fat Sam and waiting at the bus stop to go to college. The wind was cold, so cold it was biting my ears. But the smell of the perfume was around me because of the wind. I returned to Edinburgh several times, since then, and made sure to bring the perfume with me.

The smell of the henna hair conditioner by Timotei turns instantly my bathroom into one of the shower cabins I was using in March 2005 when I was vacationing in New Zealand. For example, I often find myself in the shower block at the awesome and original Napier Prison Backpackers. One thing leading to another, at least for the duration of the hair care, I can revisit any part of New Zealand that I know from the fabulous 3-week holiday.

Of the numerous perfumes I wear, there is another one that brings me memories. L'Eau d'Issey (it sounds like "l'Odyssée") by Issey Miyake reminds me of Roslindale, of Boston, of Amy and our huge collection of good moments. I had it when I was living in the US and A and I had several others, one of which (the Rose Essentielle by Bulgari) made Amy a little nauseous (sorry!). I took L'Eau d'Issey with me to the hospital where I gave birth to Adrien, because a colleague of mine had advised me to bring a perfume that I like. Her theory being that a familiar and pleasant smell fosters wellness and good spirits. Now, the smell of this fragrance reminds me of Adrien, of his godmother Amy and of the places I was when he was growing inside me.

by coralie@w3.org (coralie mercier) at May 10, 2008 11:42 AM

May 09, 2008

W3C Q&A Weblog

Proposed Activity for Video on the Web

W3C organized a workshop on Video on the Web in December 2007 in order to share current experiences and examine the technologies (see report). Online video content and demand is increasing rapidly, becoming omnipresent on the Web and the trend will continue for at least a few years. These rapid changes are posing challenges to the underlying technologies and standards that support the platform-independent creation, authoring, encoding/decoding, and description of video. To ensure the success of video as a "first class citizen" of the Web, the community needs to build a solid architectural foundation that enables people to create, navigate, search, and distribute video, and to manage digital rights.

The general scope of the proposed Video on the Web activity is to provide cohesion in the video related activities of W3C, as well helping other W3C Groups in their effort to provide video functionalities. In addition, this activity will focus at implementing the next steps from the W3C workshop on Video on the Web. The proposal is to create 3 new Working Groups around Video on the Web. Please, have a look at the following documents:

  1. Activity proposal
  2. Media Fragments Working Group Charter
  3. Media Best Practices and Guidelines Working Group Charter
  4. Media Annotations Working Group Charter

We welcome general feedback, general expressions of interest (or lack of!) and comments on the discussion list public-video-comments@w3.org.

If you should have questions or need further information, please feel free to contact me as well. I will be presenting the activity proposal during the Web Conference next week, on Thursday afternoon.

by Philippe Le Hégaret at May 09, 2008 12:01 AM

May 06, 2008

W3C Q&A Weblog

utf-8 Growth On The Web

On Google's blog, Mark Davis is explaining that Google is moving to Unicode 5.1. The article unfortunately mixes unicode and utf-8 as it has been noticed by David Goodger in Unicode misinformation. But the really interesting bit is the growth of utf-8 on the Web. These data should be interesting for the development of http, html 5 and validators.

utf-8 growth on the Web compared to other encoding

© graph from Google.

by Karl Dubost at May 06, 2008 11:03 PM

May 03, 2008

MWI Team Blog

Nielsen report: 13% mobile web only users

In an new report, the audience measurement company Nielsen (known for their TV "Nielsen ratings") reports that for many "leading Internet sites", an average of 13% of users access the site only from their mobile device (data appears to be for the US for Q4 2007).

Mobile-only use varies by category of the site - here is the percentage of mobile-only users per category:

  1. Weather: 22%
  2. Entertainment: 22%
  3. Games: 15%
  4. Music: 15%
  5. Email: 11%
  6. Sports: 10%
  7. Business/Finance: 4%
  8. Social Networking: 3%
  9. Search: 2%
  10. Shopping/Auctions: 1%

by Philipp Hoschka at May 03, 2008 06:26 AM

May 02, 2008

W3C Q&A Weblog

Vertical Layouts for Canvas Text (CJK)

I have noticed a discussion (I have cut some parts for readability) about vertical layout for text from the participants of the HTML WG.

<Hixie> ok for canvas text my proposal is:

<Hixie> drawHString(x, y, maxWidth, textAlign, s); and drawHString(x, y, maxHeight, textAlign, s);

<Hixie> drawVString(...) for the second one

<Lachy> what's the difference between them? drawVString for vertical stings where the letters are stacked on top of each other, and not just rotated 90 deg?

<Philip`> Hixie: They look complex and hard to use :-p

<Philip`> compared to e.g. translate(x,y);drawString(s)

<Hixie> lachy: drawVString() would be for vertical text (e.g. some CJK)

<Hixie> one is lack of support for vertical text :-)

In printed media, it is handled quite well for a long time. Japanese books have some complex layouts mixing western and japanese characters.

Japanese Typography

It happens not only in CJK (Chinese Japanese Korean) texts. Think about a neon sign of an hotel with the letters written vertically.

Felix Sasaki is my colleague at W3C/Keio and has worked with the Japanese Layout Task Force. He was sitting next to me when I was reading the logs of the discussion, so I just asked him some references. He sent me a link to 1.3 Directional Factors in Japanese Text Layout from the Requirements of Japanese Text Layout. He also reminded me about XSL 1.1: 7.29.3 "glyph-orientation-vertical" .

Wikipedia has a page on the topic of Horizontal and vertical writing in East Asian scripts and Unicode a note on Robust Vertical Text Layout.

All of that should help to define the API for Canvas Text.

by Karl Dubost at May 02, 2008 05:33 AM

May 01, 2008

W3C Q&A Weblog

How to add RDF information to a page using RDFa?

The Semantic Web Activity home page has a number of information that might be of interest for the Semantic Web (eg, for data integration). These include: references to existing recommendations, talks on the subject made by working group members or the W3C staff, references to active groups, etc. Ie, it sounds like a good idea to make these available in RDF, too. Of course one could achieve that by publishing two files: http://www.w3.org/2001/sw/Overview.html for the HTML version and a separate http://www.w3.org/2001/sw/Overview.rdf for RDF (remember that W3C’s Apache setup is such that the default index file is called “Overview”). But this would lead to versioning problems; not a good idea!

This is where RDFa comes into the picture: don’t duplicate information if you can avoid it. Instead, add the RDFa attributes to the HTML file and let the machines do the rest. And this is what has been done. If you look under the hood, http://www.w3.org/2001/sw/Overview.html is, in fact, in RDFa, ie, the core (X)HTML information is enriched with some attributes that allows the automatic generation of corresponding RDF data.

The best is, of course, to look at the source to see the details; here is just an example. This is, essentially, how an entry on a recommendation looks like in XHTML+RDFa:

<li resource="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/">
  <a rel="doc:versionOf" href="http://www.w3.org/TR/rdf-syntax-grammar" property="dc:title">RDF/XML Syntax Specification (Revised)</a>,
  <span rel="rdf:type" resource="[tr:REC]">W3C Recommendation,</span>
  <span property="dc:date" content="2004-02-10">February 10, 2004,</span>
  <span rel="tr:editor"><span typeof="contact:Person" property="contact:fullName">Dave Beckett</span></span>, ed.
</li>

yielding, in RDF:

<http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/> a tr:REC;
     dc:date "2004-02-10";
     dc:title "RDF/XML Syntax Specification (Revised)";
     doc:versionOf <http://www.w3.org/TR/rdf-syntax-grammar>;
     tr:editor
         [ a contact:Person;
             contact:fullName "Dave Beckett"
         ].

using a number of existing vocabularies (eg, Dublin Core or the “TR” vocabulary that W3C has been using for years to describe its documents).

So how would one set up the server to get the right version of the documents for the right request? Although, at some point in time, one could expect that (RDF) browsers will just pick up the RDF information automatically, what to do in the meantime? What one would like to have is:

  • http://www.w3.org/2001/sw/ should return
    • XHTML by default
    • RDF/XML or Turtle if so requested by the client, generated from the XHTML file on-the-fly via an RDFa processor
  • http://www.w3.org/2001/sw/Overview.rdf should return RDF/XML, generated on-the-fly
  • http://www.w3.org/2001/sw/Overview.ttl should return RDF in Turtle, again generated on-the-fly
  • http://www.w3.org/2001/sw/Overview.html should return, obviously, XHTML

A bit of Apache Wizzardy works here. First a special Apache file is created to control content negotiation. The usual setup is to associate this to the “var” extension, ie, Overview.var in this case. The file itself looks fairly simple:

URI: Overview

URI: Overview.html
Content-Type: text/html

URI: Overview.rdf
Content-Type: application/rdf+xml; qs=0.4

URI: Overview.ttl
Content-Type: text/turtle; qs=0.5

that will instruct the Apache server to choose the right file depending on the accept header. HTML will be returned if both HTML and RDF/XML are accepted; and Turtle is preferred if both RDF/XML and Turtle are accepted by the client (that is the role of those “qs” values).

That takes care of the content negotiations, but we are not yet done because, remember, the goal is to generate the RDF/XML and Turtle versions on-the-fly. This is achieved by adding the following lines to the .htaccess file in the directory:

RewriteEngine On
RewriteBase /2001/sw/
RewriteRule Overview.rdf /2007/08/pyRdfa/extract?uri=http://www.w3.org/2001/sw/Overview.html [L]
RewriteRule Overview.ttl /2007/08/pyRdfa/extract?format=turtle&uri=http://www.w3.org/2001/sw/Overview.html [L]

that instructs the server to run a script (ie, the RDFa distiller) on the (X)HTML file when an RDF/XML or Turtle versions are required.

That is it… (And thanks to Ralph Swick and Tim Berners-Lee who gave me the right push and information to handle Apache.)

by Ivan Herman at May 01, 2008 09:27 AM

W3C, Process and Perception

Terry Goodkind said:

The mice think they are right, but my cat eats them anyways. This is the point, reality is nothing, perception is everything.

We all live in our own world of perceptions and the world is shaped with these. I have read recently read a blog post by Arnaud Le Hors saying:

Having been primarily involved in W3C both as a staff member and a member company representative I had grown to expect a certain quality level which has led me to be genuinely baffled by the whole OOXML experience. I just didn’t know how superior the W3C process was compared to that of ECMA and ISO/IEC. I just didn’t know those organizations had processes which are so broken that they would allow such a parody of a standards development to take place and such a low quality specification to be eventually endorsed as an international standard.

There have been discussions within the W3C for a long time as to whether it should seek to become a PAS submitter and adopt a policy to systematically submit its standards to ISO/IEC. I used to think it should. I no longer think so. The W3C process is so superior to that of ECMA and ISO/IEC, it’s these organizations that need to learn from W3C and those who are working for the W3C standard label to be recognized at an international level in its own right have all my support.

Arnaud's words touched me; the full article is worth reading. It reminded me of my time working with Web technologies (in Web design agencies and organizations) prior to my W3C hiring. I was very condemning about W3C and its standards development. Then with time, with the accumulation of experiences and understanding, I realized (more than knowing) that the platform which is offered by W3C is a good compromise.

For sure, my words will be taken suspiciously because I'm right now an employee of W3C. Nothing is perfect at W3C. There are still issues, but the organization is flexible enough that it knows how to evolve when necessary. People have a tendency to forget this. When I have been hired almost 8 years ago, the notion of test suites for a W3C specification to be published was considered as a big burden and not in the scope of W3C Working Groups. One of the reasons, I had been hired at this time was to change this mindset. It has been hard, painful sometimes, but we did it. The "we" include some W3C members, the wonderful participants of the former QA Working Group and the dedicated work of the W3C QA Team, including Dominique Hazaël-Massieux, Olivier Théreaux and myself.

It is sometimes hard to understand how W3C is working. I have in the past tried to explain how all pieces fit together on mailing-lists or here on this blog. I see comments on mailing lists and blogs which should not be said, harsh words between people. Be careful about your perceptions, assumptions, they lead you sometimes in fights. This is not right.

W3C is a community platform where people can work on Web technologies with different tools. One of these tools is the W3C Process. Use the tools for working.

by Karl Dubost at May 01, 2008 04:19 AM

Web Typography - Your wish list

Jason Cranford-Teague has written a long blog post about Web Typography. He is calling for feedback on two CSS 3 modules related to fonts.

… tell me what you think are some of the font styles and features missing from the current specification. What do you expect to be able to do with typography on your Web pages that you can not do now? What are you doing now with kludges that you would like to see simpler ways of doing? Keep in mind that we are talking about font properties and how to style the characters. This includes things like bold, italic, and even outline and emboss which effect how each glyph is rendered. It does not include styles that area applied over an entire block of text such as underlining or rotating text. Those are in different modules.

Also, let me know what you think about some of the new additions to the Fonts specification (font-size-adjust, font-stretch, font-effect, and font-smooth) and any problems you have with the current specifications.

Try to be as specific as possible, and provide examples and links if you can. I’m looking forward to seeing what the Web design community comes up with!

Go add your own comment on his blog. I know at least one person who should send his comments. We had often debates about typography, CSS and standards in the French blogosphere. ;)

by Karl Dubost at May 01, 2008 04:17 AM

April 30, 2008

W3C Q&A Weblog

WCAG 2.0 takes a giant leap forward — Now it's your turn

WCAG 2.0 is going, boldly, where it's never gone before: Today WCAG 2.0 is at "W3C Candidate Recommendation"! Can you feel the Web accessibility world shake? Candidate Recommendation means that we think the technical content is stable and we want developers and designers to start using WCAG 2.0, to test it out in every-day situations. For more about Candidate Recommendation, see How WAI Develops Accessibility Guidelines through the W3C Process.

I hear you asking, "When will it be completed?" We're optimistic that it will indeed be completed in 2008. If implementation goes well and there are no significant new issues, the "Proposed Recommendation" of WCAG 2.0 should be published in the third quarter of 2008, with the final Web standard W3C Recommendation published about two months after that.

What's important now is that we need your help moving WCAG 2.0 to the next stage. In order to advance WCAG 2.0, we need to demonstrate that it can be implemented in different types of Web content, in a variety of human languages, and using a variety of technologies. We're looking for several websites that conform at each level (A, AA, AAA), and at least two independent implementations of every success criterion. (Success criteria and levels are introduced in Overview of WCAG 2.0 Documents.) We welcome WCAG 2.0 implementation experience from a wide range of environments, including e-commerce, government, education, blogs, etc.

Note that there are a few success criteria that are at risk of becoming advisory if we don't get at least two implementations of them. Here is a special appeal for implementations of those at risk success criteria.

To be a part of this stage of WCAG 2.0 implementation experience, check out WCAG 2.0 Candidate Recommendation Implementation Information.

There are a lot of reasons to start implementing WCAG 2.0 now, in addition to the possibility of your website being publicly listed as an implementation; see "What are the benefits of using WCAG 2.0?" in the WCAG 2 FAQ.

Thanks for all the support moving WCAG 2.0 towards completion!

by Shawn Henry at April 30, 2008 04:59 PM