W3C HTML Working Group tag:www.w3.org,2012:/QA//1 2012-01-16T04:03:53Z Movable Type 4.34-en W3C TAG Publishes Finding on Identifying Application State tag:www.w3.org,2011:/QA//1.9306 2011-12-24T16:53:15Z 2011-12-24T18:49:00Z The W3C TAG has published a finding on Identifying Application State. See http://www.w3.org/2001/tag/doc/IdentifyingApplicationState Ashok Malhotra The W3C TAG is pleased to announce the publication of a new TAG Finding "Identifying Application State."

URIs were originally used primarily to identify documents on the Web, or with the use of fragment identifiers, portions of those documents. As Web content has evolved to include Javascript and similar applications that have extensive client-side logic, a need has arisen to use URIs to identify states of such applications, to provide for bookmarking and linking those states, etc. This finding sets out some of the challenges of using URIs to identify application states, and recommends some best practices. A more formal introduction to the Finding and its scope can be found in its abstract.

The W3C TAG would like to thank Ashok Malhotra, who did much of the analysis and editing for this work, and also former TAG member T.V. Raman, who first brought this issue to the TAG's attention, and who wrote earlier drafts on which this finding is based.

]]>
Open Web Platform Weekly Summary - 2011-12-05 - 2011-12-11 tag:www.w3.org,2011:/QA//1.9291 2011-12-12T23:32:24Z 2011-12-12T23:35:40Z The Open Web Platform weekly summary is about love for the open Web, about the work we do together, about the hours we spent every day to create a better Web. I can work in this domain, because others gave an open environment for working. Let’s keep it open. Karl Dubost http://my.opera.com/karlcow/blog/ The Open Web Platform weekly summary is about love for the open Web, about the work we do together, about the hours we spent every day to create a better Web. I can work in this domain, because others gave an open environment for working. Let’s keep it open.

HTML5

The specification has been modified to allow two syntaxes for the time element. You may write time with a T or a single space separator between the date and the time.

<time>2011-12-24T23:59</time>
<time>2011-12-24 23:59</time>

XML documents have a UTF-8 default encoding. Kornel Lesiński asked if it would be possible to do that for documents with an HTML5 doctype. Henri Sivonen (Mozilla), who is also developing the HTML5 parser for Firefox, rejected the suggestion. It would introduce more incompatibilities and more specific behaviors than the already existing explicit mechanisms.

HTML Rich Content

Sometimes Web developers need to extend their content with a richer semantics by adding simple data structure to their markup. A first Working Draft for RDFa Lite 1.1 has been published. For example to specify that this column is written by a human and not a cow.

<p vocab="http://schema.org/" 
   resource="#karl" 
   typeof="Person">
   This blog post is written by 
   <span property="name">Karl Dubost</span>.</p>

The purpose of this group is to develop a common specification in OWL for structured and unstructured annotations on Web documents, based on prior work developed by the Annotation Ontology (http://code.google.com/p/annotation-ontology/) and Open Annotation Collaboration (http://www.openannotation.org/) efforts.

You are invited to support the creation of this group: http://www.w3.org/community/groups/proposed#annotation

Video Tracks

The WebVTT format (Web Video Text Tracks) is a format intended for marking up external text track resources. WebVTT has escaped HTML5 to be developed by the Web Media Text Tracks Community Group. They also have a twitter account. Anne van Kesteren has created a WebVTT Validator and published the source code on bitbucket. The syntax is a very simple text file.

WEBVTT

00:11.000 --> 00:13.000
<v Roger Bingham>We are in New York City

00:13.000 --> 00:16.000
<v Roger Bingham>We're actually at the Lucern Hotel, just down the street

Web Apps

If humanity had an UndoManager API we might have been able to fix a lot of mistakes. Ryosuke Niwa (webkit) is working on such an API for the Web and he is asking feedback. A long list of use cases has been outlined to better understand what do we need to solve.

Dominique Hazaël-Massieux (W3C) has been giving a summary of the Standards for Web Applications on Mobile. He has published an update for November 2011.

DOM

The new methods for append, prepend, … that we mentioned a few weeks ago have been addred to the DOM 4 specification in the mutation methods section. This triggered a new syntax requirement for WebIDL, which has not yet been completely defined. Anne van Kesteren (Opera) has also started to define Mutation observers.

CSS

An update has been published for CSS Image Values and Replaced Content and a new editor draft for CSS3 Grid Layout. As a kind reminder, these are drafts and then not stable. If the implementations change them or drop these features, you will have to eat your own hat :)

Web Architecture

A tendency in Web development has emerged a little while ago. Web developers started to push hash sign in their URIs not to define an anchor in the document but the state of an application. The W3C Technical Architecture Group has summarized best practices for handling hash signs URIs.

The W3C TAG is working on a few topics in parallel. You could participate constructively to the discussions by subscribing to the www-tag mailing list.

HTTP

You can now buffer this number, RFC 6455, in your memory lane. The WebSocket Protocol is accepted. Though be careful, because there might still be a bit of breakage depending if your browser has released a version of the implementation but disabled by default. Check your preferences.

In the discussion about extending HTTP status code, Roy Fielding (Adobe) gave an interesting rule for knowing how/when to extend the list of codes.

When extending HTTP status codes, the question that needs to be asked is “how will a client process this response differently than any of the existing status codes?”

Elsewhere

  • Move The Web Forward is the new kid in town. It gives a long list of resources to help Web developers stay informed about what’s going on the Open Web platform.
  • Redbot, the HTTP validation tool developed by Mark Nottingham, now supports HTTP over SSL and TLS

This column is written by Karl Dubost, working in the Developer Relations team at Opera Software.

]]>
Open Web Platform Weekly Summary - 2011-11-29 - 2011-12-04 tag:www.w3.org,2011:/QA//1.9281 2011-12-05T19:42:53Z 2011-12-05T19:59:28Z The Open Web Platform weekly summary is about HTML5 oldies, shadows and intents, and protocols. Karl Dubost http://my.opera.com/karlcow/blog/ The Open Web Platform weekly summary is about HTML5 oldies, shadows and intents, and protocols.

HTML5

Yehuda Katz and a few others have started a discussion on Restoring PUT and DELETE in HTML5 forms (Issue 1067). The Ruby on Rails Web framework is currently using a hack for simulating PUT and DELETE.

The Web is an amazing big pile of history. border attribute on table elements didn’t have any units. Though people had a tendency to put units such as the wrong <table border="5px">. So browsers repaired automagically to take into account only the beginning of the string and ignore any trailing characters. Sylvain Galineau (Microsoft) raised an issue because he thought it would create issues for microdata values. Ian Hickson mentioned that the incorrect values were not valid but fixed by the browser if wrong.

INS and DEL elements which are used to track insertion and deletion of contents in HTML have a very simple model. So simple that according to Daniel Glazman (Disruptive Innovations), it is not easily implementable in any useful way for authoring tools.

A Community Group has been proposed to discuss ideas around the future of HTML and associated features.

Web Apps

Webkit has a proposed patch for the Network Information API. This is an interesting API because it allows to create apps which behave differently depending if the network is 3g, wifi, etc. For example, imagine a responsive Web design where images of adequate sizes are sent depending on the type of network which gives a good idea of what could be the bandwidth.

Rich Tibbet (Opera) has proposed a model for the Web intents work.

Simon Pieters (Opera) wanted an API to queue a task. After discussing about the opportunity of such a need, Glenn Maynard proposed a piece of code that finally Simon extended.

var queueTask = function(task) {
    var mc = new MessageChannel();
    var args = [].slice.call(arguments, 1);
    mc.port1.onmessage = function(){ 
        this.onmessage = null; task.apply(task, args); 
        };
    mc.port2.postMessage(null);
    };
queueTask(function(arg) { console.log(arg, this) }, "test"); 

Dimitri Glazkov (Chromium team) has proposed a high level overview of Web Components for Web Developers.

DOM

The setAttributeNS() is implemented differently in IE, Firefox, Webkit and Opera. The discussion, which started on the mutability of attributes, led to discuss about simplifying the platform for HTML documents by removing the namespacing of attributes. According to Jonas Sicking (Mozilla), that would also improve browser performances. There would still be needed for XMLDocument interface.

HTTP

When exchanging data in between client and server, there are a few techniques. One of them is XMLHttpRequest which helps inject a data flow into the page without reloading the full context. People often uses it to transfer JSON packaged data. Anne van Kestern (Opera) has added json response type to XMLHttpRequest.

When a client and server interact on the Web, the server answer to client requests with 3 number codes. These have very specific meanings. For example, 200 means that the server has successfully answered the client request. It is happening quite often that Web developers (specifically those developing Web APIs) lack some HTTP status code to have a richer interactions between the client and the server. Mark Nottingham has been working for a while on new HTTP status code.

HTTP/1.1 allows many types of characters. This has a tendency to create security issues when, for example in CGI/1.1, translating these characters into UNIX environment variables. Some of them are not valid and/or parseable characters. Yutaka Oiwa brought the subject on HTTPbis mailing list.

Elsewhere

This week, the theme of Anne Van Kesteren’s report about Encoding woes and WebVTT.

This column is written by Karl Dubost, working in the Developer Relations team at Opera Software.

]]>
Open Web Platform Weekly Summary - 2011-11-21 - 2011-11-28 tag:www.w3.org,2011:/QA//1.9276 2011-11-28T03:18:00Z 2011-12-01T03:24:10Z This week, one of the main discussions has been around developing (or not) a support for XPath in find and findAll methods. The Open Web Platform weekly summary is also mentioning Web architecture, Web Apps WG hosting new work. Karl Dubost http://my.opera.com/karlcow/blog/ This week, one of the main discussions has been around developing (or not) a support for XPath in find and findAll methods. The Open Web Platform weekly summary is also mentioning Web architecture, Web Apps WG hosting new work.

HTML5

The old HTML4 abbr attribute has been deprecated in the HTML5 specification. The role of the attribute was to give a short form of table cells content. It was meant to help users getting the content of these cells quickly. A Firefox patch has just been proposed to implement it.

Frank Olivier (Microsoft) said:

Text editing is certainly a fool’s errand in canvas.

and indeed there was previous attempt to recreate text-editor all in Canvas. Some of these projects have been abandoned since. That said the group is struggling to find solutions for raising accessibility in canvas to an acceptable level. One solution which is being explored is to add primitives for Path.

Web Apps

There are proposals for

The work on Component Models that I mentioned a few times about under the label shadow DOM is moving to the Web Apps WG led by Dimitry Glazkov (Chromium team).

Darin Fischer (Google) proposes to add the Pointer Lock (formerly known as Mouse Lock) spec and the Gamepad spec be added to the Web Applications WG’s charter.

ECMAScript

Some fundamental features are missing in JavaScript. I know for example missing things like startsWith and endsWidth on strings annoy me a lot. There is a proposal for evolving ECMAScript on IE blog.

DOM

There has been a gigantic thread (with a lot of misunderstandings and rebuttals) about allowing XPath in the find/findAll APIs we were talking about last week. The discussion goes along the common permathread about CSS selectors and XPath has a way to select a path in a DOM. With similar goals, they often addressed different problem spaces and they do not have the exact same set of features. Some people argue it is not worth the cost adding XPath for selecting nodes. Eventually, people will reach an agreement. We are not there yet.

matchesSelector is verbose and people start to look at ways to make it shorter for Web developers. Two proposals have been by Tab Atkins (Google) with .matches() and .is(). Though Dimitri Glazkov said that he wishes to use .is() for components. It would be used like

elt.matches("div span")

CSS

Jake Archibald (Lanyrd) is not satisfied with the Shadow DOM and scope stylesheets we mentioned a few times in that column.

Experimenting with new styles for CSS Specifications. CSS shaders is currently having the proposal.

Web Architecture

URIs are one of the corner stones of the Web architecture. There is a specification clearly defining the URI syntax and meaning. But as usual with the human Web, things get deployed with errors in a distributed way. What is happening when you get something which looks like an URI but is not really a URI. User agents have for long implemented techniques to cope with the common URI mispellings found on the Web. Mike Smith will start working on a document on how browsers process URIs, following a proposal made at HTML WG F2F during the TPAC 2011. It has been suggested that this should be part of the URL API document.

HTTP

The Referer HTTP header has been a concern for a long time in terms of security and privacy. Adam Barth is proposing to add a referrer attribute in HTML (meta element) for suppressing its value from each HTTP requests.

This week, the theme of Anne Van Kesteren's report is about XMLHttpRequest.

This column is written by Karl Dubost, working in the Developer Relations team at Opera Software.

]]>
RDFa 1.1 meets JSON-LD in the Distiller… tag:www.w3.org,2011:/QA//1.9268 2011-11-24T16:12:20Z 2011-11-25T13:11:13Z I have blogged recently on the update of the RDFa 1.1 Distiller. I have just added a cool new feature. Up to today, the possible serializations were RDF/XML, Turtle, and N Triples. Although not yet final, I decided to add... Ivan Herman http://www.w3.org/People/Ivan I have blogged recently on the update of the RDFa 1.1 Distiller. I have just added a cool new feature. Up to today, the possible serializations were RDF/XML, Turtle, and N Triples. Although not yet final, I decided to add a JSON-LD serialization, too, in spite of the fact that JSON-LD is not yet final either (it is under development by a W3C Community Group). However, adding this to the system it shows the potentials of this combination…

An example may be the schema.org example I used in another blog lately:

<div vocab="http://schema.org/" typeof="Product">
  <img property="image" src="dell-30in-lcd.jpg" />
  <span property="name">Dell UltraSharp 30" LCD Monitor</span>

  <div property="aggregateRating" typeof="AggregateRating">
    <span property="ratingValue">87</span>
    out of <span property="bestRating">100</span>
    based on <span property="ratingCount">24</span> user ratings
  </div>

  <div property="offers" typeof="AggregateOffer">
	<span property="lowPrice">$1250</span>
	to <span property="highPrice">$1495</span>
	from <span property="offerCount">8</span> sellers
  </div>

  Sellers:
  <div property="offers" typeof="Offer" >
    <a property="url" href="save-a-lot-monitors.com/dell-30.html">
     Save A Lot Monitors - $1250</a>
  </div>
  
  <div property="offers" typeof="Offer">
    <a property="url" href="jondoe-gadgets.com/dell-30.html">
    Jon Doe's Gadgets - $1350</a>
  </div>
  ...
</div>     

Running this through the distiller, one gets the following JSON output:

{
    "@context": {
        "@vocab": "http://schema.org/",
        "@coerce": {
            "@iri": [
                "http://schema.org/image",
                "http://schema.org/offers",
                "http://schema.org/url",
                "http://schema.org/aggregateRating"
            ]
        }
    },
    "@type": "Product",
    "aggregateRating": {
        "@type": "AggregateRating",
        "ratingCount": "24",
        "ratingValue": "87",
        "bestRating": "100"
    },
    "offers": [
        {
            "@type": "Offer",
            "url": "http://www.example.org/save-a-lot-monitors.com/dell-30.html"
        },
        {
            "@type": "AggregateOffer",
            "lowPrice": "$1250",
            "highPrice": "$1495",
            "offerCount": "8"
        }
    ],
    "name": "Dell UltraSharp 30\" LCD Monitor",
    "image": "http://www.example.org/dell-30in-lcd.jpg"
}

Of course, the generated JSON may be a bit more complex, e.g., if the original page contains other RDFa attributes generating other triples. But it still looks pretty readable to me…

]]>
Open Web Platform Weekly Summary - 2011-11-14 - 2011-11-20 tag:www.w3.org,2011:/QA//1.9266 2011-11-22T20:05:39Z 2011-11-24T20:37:33Z This week, the Open Web Platform weekly summary is about HTML5 Tidy (yes it is back!), A few things about web apps such as storage mechanisms, and a few discussions about DOM properties. CSS has been discussing a few things including the issue of vendor extensions. And more bite sized information. Enjoy! Karl Dubost http://my.opera.com/karlcow/blog/ This week, the Open Web Platform weekly summary is about HTML5 Tidy (yes it is back!), A few things about web apps such as storage mechanisms, and a few discussions about DOM properties. CSS has been discussing a few things including the issue of vendor extensions. And more bite sized information. Enjoy!

HTML5

Tidy, the useful piece of code that was helping you to fix your broken XHTML and HTML had not evolved. Björn Hörhmann published a patch to fix it. Dominique Hazaël-Massieux (W3C) decided to create a HTML5 tidy github project

Web Apps

There are many ways of storing information on the Web on the client side. The cookies was one of the first one, but since AppCache and Web Storage have been developed. There is a wiki page on client side database solutions documenting what are the relations between the different technologies.

There is a lot of work going on for enabling a FullScreen API.

I mentioned Web Intents last week. An introduction about Web Intents has been written by the priceless timeless.

DOM

There is a proposal for a new findAll property. Jonas Sicking (Mozilla) is asking what type findAll should return.

Anne van Kesteren (Opera) had opened a bug on Webkit bug reporting system about the deprecated document.width and document.height properties. It is fixed! The two properties have been removed from the Webkit source code. He also started a new round of discussions on how to improve the DOM

Rafael Weinstein (Chromium Team) is proposing to have a fragment of DOM being inactive but inside the page for future use. Dynamic web pages could use them during the user interaction later on. The proposal is a declarative Inert DOM (a <template> element)

CSS

Fantasai (Mozilla) is explaining how the CSS Working Group is working.

scoped stylesheets have been introduced to define a mechanism where the stylesheet would apply only in a precise context. scoped is more complicated to implement than initially thought.

Semantic Web

RDFa is the swiss army knife for injecting rich data into your Web pages. Initially designed for XHTML, the group is in the process of evolving it for HTML. There is a lot of discussion around it on how to make it easy for developers and compatible with the current Web. Sebastian Heath proposed to change a bit the consumption of RDFa to take into account id. Now a Web author needs to declare an about attribute:

<p id="item1" typeof="ex:item" about="#item1">
   <span property="item_name">An interesting item (1)</span>
 </p>

His proposal is to reduce it to:

<p id="item1" typeof="ex:item">
   <span property="rdfs:label">An interesting item (1)</span>
 </p>

which would produced the triples of information.

 <http://example.org/document1#item1> rdf:type <http://example.org/ns/item> .
 <http://example.org/document1#item1> rdfs:label "An interesting item (1)" .

Web Architecture

Vendor extensions

There are at a regular pace discussions about vendor extensions in CSS. In my daily job, I have to contact Web sites which have improper use of CSS and makes it hard to have a good Web experience for any users. So I have written a mail to explain why I disliked them: CSS vendor extension issues. Henri Sivonen (Mozilla) extended the discussion in a more general discussions on how Vendor Prefixes Are Hurting the Web. Daniel Glazman (CSS WG co-chair) doesn’t completely agree, or maybe he does, for certain parts and decided to write an answer to Henri Sivonen, which triggered another supportive post by Alex Russel (Google) on why Vendor Prefixes Are A Rousing Success.

Conclusion? The discussion is going on.

SVG

I had missed that last July, but it seems that there is a “new” quaterly publication about SVG. The first issue has 3 articles covering DOM Helper, D3.js and sensorial expressions and emotion.

HTTP

Henri Sivonen (Mozilla) landed support for HTML parsing in XMLHttpRequest in Firefox engine (Gecko). He is giving details on how he has implemented it. His implementations create a direct feedback for changing XMLHttpRequest specification. The same way Julian Reschke has implemented and tested a part of the specification about content-type rewriting. These are two of the many ways you can help specifications development.

URIs

Tools and Tutorials

This week, the theme of Anne van Kesteren’s report is about <time> and findAll. I feel there is fatigue desire to know if it's useful in Anne’s report. He is asking for feedback.

This column is written by Karl Dubost, working in the Developer Relations team at Opera Software.

]]>
Open Web Platform Weekly Summary - 2011-11-07 - 2011-11-13 tag:www.w3.org,2011:/QA//1.9259 2011-11-15T14:15:38Z 2011-11-15T15:58:45Z This week, the Open Web Platform weekly summary is about hgroup and time elements, lang attribute. There are discussions on starting work on Web Intents and how to create a simpler DOM for documents fragments. Plenty of other things. Enjoy. Karl Dubost http://my.opera.com/karlcow/blog/ This week, the Open Web Platform weekly summary is about hgroup and time elements, lang attribute. There are discussions on starting work on Web Intents and how to create a simpler DOM for documents fragments. Plenty of other things. Enjoy.

HTML5

The hgroup element, which was proposed for defining sub headlines, is still being actively discussed. It is not yet clear if it should be replaced by a different element with a simpler content model, by an attribute, just dropped or maintained.

The lang attribute helps authors to specify the language of the content in an HTML page. Some people consider that the lang attribute validation constraints are not sufficient.

Tantek Çelik (Mozilla) is proposing refinements for the time element, which has just been added again to W3C HTML5 Editor draft.

Web Apps

Bryan Sullivan (AT&T) is writing a “Push API” that would use the Server-Sent Events specification. That becomes handy in situation of low consumption on mobile handsets by offloading management of EventSource connections. The event delivery can be handled by other types of push servers.

Web Intents

The WebApps and Device APIs WGs are joining forces around Web Intents proposal, the new cool kid in town. The aim is to reinvent a kind of Web RPC. Basically Web applications should be able to register themselves so you can hook them to specific services. For example if you want to trigger a specific Web applications for managing mailto: links.

AppCache

AppCache is a technology which was created for enabling the possibility for an application to run offline. After having been deployed for a while, Web developers have noticed a lot of issues in the way it was initially built. A community group has been created for Fixing Application Cache. Join!

DOM

Yehuda Katz would like to be able to take a string of HTML and parse it into a document fragment without knowing the context in advance.

var frag = document.createDocumentFragment();
frag.innerHTML = "<tr><td>hello</td></tr>"
someTable.appendChild(frag)

João Eiras (Opera) agrees but proposes a different code.

Ojan Vafai (Chromium Team) proposed to create new methods for the DOM instead of hacking around the old ones.

lets add the following methods to Node:

prepend(nodeish) – Adds to the start of the node. append(nodeish) – Adds to the end of the node. before(nodeish) – Adds before the node. after(nodeish) – Adds after the node. replace(nodeish) – Replaces the node. remove() – Removes the node.

Anne van Kesteren (Opera) described the new DOM methods and their model. It’s not yet stabilized. Read the full thread.

If you remember I talked already a few times about mutation events. The work is still in progress. So much that the initial musings on them has been scraped. The specification contains currently a placeholder on how Mutation Events are implemented in Chrome and being implemented in Mozilla but this is likely to change again.

Web Architecture

The W3C Technical Architecture Group has started a discussion about the experimental Google Protocol SPDY and its interactions with Web Architecture. The latency in HTTP communications is an issue that Web developers and browser implementers are trying to tackle. In an era of applications being on the Web, the hunt to anything slowing down the responsiveness is important. Google worked on a proposal for modifying the way the client and the server communicates. This has strong consequences for the Web architecture, among others caching.

SVG

You love moving blocks around? Yes but which syntax in which language? An effort, currently only an editor draft, is going on to merge SVG/CSS/2D/3D transforms specifications as a unique transform specification.

HTTP

  • X-Forwarded-For: is currently the way that some proxies indicates that the HTTP request they are handling is coming from another IP. A. Petersson, M. Nilsson are writing an IETF RFC draft for defining Forwarded-For HTTP header. For example, clients with an ip1 (such as Opera Mini or Amazon Silk) are using a proxy client (with an ip2) for creating the HTTP requests. The proxy will send to the requested server, the following information.

    X-Forwarded-For: ip1

URIs

You know it already: Cool URIs do not change. It means that you should be able to maintain your URIs space for a very long time so people can rely on them when interacting on the Web. You could even create a URI persistence policy for your company or organization. The W3C and the Digital Curation Centre are organizing a workshop on Domain names and persistence on December 8, 2011, in Bristol (UK).

Tools and Tutorials

This week, the theme of Anne Van Kesteren’s report is mainly about TPAC 2011.

This column is written by Karl Dubost, working in the Developer Relations team at Opera Software.

]]>
New release of the RDFa 1.1 Distiller and Validator tag:www.w3.org,2011:/QA//1.9258 2011-11-15T12:30:03Z 2011-11-15T13:54:11Z Back in May I have already blogged on the release of a new, RDFa 1.1 version of the distiller code. Many things have happened since May, however, with changes in RDFa, introduction of RDFa 1.1 Lite, etc. I have also... Ivan Herman http://www.w3.org/People/Ivan Back in May I have already blogged on the release of a new, RDFa 1.1 version of the distiller code. Many things have happened since May, however, with changes in RDFa, introduction of RDFa 1.1 Lite, etc. I have also blogged about those changes, and what they mean for Schema.org, for example, a few days ago. I have followed the changes on the specs with my code for the distiller; I have now updated the service. It implements the latest editors’ draft of RDFa 1.1 Core.

As also announced in my blog in May, I have also made an accompanying service called the (RDFa) validator. It relies on the same code as the distiller, except that it catches the possible error and warning triples and makes a human-readable version of those. Note that the validator can also be instructed to check RDFa 1.1 Lite, ie, it issues warning if the RDFa content uses RDFa attributes that are not part of RDFa 1.1 Lite.

The usual caveat applies, of course: this is still a service under development; it may change as the specification of RDFa evolves and, obviously, if contains bugs that I do not know about…

]]>
Schema.org and RDFa 1.1 Lite: how does it look now? tag:www.w3.org,2011:/QA//1.9256 2011-11-12T09:12:30Z 2011-11-12T09:28:49Z In his latest blog entry on the Schema.org, Dan Brickley announced that Schema.org would also process RDFa 1.1 Lite as an alternative syntax to encode Schema.org terms. As he emphasized: This work opens up new possibilities also for developers... Ivan Herman http://www.w3.org/People/Ivan In his latest blog entry on the Schema.org, Dan Brickley announced that Schema.org would also process RDFa 1.1 Lite as an alternative syntax to encode Schema.org terms. As he emphasized:

This work opens up new possibilities also for developers who intend to work with schema.org data using RDF-based tools and Linked Data, and defines a simplified publisher-friendly 'Lite' view of RDFa.

However, one has to be careful about a detail: the RDFa 1.1 version that will be processed is not the latest “official” W3C draft; indeed, as a result of feedback’s and technical discussion, the next release of RDFa 1.1 will include some significant changes. As Dan emphasized in his blog, there are still some technical details to finalize before the Working Group would publish that new draft, but the changed version is already available as an editors’ draft. The most important new feature, as far as the Schema.org examples also go, is the changed behavior of the @property attribute: in the overwhelming percentage of RDFa usage, it becomes synonymous to @rel. (What essentially happens is that, in the presence of, say, an @href attribute, the value of that attribute is bound to @property instead of a possible literal.)

The Schema.org datamodel page has an early example showing some canonical Schema.org use cases in terms of RDFa 1.1. It encodes an earlier version of the example given on the Schema.org Product. Here is how the same example looks like in the new setting, i.e., RDFa 1.1. This example is also in RDFa 1.1 Lite, i.e., the simpler albeit strict subset of RDFa 1.1:

<div vocab="http://schema.org/" typeof="Product">
  <img property="image" src="dell-30in-lcd.jpg" />
  <span property="name">Dell UltraSharp 30" LCD Monitor</span>

  <div property="aggregateRating" typeof="AggregateRating">
    <span property="ratingValue">87</span>
    out of <span property="bestRating">100</span>
    based on <span property="ratingCount">24</span> user ratings
  </div>

  <div property="offers" typeof="AggregateOffer">
	<span property="lowPrice">$1250</span>
	to <span property="highPrice">$1495</span>
	from <span property="offerCount">8</span> sellers
  </div>

  Sellers:
  <div property="offers" typeof="Offer" >
    <a property="url" href="save-a-lot-monitors.com/dell-30.html">
     Save A Lot Monitors - $1250</a>
  </div>
  
  <div property="offers" typeof="http://schema.org/Offer">
    <a property="url" href="jondoe-gadgets.com/dell-30.html">
    Jon Doe's Gadgets - $1350</a>
  </div>
  ...
</div>     

This is clearly significantly simpler than the previous version. Indeed, the compelling reasons for the changes in RDFa 1.1 (compared to its previous versions) was to achieve that simplicity.

If you are interested in some of the technical details… Some of the notable differences, compared to the previous versions of RDFa 1.1 (and also shown on that example) are:

  • The behavior of @property has become richer. For example, when used on the <img> element, it results in a triple with an IRI reference as a subject, rather than a literal. This was (and still is!) the behavior of @rel but, in this case, @property can also be used with a similar result. (That is also the reason why @rel is not used in RDFa 1.1 Lite any more.)
  • The combination of @property and @typeof has also changed. @typeof generates a new blank node (it had a similar effect in RDFa 1.0 as well as in the earlier versions of RDFa 1.1, although some of the details have changed) but, and that is a new feature, this blank node is also used as an object for @property (again, instead of generating a literal). One could consider this combination as a shorthand for an extra @resource or @href attribute using a (new) blank node identifier.
  • Another feature bound to the combination of @property and @typeof: the generated blank node “chains”, i.e., is used as a subject for subsequent triples in the sub-tree. This makes a very frequent idiom (repeated several times in the example) simpler than before.

For reference, a portion of the generated RDF is as follows:

@prefix schema: <http://schema.org> .
[ a schema:Product ;
  schema:image <dell-30in-lcd.jpg> ;
  schema:name "Dell UltraSharp 30" LCD Monitor ;
  schema:aggregateRating [
    a schema:AggregateRating ;
    schema:ratingValue "87" ;
    schema:bestRating "100" ;
    schema:ratingCount "24" 
  ] ;
  schema:offers [
    a schema:AggregateOffer ;
    schema:lowPrice "$1250" ;
    schema:highPrice "$1495" ;
    schema:offerCount "8" 
  ] ;
  schema:offers [
    a schema:Offer ;
    schema:url <save-a-lot-monitors.com/dell-30.html> 
  ] ;
  ...
]
]]>
Open Web Platform Weekly Summary - 2011-10-31 - 2011-11-06 tag:www.w3.org,2011:/QA//1.9251 2011-11-07T21:36:17Z 2011-11-07T21:39:13Z Last week, there was the annual W3C TPAC. The HTML Working Group met (day 1, day 2) and many other groups for discussing general issues. I introduced the Open Web Platform weekly summary and asked feedback on how to improve... Karl Dubost http://my.opera.com/karlcow/blog/ Last week, there was the annual W3C TPAC. The HTML Working Group met (day 1, day 2) and many other groups for discussing general issues. I introduced the Open Web Platform weekly summary and asked feedback on how to improve it or if I should drop it. I got mostly positive feedback and I will improve it in the next few weeks.

There are a lot of things to say about the fruitful meetings we had during this week. Maybe another time.

HTML5

The time element was dropped from the specification, but the community requested to be restored.

There is yet another difficult discussion on extensibility and how to handle it properly. Time to time, this topic will happen. This time, it is related to specifying arbitrary attributes for Audio-Video.

The hgroup element is not satisfying. Kornel Lesiński is proposing to replace it with the hsub element with a simpler content model.

(Do not copy that code in your pages.)

<body>
<h1>Title</h1>
<hsub>Subtitle</hsub>

<h1>Second Title</h1>
<div>
    <hsub>Second Subtitle 1</hsub>
    <hsub>Second Subtitle 2</hsub>
</div>
</body>

<article>
    <hsub>The Magical</hsub>
    <h1>Title</h1>
    <hsub>That Has</hsub>
    <hsub>Multiple Subtitles</hsub>
</article>

AppCache

When developping offline applications, we are using a manifest file containing the file to cache. There is a proposal to add syntax to the manifest that would to allow always request files when online, but not when offline. There is also a proposal to be less dependent on the URL and have an additional identifier to cope with minted URLs which tries to avoid caching (which IMHO is circular).

Canvas

one feature Web developers are asking for is the ability to draw DOM objects to an HTML canvas. — Robert O'Callahan, Mozilla — Drawing DOM Content To Canvas

DRM

There is a discussion brought to the HTML WG by the WebTV task force to know if there is a possibility to add a mechanism to protect content. There is no resolution yet. On this same topic, an interesting article has been published on the history of the different systems proposed in the past.

There are more than a few reasons digital rights management (DRM) has been largely unsuccessful. But the easiest way to explain to a consumer why DRM doesn’t work is to put it in terms he understands: “What happens to the music you paid for if that company changes its mind?” It was one thing when it was a theoretical question. Now it’s a historical one. — The DRM graveyard: A brief history of digital rights management in music

HTTP

A new draft has been published by James Snell for Prefer Header for HTTP. The Prefer request-header is used to indicate that particular server behaviors are preferred by the user-agent, but not required for successful completion of the request.

The version 17 of HTTPbis drafts has been published too.

Last Call Working Drafts

Tools

This week, the theme of Anne Van Kesteren’s report is mainly about <time> and <data>.

This column is written by Karl Dubost, working in the Developer Relations team at Opera Software.

]]>
Serving XHTML with math: a recipe for Apache tag:www.w3.org,2011:/QA//1.9187 2011-10-19T10:35:20Z 2011-10-21T09:38:13Z The future version 5 of HTML will allow math in a Web page, but the current version 4 does not. You can use XHTML instead, but not all Web clients understand it. Here is a recipe for the Apache Web server to make it return XHTML as HTML to such clients. That HTML will be invalid, of course, because it contains math, but the non-math parts are still handled. It's not as good a solution as having two versions of a page, but it's cheap. Bert Bos http://www.w3.org/People/Bos/ It is slowly becoming easier to include mathematics in Web pages. Ten years ago, the only way was still to write in LaTeX and apply some software that turned the result into HTML with images of math. Later, some plug-ins and JavaScript-based tricks helped a bit, but now several browsers and other HTML viewers have started to understand MathML directly. Especially if you limit yourself to the subset of MathML called the “MathML for CSS Profile,” it works quite nicely. And with MathML-compatible mark-up an integral part of the next (fifth) version of HTML, that is only going to improve.

W3C's Math working group maintains a page with information about the various ways to put math on the Web and this article is only about one aspect: configuring an Apache server to serve XHTML. That won't help people with older user agents to see the math, but it is necessary for newer software.

Until HTML version 5 is ready, the only way to put math in HTML is to use XHTML instead. But not all user agents accept XHTML. Which gives us at least three choices: offer them the XHTML file anyway (they might not be able to do anything more with it than save it to disk), give them an alternative without math instead (the best solution, but it requires writing a second file), or give them the same file and pretend it is HTML. That last solution isn't very nice: we're serving invalid HTML to those clients. But the XHTML specification has some guidelines for how to limit the damage with a reasonable chance that the result is readable. The math won't show correctly, but everything else probably will. So that is the solution we assume in this article.

Aside: Some browsers don't distinguish HTML and XHTML. They assume that an author who used a <math> tag in HTML just forgot to use XHTML (or is trying to use HTML5 already). But Opera (the current version is 11) is an example of a browser that does not do that. It only treats a document as XHTML if you say that it is XHTML. Which is probably the better approach. At least it complies with the standards.

User agents send a so-called Accept header in each request to a Web server with the list of formats they understand. Each format is identified by its Internet Media Type. The list typically includes things like PNG (“image/png”), JPEG (“image/jpeg”) and, of course, HTML (“text/html”). User Agents often also indicate which formats they prefer over others, but we'll ignore that here, for simplicity. Specifically, we'll check the list for XHTML (“application/xhtml+xml”).

Microsoft's Internet Explorer version 8 is an example of a client that does not accept XHTML, unless the browser has been extended with a plug-in that handles such files, such as MathPlayer.

To summarize: If a request to our Web server indicates that the client accepts XHTML, we'll respond with our XHTML file and label it correctly, i.e., as application/xhtml+xml; if not, we'll send the XHTML file anyway, but tell the client that it is HTML, i.e., text/html.

Different Web servers have different ways to make that happen. Here is a recipe for the Apache server. It relies on Apache's mod_rewrite module. That is an optional module, so make sure that it is enabled. (It usually is.)

We're assuming that our XHTML files have names that end in the extension “.xhtml”. If the extension is different, you'll have to modify the first and third lines in the code below.

In the same directory as those files, we create a file called “.htaccess” with the following content. (If the file already exist, you'll have to find some way to integrate these lines with what is already there. You may need to read the Apache documentation…)

AddType application/xhtml+xml .xhtml
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} \.xhtml$
RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml
RewriteRule .* - [type=text/html]

It may be necessary to add a RewriteBase directive as well, depending on how the Web server is set up. If in doubt, add

RewriteBase /path/to/my/files

where “/path/to/my/files” is the part of the URL after the name of the server and before the actual file name. (With a slash at the start and not at the end.)

The first line above tells the Apache server that all files ending in “.xhtml” are XHTML files. The other lines define the exception: when the name of the file that was requested ends in “.xhtml” and the client does not accept “application/xhtml+xml”, we return the file with a media type of “text/html” instead. Note that the “!” on the fourth lines means “not.”

For an example of this recipe in action, try the Math on the Web page. With most recent browsers, the three examples in the middle of the page will show up as actual mathematical formulas. User agents that do not understand the math will show just a string of letters there, but should still show the rest of the page correctly. If your browser offers something like a “View document information” or “Page information” menu, you can check what type the document has: text/html or application/xhtml+xml.

For a page such as this one, where the correct display of the formulas is desired, but not essential, this is good enough.


And if the degraded display of the math is not good enough? Then you will have to do the extra work and write an HTML version with the math replaced by something else: images (such as made with the already mentioned LaTeX2HTML), some JavaScript to simulate math with HTML (such as MathJax), or a textual description of the formulas. The choice depends on the Web clients you want the HTML to be used by.

No need for the “Rewrite…” rules in that case. Just give the XHTML version the file extension “.xhtml” and the HTML one “.html” and let Apache do the rest.

]]>
HTML Slidy on smart phones and tablets tag:www.w3.org,2011:/QA//1.9227 2011-10-08T18:59:52Z 2011-10-08T19:14:32Z Slidy is a free web application for slide presentations, and makes use of a simple HTML microformat for slides. Until recently, Slidy was difficult or impossible to use on keyboard-less touch screen devices like the iPhone or Android phones. I... Dave Raggett Slidy is a free web application for slide presentations, and makes use of a simple HTML microformat for slides. Until recently, Slidy was difficult or impossible to use on keyboard-less touch screen devices like the iPhone or Android phones. I am pleased to announce that Slidy can now be used on these devices with touch gestures:

  • swipe right to go to next page or reveal next item
  • swipe left to do the reverse
  • swipe up or down to show/hide the table of contents

You have to swipe reasonably quickly. If you want to scroll the viewport, drag your finger slowly across the screen in the direction you want to scroll. Of course, this all depends on how much content people cram into their slides. You should be able to use the native pinch/stretch gestures to change the zoom factor. There is further work to do, e.g. on device detection and on expanding the size of the table of contents. However, I very much look forward to your feedback and suggestions for improvements. ]]> Impressions on the Schema.org Workshop tag:www.w3.org,2011:/QA//1.9220 2011-09-30T06:06:22Z 2011-09-30T06:54:36Z

(This blog should have gone out about a week ago. By an unlucky clashes in my agenda, the trip to Mountain View was immediately followed by another trip, which made it difficult to publish this in a really timely... Ivan Herman http://www.w3.org/People/Ivan (This blog should have gone out about a week ago. By an unlucky clashes in my agenda, the trip to Mountain View was immediately followed by another trip, which made it difficult to publish this in a really timely manner…)

Structured data is picking up in the search world. The example that took the headlines in the blogosphere (and beyond) this summer: schema.org, jointly initiated by Google, Microsoft, and Yahoo! On 21 September, the three initiators of schema.org co-organized a workshop held on the Microsoft Campus in Mountain View.

Since the original announcement of schema.org in June this year there has been quite a lot of discussions on the blogosphere and elsewhere on the role, importance, and the future of the initiative. There were also lots of miscommunications on all sides, which is rarely helpful. It is important to find the common ground in a community, which, after all, has the general goal of helping the evolution of structured data on the Web. Clearly, the search engines have a major role to play here. The workshop—which gathered around 70-80 people all across the community, including producers of structured data, experts in the field, and representatives from search engines like Baidu or Yandex which don't (yet?)  participate in schema.org—was therefore an important step toward building broader buy-in and, eventually, consensus.

The event schedule included presentations, break-out groups on specific technical issues, and a panel. The technical topics focused on two issues: the structure and the role of the schema.org vocabulary, and the syntax to express those in HTML.

Vocabularies. Schema.org, as it stands today, provides a fairly detailed, but high level vocabulary on specific subjects that can be used in an HTML page. Mark-up in that vocabulary can be consumed directly by a dedicated application (like indeed the search engines), or it can be integrated with other data, e.g., by converting the structured data into RDF and using the usual data integration approaches provided by Semantic Web techniques. (Note that schema.org has published, quite some time ago, an OWL version of the vocabulary). The main issue for the future, however, is how this vocabulary will evolve, and how it will relate to other vocabularies on the Web, and how schema.org will relate to other efforts to develop such vocabularies.

At present, the schema.org vocabulary can readily be used in an HTML content mixed with other terms and classes as long as those are identified using full URIs of those (the details depend on the exact syntax). In particular, HTML page using a mix of schema.org and any other terms is accepted by the search engines. The presence of non-schema.org classes or properties does not have any negative side effects. Although this might sound obvious now, it was one of the issues that weren't clear when schema.org was initially announced; this led some to believe that such HTML content would be rejected as invalid. The opposite is the case. At the workshop, Martin Hepp presented practical examples of how schema.org vocabularies can be mixed with outside vocabularies in the case of the GoodRelations ontology.

Schema.org also provides an extension mechanism within its own vocabulary. Existing schema.org URI-s can be extended using a "/" character concatenated with other user-defined strings. While simple, this mechanism raises a number of questions that were discussed at the workshop. For example, how would one find out what that specific new term means (the new URI cannot be dereferenced, as these are still on the schema.org domain)? How would term equivalences be secured? As one of the presenters put it, the current extension mechanism is hardly more than a specialized tagging syntax and we all know the issues around similar but non-identical tags on sites like Delicious or Flickr. One interesting approach that surfaced during the discussion, was that search engines will have crawl data available on these “tags” and, maybe, by publishing those data, some of the widely used extensions may converge into something more stable. Some sort of a crowd-sourced term definition mechanism. The future will tell whether this is a viable option, but it certainly is an interesting direction.

In some cases the schema.org initiative might choose to adopt vocabularies developed by other communities, and include them into into the “official” schema.org vocabulary hierarchy. Evan Sandhaus and Andreas Gebhard told us about the process that is expected to lead to the adoption of the rNews vocabulary by schema.org. (This was officially announced by IPTC since.) The journey to achieve that was interesting and did raise some questions, too. For example, vocabularies are not just simply included; instead, each and every term had to be discussed with the schema.org owners, possibly leading to some changes and even exclusions. Issues resulting from this include general process, public accountability, etc., and still need to be clarified and possibly developed further. Additionally, there are questions around the exact names, the URIs used to identify terms: will there be a term in the rNews name space (i.e., http://www.iptc.org/ns/1.0/) and a sibling with a similar role in the schema.org name space? Will the vocabulary owner publish a separate vocabulary files containing, for example, owl:equivalentProperty statements for those terms? While this might not be a problem for the relatively new rNews (they may decide to simply adopt schema.org URIs), it is likely to become an issue for more established vocabularies.

In general, there was an agreement in the room that extensibility of vocabularies is important, and that more work is needed beyond the . While the schema.org vocabulary will play a hugely important role in future, it cannot (and, as the schema.org partners emphasized, does not intend to!) cover all areas of structured data. As announced earlier, the new W3C SWIG Task Force on Web Schemas (led by R.V. Guha, from Google) will become the main discussion forum to discuss those questions.

Syntax. The other major thread of discussion in the past few months was the syntax to be used to include structured data in conjunction with schema.org. Should it be only microdata (as suggested by the schema.org site)? Should it also be based on microformats or on RDFa? All of the above?

In a separate break-out discussion Ben Adida made a presentation on RDFa 1.1, showing how this upcoming version of RDFa provides a level of simplicity that may make it suitable for the purposes of schema.org, too. The discussion that followed, beyond some technical issues (e.g., whether RDFa should retain the duality of using @rel and @property attributes), concentrated on the more general question whether search engines should accept multiple syntaxes or whether there should be only one. After some discussions it was felt that by not allowing multiple syntaxes a number of long tail applications could be excluded. Indeed, some applications may need more complex expressions than what microdata provides today, but those applications may also want to use schema.org vocabularies for consumption by search engines. The consensus in the room was that multiple syntaxes ought to be accepted, although it was also necessary to look at some technical issues around, for example, RDFa 1.1 to possibly simplify it and make it (or a subset thereof) more suitable for average Web authors. The W3C SWIG Task Force on HTML Data, led by Jeni Tennison, will play a major role in fleshing out those technical issues. Although there was no clear commitment (yet?) from the search engines that RDFa would be accepted alongside microdata, the feeling was that there is indeed a high probability that this may happen at some point. The syntax sessions felt like an important break-through after what had been a period of contentious discussions.

All in all, it was good day, which may be remembered in future as an important milestone in the evolution of Structured Data on Web sites, and, as a consequence, in the future of the Semantic Web. Thanks to all the organizers, and also to RV Guha, Jeni Tennison, and Dan Brickley for helping to set up the SWIG Task Forces!

]]>
Proposing two new SW Interest Group Task Forces tag:www.w3.org,2011:/QA//1.9207 2011-09-20T03:57:03Z 2011-09-20T16:37:26Z One of the exciting events of the past few months was the joint announcement of schema.org from three major search engine providers (Google, Yahoo, and Microsoft). It was a major step in the recognition that structured data, embedded in Web... Ivan Herman http://www.w3.org/People/Ivan One of the exciting events of the past few months was the joint announcement of schema.org from three major search engine providers (Google, Yahoo, and Microsoft). It was a major step in the recognition that structured data, embedded in Web pages or otherwise, has a huge role to play on the Web. Put another way: structured data on web sites is definitely now mainstream.

The role of the schema.org site is twofold. It defines a family of vocabularies that search engines "understand"; although these vocabularies are still evolving, they reflect the areas that search engines consider as most important for average Web pages. Independent of the vocabularies, schema.org also defines the syntax that search engines understand, i.e., how the vocabularies should be embedded in an HTML page. At the moment the emphasis from schema.org is on the usage of microdata.

As with all such important events, the announcement of the schema.org site has generated lots of discussion on the blogosphere, on different mailing lists, twitter, and so on. The discussion crystallized around two, technically different set of issues:

  • What is the evolution path of the schema.org vocabularies; how do they relate to vocabulary developments around the world that has already brought us such widely used vocabularies like Dublin Core, GoodRelations, FOAF, vCard, the different microformat vocabularies, etc?
  • What is the role of RDFa and microformats for search engines; would search providers also accept RDFa 1.1 or microformats as an alternative encoding of structured data? This also raises the more general issue on how microdata and RDFa relate to one another as W3C specifications, and to microformats, independently of the specific vocabularies.

These issues will be discussed on the upcoming schema.org workshop in Mountain View, CA, on 21 September. They are also within scope of discussion within Semantic Web Interest Group (SWIG). Accordingly, as a result of a variety of discussions, I am proposing two new SWIG Task Forces to discuss these and flesh out solutions. Note that this is also related to a TAG request from June. Assuming the proposals are approved, the two Task Forces will be:

  1. Web Schemas Task Force, to be chaired by R.V. Guha (Google), concentrating on general vocabulary-related discussions. The Task Force's focus should be on collaboration around vocabularies, mappings between them, and around syntax-neutral vocabulary design and tooling. Issues like convergence of various vocabulary schemas, use cases, tools and techniques, documentation of mappings and equivalences between schemas, should all be in scope for this Task Force.
  2. HTML Data Task Force, to be chaired by Jeni Tennison, should conduct a technical analysis on the relationship between RDFa and microdata and how data expressed in the different formats can be combined by consumers. This Task Force may propose modifications in the form of bug reports and change proposals on the microdata and/or RDFa specifications where they would help users to easily translate between the two syntaxes or use them together. The Task Force should also work on a general approach for the mapping of microdata to RDF, as well as the mapping of RDFa to microdata JSON.

Both Task Forces should be public, both in terms of joining the respective mailing lists or following the discussions via the public archives.

Everybody is welcome!

]]>
Open Web Platform Weekly Summary - 2011-08-30 - 2011-09-11 tag:www.w3.org,2011:/QA//1.9199 2011-09-12T20:22:22Z 2011-09-12T20:24:52Z In my tracking of the Open Web Platform for writing the weekly summary, I decided to be a bit more careful on what is happening on the HTML WG bug tracker. A lot of the discussion is happening there too. The biggest issue being the number of useless comments or spam. Karl Dubost http://my.opera.com/karlcow/blog/ In my tracking of the Open Web Platform for writing the weekly summary, I decided to be a bit more careful on what is happening on the HTML WG bug tracker. A lot of the discussion is happening there too. The biggest issue being the number of useless comments or spam.

Internationalization (I18N)

The I18N Core Working Group has raised an issue about the HTML5 definition of quotes property. The default property should be defined by the language of the text and not by the locale of the browsers.

Web Architecture

Tim Berners-Lee explains the architectural decision on why fragment identifiers are not sent to the server when they are deferenced.

Accessibility (A11y)

Laura Carlson proposed to change example on how the article element is used. In HTML5 examples, the article element contains heading and nav elements. She is proposing to reserve the article for pure content in a way which enable screen readers to jump directly to the content avoiding navigation elements.

HTML Markup

Shaun Moss wants to propose a comment element for blog posts. A long discussion started.

Layout

Eric Muller (Adobe) has sent to the Unicode Consortium a proposal to develop a Unicode property and algorithm to support Japanese layout. Japanese can be written horizontally or vertically and it is important to be able to determine the orientation of the characters in vertical lines.

HTML5 Forms have client side validation with error messages. The tooltip is browser dependant and varies widely in style. Peter Gasston is proposing to add new properties for styling these form validation messages.

Peter Lins (HP) announced the new CSS Test Suite Management System.

DOM

Aryeh Gregor (Google) would like to extend the selection property in the DOM for allowing more than one creating the possibility of buffering, manipulating, deleting them. He also proposed to remove the multiple ranges selection. This property allows to select a piece of text in a Web page and then holding the command key to select another part of the text without having to do two operations. Only Firefox currently implements this feature.

Ryosuke Niwa (Google) needs events that fire before/after user editing action and execCommand take place. He proposed the name beforeEditAction and afterEditAction.

Dominic Cooney (Google, Chromium) wants a way to register new elements not necessary described in the specification. For example, it could work doing something ala

HTMLElement.register('x-contacts', ContactPicker);

The first argument is an element name. The second is a constructor function, whose prototype property points to an object which introduces the API for contacts (eg a refresh method) and is wired up to HTMLElement.prototype.

Anne van Kesteren (Opera) notes that its the backdoor to introduce proprietary markup on the Web. The fallback behavior in absence of scripting is another issue. The discussion is still going on.

Anne van Kesteren (Opera) has removed the entity references from DOM Core (DOM4) and then it modifies the HTML5 specification. Entity references were enabling the creation of markup constructs in the doctype. It introduces a lot of complexities in the management of DOM Nodes.

Kentaro Hara (Google) has requested HashChangeEvent constructor to make all events constructable as well a PageTransitionEvent constructor. It has been integrated right away in HTML5 specification.

Boris Zbarsky (Mozilla) notes that Gecko, WebKit and Presto have three different implementations of window.XMLDocument. There are discussions going on how it should be properly specced still taking into account the differences of implementations across browsers and the interoperability issues on legacy code.

Graphics (Canvas, WebGL, …)

Charles Pritchard (Jumis) needs a baseline property on the TextMetrics object from Canvas 2d. The baseline corresponds to the vertical offset of the anchor point.

var t = ctx.measureText('text span');
t == { width: int, baseline: int };

David Geary proposes the creation of two new methods in canvas 2D: Path getPath(), which would return a path object representing the context’s current path, and setPath(Path), which would set the current path. That would make it easier to drag objects on a path.

Performances

Three Last Call Working Draft documents, Performance Timeline, User Timing, Resource Timing, have been published. The deadline of comments on the first two documents is September 22 and Resource Timing is September 15.

Protocol (HTTP, XHR2, …)

To avoid having to rebuild mime messages from scratch, Charles Pritchard (Jumis) would like to extend FormData object. He is taking example in the Picasa developer guide on posting photos and a code example:

var callback = function(blob) { xhr.send(blob); };
formData.toBlob(callback, 'multipart/form-data');

Julian Reschke () has rewritten the HTTPbis Working Draft to add information about the history of HTTP Redirection (3xx)

Joel Martin wanted to be able to detect if the connection allows for binary data transmission in Websockets. Simon Pieters (Opera) proposed to use the already existing binaryType.

var binarySupported = typeof WebSocket.prototype.binaryType != 'undefined';

It seems that chrome implementation is incomplete creating interoperability issues. It might be fixed in future versions.

Misc

This week, the theme of Anne Van Kesteren’s report is Parsing APIs.

This column is written by Karl Dubost, working in the Developer Relations & Tools at Opera Software.

]]>
Open Web Platform Monthly Summary - 2011-07-29 - 2011-08-29 tag:www.w3.org,2011:/QA//1.9186 2011-08-30T20:17:10Z 2011-09-12T15:32:32Z I have decided to change a bit the style of weekly summary of the Open Web Platform. Instead of just going through the list of mails, I will try to focus on more specific things and give more context... Karl Dubost http://my.opera.com/karlcow/blog/ I have decided to change a bit the style of weekly summary of the Open Web Platform. Instead of just going through the list of mails, I will try to focus on more specific things and give more context about them. Anne Van Kesteren published his report on August 24.

  • “How to organize a W3C Specification” is a common question at W3C. This time it started about the DOM specifications. The argument falls both on side of the consistency, work style, and technology design. There is no ultimate and definitive answer. In my opinion, you need to choose the format that will maximize participation for your context. The specification organization might be also influenced by the way you want to design the technology.

  • A new group for the Web Education/Evangelization community has been opened. Chris Mills is the co-chair of the group with Doug Scheppers. People on the mailing-list have started to introduce themselves. Join! It is free.

  • A while ago, I have talked about the Shadow DOM. The discussion evolved led by Dimitri Glazkov (Google) and Dominic Cooney (Google) into the Component Model, a way to introduce support for creating custom DOM elements enabling layout managers or author UI elements included in the page, but not really part of the page. It inherits from the work done on XBL, XBL2 and MS HTML components, but will be more modular. See also Component Model Update mail and also this one.

  • Your days of DukeNukem are not over. There is a proposal floating for a Joystick API. With the rise of HTML5 games popularity, there is a growing interest for this proposal.

  • registerProtocolHandler gives the possibility to Web sites to become handlers for specific protocols. It is currently implemented in Chrome 13. There was a proposal on the list to extend the protocol.

  • Would it be nice to be able to define how to proceed with undo/redo features but inside the browser? Ryosuke Niwa (Google) has proposed a specification along use cases. Ian Hickson decided to remove the old UndoManager so that people could focus on Ryosuke Niwa’s proposal.

  • MouseLock is a proposed API to give the possibility to block the mouse in some circumstances. Vincent Scheib (Google) covered some of the issues identified with the proposal.

  • Digital images contains a lot of hidden metadata such as date, focal length, etc. These are contained in the EXIF part of the image. Some camera includes the orientation of the image when taken. Tab Atkins (Google) is proposing to add a naturalOrientation property to the img element so it could be used in-browser photo-editing tools.

  • Be careful with the CSS Flexbox (a feature giving you the possibility to reorder the boxes in CSS). This is one of the CSS module which has been quickly implemented by some browsers vendors. Too quickly? Web developers have started to use it and there is already some legacy code online. Why legacy? Flexbox is going through major revisions with backward incompatible changes. Tab Atkins (Google) is working right now on the layout algorithm.

  • The Web is evolving from a Web of documents to a Web of applications. This creates new constraints and usages to the system. HTML5 created history.pushState() and history.replaceState() for managing the history of a navigation and gives proper and usable URIs. Ashok Malhotra (Oracle) published a new version of a W3C TAG finding on Identifying Application State.

  • There is a request on allowing @autofocus for any elements having @tabindex property in HTML. This would give the possibility to get a frame like behavior for some blocks in the document. When people create non scrollable section in a Web page, it creates a load of secondary issues.

  • Channy Yunn has proposed a Web Crypto API Community Group. It has not been accepted yet. If you are interested, join the effort. If you need more information about the topic, see Web Crypto API and DOM Crypto API

  • Aryeh Gregor (Google) has proposed to extend the DOM for allowing authors to specify modifiers for accesskeys. Right now, it is not possible to reassign the modifier which is dependent on the system (for example, the command on macosx and Ctrl on windows).

  • When dealing with a document, you might want to change the name of an element in the DOM by another name. Aryeh Gregor (Google) has defined in the editing specification an algorithm for it. The discussion revived an existing feature called renameNode. The current property is still missing features, but there is a will to include it in DOMCore.

This column is written by Karl Dubost, working in the Developer Relations & Tools at Opera Software.

]]>
Open Web Platform Weekly Summary - 2011-07-13 - 2011-07-28 tag:www.w3.org,2011:/QA//1.9162 2011-07-29T19:44:07Z 2011-07-29T19:46:35Z The weekly summary of the Open Web Platform is out. A lot of discussion about HTTP. The IETF has been meeting recently in Canada. Anne Van Kesteren covers what I have not in his report. HTML5 is still in Last Call but the last call is finishing on August 3, 2011 Karl Dubost http://my.opera.com/karlcow/blog/ The weekly summary of the Open Web Platform is out. A lot of discussion about HTTP. The IETF has been meeting recently in Canada. Anne Van Kesteren covers what I have not in his report.

HTML5 is still in Last Call but the last call is finishing on August 3, 2011

Conversations

Proposals

Announcements

Hot Topics

This column is written by Karl Dubost, working in the Developer Relations & Tools at Opera Software.

]]>
Open Web Platform Weekly Summary - 2011-07-06 - 2011-07-12 tag:www.w3.org,2011:/QA//1.9152 2011-07-14T20:46:19Z 2011-07-14T20:49:42Z The weekly summary of the Open Web Platform is out. The big discussions from last week have continued this week. Mutation and Canvas accessibility. Anne Van Kesteren covers what I have not in his report. HTML5 is still in Last Call. Karl Dubost http://my.opera.com/karlcow/blog/ The weekly summary of the Open Web Platform is out. The big discussions from last week have continued this week. Mutation and Canvas accessibility. Anne Van Kesteren covers what I have not in his report.

HTML5 is still in Last Call.

Conversations

Proposals

Announcements

Hot Topics

This column is written by Karl Dubost, working in the Developer Relations & Tools at Opera Software.

]]>
Open Web Platform Weekly Summary - 2011-06-29 - 2011-07-05 tag:www.w3.org,2011:/QA//1.9142 2011-07-06T20:16:42Z 2011-07-07T20:23:15Z The weekly summary of the Open Web Platform is out. There was a few giant threads, be prepared to mutate any opinions about these events. Read also Anne van Kesteren's report. HTML5 is still in Last Call. Conversations Proposals Maciej... Karl Dubost http://my.opera.com/karlcow/blog/ The weekly summary of the Open Web Platform is out. There was a few giant threads, be prepared to mutate any opinions about these events. Read also Anne van Kesteren's report.

HTML5 is still in Last Call.

Conversations

Proposals

Announcements

Hot Topics

This column is written by Karl Dubost, working in the Developer Relations & Tools at Opera Software.

]]>
Open Web Platform Weekly Summary - 2011-06-21 - 2011-06-28 tag:www.w3.org,2011:/QA//1.9137 2011-06-29T21:00:55Z 2011-06-29T23:23:04Z The weekly summary of the Open Web Platform is out. I like the fact that Anne Van Kesteren has a different overview than mine. His last report. HTML5 is still in Last Call. Conversations Proposals WebKit Team has been experimenting... Karl Dubost http://my.opera.com/karlcow/blog/ The weekly summary of the Open Web Platform is out. I like the fact that Anne Van Kesteren has a different overview than mine. His last report.

HTML5 is still in Last Call.

Conversations

Proposals

Announcements

  • The HTTPbis WG is meeting in Quebec city for the IETF 81 meetings.
  • HTML WG Chairs have appointed Aryeh Gregor (Google), Anne van Kesteren (Opera), Simon Pieters (Opera) and Henri Sivonen (Mozilla) as Editorial Assistants for HTML5, HTML Microdata and HTML Canvas 2D Context to help Ian Hickson (Google) tasks.

Hot Topics

This column is written by Karl Dubost, working in the Developer Relations & Tools at Opera Software.

]]>
Open Web Platform Weekly Summary - 2011-05-17 - 2011-06-20 tag:www.w3.org,2011:/QA//1.9130 2011-06-21T20:08:05Z 2011-06-22T20:58:22Z Let's restart the Openweb platform weekly summary. It has been almost one month since the last time. HTML5 is in Last Call and there were a lot of discussions on many mailing lists. Karl Dubost http://my.opera.com/karlcow/blog/ I dropped the ball since the last weekly summary of the Open Web Platform. A lot of trips, jetlag, preparing talks didn’t help. Anne Van Kesteren is back from his long trip in South America and has taken over the wonderful job that Shelley Powers did for the last few weeks.

HTML5 is in Last Call. The HTML WG may expect a lot of comments.

Conversations

Proposals

Announcements

Hot Topics

This column is written by Karl Dubost, working in the Developer Relations & Tools at Opera Software.

]]>
Ensuring Accessibility Support in HTML5 tag:www.w3.org,2011:/QA//1.9109 2011-05-31T05:35:55Z 2011-06-02T19:50:24Z HTML5 was announced as a W3C Last Call Working Draft on 25 May 2011. The W3C press release invites broad review to determine to what extent HTML5 has met its technical requirements and dependencies. The Web Accessibility Initiative (WAI) encourages your comments and participation. Judy Brewer http://www.w3.org/People/Brewer/ HTML5 was announced as a W3C Last Call Working Draft on 25 May 2011. The W3C press release invites broad review to determine to what extent HTML5 has met its technical requirements and dependencies. The Web Accessibility Initiative (WAI) encourages your comments and participation.

HTML5 is the next revision in the core markup language of the Web, and offers powerful tools for creating Web-based applications that will run on any device. It is imperative that HTML5 meet the needs of all Web users, including those with disabilities.

Information on Accessibility Gaps

HTML5 includes new features, such as media and Canvas, for which WAI is working to ensure comprehensive accessibility support. WAI is also working to address current gaps in support for other accessibility requirements. Accessibility features missing at the time of the last call publication are listed within the status section of the HTML5 draft. Updated details on the status of gaps in accessibility support are available on the HTML Accessibility Task Force Wiki.

Coordination with the Accessibility Task Force

WAI has been working with the HTML Working Group through the Joint HTML and PFWG Accessibility Task Force (A11Y TF). Task Force Sub-Groups in the areas of text alternatives, Canvas, media, and WAI-ARIA will continue their work on accessibility feature support. The Task Force will closely monitor the processing of accessibility issues during the Last Call period. We encourage people to coordinate with the Task Force on improving accessibility support in HTML5. Comments describing unmet use cases, as well as technical details, are particularly useful.

Comments welcome through 3 August 2011

W3C has made it clear that HTML5 must meet W3C's commitment to accessibility. Your comments can help clarify what is needed to ensure that HTML5 provides support for accessibility.


]]>
HTML5: Are We There Yet? tag:www.w3.org,2011:/QA//1.9107 2011-05-25T21:50:22Z 2011-05-25T22:03:57Z The HTML Working Group published 6 of their documents as Last Call documents. It's time to get more people to look at those documents and give some feedback. Philippe Le Hégaret http://www.w3.org/People/LeHegaret/ Back in September 2010, the HTML Chairs produced a timeline to advance HTML5 to Last Call. Today, the HTML Working Group published 6 of their documents as Last Call documents. It's time to get more people to look at those documents and give some feedback.

Due to the timeline, the group postponed resolving some issues that were raised prior to Last Call; the group will now address them. In addition, there were objections to some decisions made prior to last call, and the group may revisit some of those. Other issues that were closed may be reopened based on new information (the accessibility issue related to the longdesc attribute is already reopened for example). The Working Group will use its decision policy to address these issues.

So while HTML5 is not yet a standard, we are making tangible progress, which is very exciting.

The Last Call review period extends until 3 August and we welcome your feedback. Note that the group will use the same process for managing issues in order to reach the next process transition by January 2012.

In the meantime, the testing effort is continuing. We have 1276 approved test cases, and 28,858 submitted ones. We still need more tests to ensure better coverage. The Group will also open itself to discussion on what to do for "HTML.next". We welcome ideas.

]]>
RDFa 1.1 with a rich snippet example tag:www.w3.org,2011:/QA//1.9102 2011-05-23T10:39:20Z 2011-05-23T18:18:56Z With RDFa 1.1 making its way out of last call, I looked at the examples from Google’s Webmaster Central to see what RDFa 1.1 brings to those. A typical example is the one on reviews; here s where it... Ivan Herman http://www.w3.org/People/Ivan With RDFa 1.1 making its way out of last call, I looked at the examples from Google’s Webmaster Central to see what RDFa 1.1 brings to those. A typical example is the one on reviews; here s where it starts out in RDF 1.0:

<div xmlns:v="http://rdf.data-vocabulary.org/#" typeof="v:Review">
   <span property="v:itemreviewed">L’Amourita Pizza</span>
   Reviewed by
   <span property="v:reviewer">Ulysses Grant</span> on
   <span property="v:dtreviewed" content="2009-01-06">Jan 6</span>.
   <span property="v:summary">Delicious, tasty pizza on Eastlake!</span>
   <span property="v:description">L'Amourita serves up traditional wood-fired 
   Neapolitan-style pizza, brought to your table promptly and without fuss. 
   An ideal neighborhood pizza joint.</span>
   Rating:
   <span property="v:rating">4.5</span>
</div>

The most important change is that RDFa 1.1 has moved away from using XML namespaces as a syntax for identifying vocabularies. In the simplest case, the @vocab attribute can be used to identify a vocabulary as follows:

<div vocab="http://rdf.data-vocabulary.org/#" typeof="Review">
   <span property="itemreviewed">L’Amourita Pizza</span>
   Reviewed by
   <span property="reviewer">Ulysses Grant</span> on
   <span property="dtreviewed" content="2009-01-06">Jan 6</span>.
   <span property="summary">Delicious, tasty pizza on Eastlake!</span>
   <span property="description">L'Amourita serves up traditional wood-fired 
   Neapolitan-style pizza, brought to your table promptly and without fuss. 
   An ideal neighborhood pizza joint.</span>
   Rating:
   <span property="rating">4.5</span>
</div>

The change looks small, but it means that the author has less complexity to worry about. Of course, the @vocab attribute may be placed somewhere up in the hierarchy, e.g., on the body element; this may become interesting if the same page reviews not only a pizza but, say, cannelloni, too.

It is also interesting to compare the last code extract with the microdata example provided by Google for the same case:

<div itemscope itemtype="http://data-vocabulary.org/Review">
  <span itemprop="itemreviewed">L’Amourita Pizza</span>
  Reviewed by 
<span itemprop="reviewer">Ulysses Grant</span> on <time itemprop="dtreviewed" datetime="2009-01-06">Jan 6</time>. <span itemprop="summary">Delicious, tasty pizza in Eastlake!</span> <span itemprop="description">L'Amourita serves up traditional wood-fired
Neapolitan-style pizza, brought to your table promptly and without fuss.
An ideal neighborhood pizza joint.</span> Rating:
<span itemprop="rating">4.5</span> </div>

Almost identical in terms of simplicity (or complexity, if you prefer); there is no real difference between the two. Which is, actually, to be expected: indeed, the example concentrates on what one could call a “single-vocabulary” case (whereby I mean that the structured data uses terms from within the same vocabulary). One of the main design goals of RDFa 1.1 (compared to the previous RDFa version) was to simplify such simple cases.

However, the same structured data in HTML may be used for other purposes, in which case one would possibly prefer to add additional terms. As a simple example, one might want to add the address of the restaurant using the vcard vocabulary; this is the case where prefixes do come handy. Indeed, one could add a few lines:

<div vocab="http://rdf.data-vocabulary.org/#" typeof="Review">
   <span property="itemreviewed">L’Amourita Pizza</span>
   Reviewed by
   <span property="reviewer">Ulysses Grant</span> on
   <span property="dtreviewed" content="2009-01-06">Jan 6</span>.
   <span property="summary">Delicious, tasty pizza on Eastlake!</span>
   <span property="description">L'Amourita serves up traditional wood-fired 
   Neapolitan-style pizza, brought to your table promptly and without fuss. 
   An ideal neighborhood pizza joint.</span>
   Rating:
   <span property="rating">4.5</span>;
   Address:
   <span property="vcard:street-address">111 Lake Drive</span>,
   <span property="vcard:locality">WonderCity</span>, 
   <span property="vcard:postal-code">5555</span>, 
   <span property="vcard:country-name">Australia</span>.
</div>

which is just marginally more complicated than the previous case with the additional vcard properties. One could have sprinkled the code with other vocabulary elements, using Dublin Core or other review vocabularies, etc.

At first glance, this code does not look valid in RDFa 1.1, because there is no prefix declaration for vcard. This is correct, and should be added using the @prefix attribute. Except that… the profile mechanism of RDFa might become handy here: one could imagine Google (or the site hosting the review) defining a snippet profile including all the terms that Google recognizes directly but which could also contain prefixes for a number of well known other vocabularies (whether Google uses it in the search pages or not). If so, the only change to the code could be:

<div profile="http://google.profile.example.org" typeof="Review">
   <span property="itemreviewed">L’Amourita Pizza</span>
   Reviewed by
   <span property="reviewer">Ulysses Grant</span> on
   <span property="dtreviewed" content="2009-01-06">Jan 6</span>.
   <span property="summary">Delicious, tasty pizza on Eastlake!</span>
   <span property="description">L'Amourita serves up traditional wood-fired 
   Neapolitan-style pizza, brought to your table promptly and without fuss. 
   An ideal neighborhood pizza joint.</span>
   Rating:
   <span property="rating">4.5</span>;
   Address:
   <span property="vcard:street-address">111 Lake Drive</span>,
   <span property="vcard:locality">WonderCity</span>, 
   <span property="vcard:postal-code">5555</span>, 
   <span property="vcard:country-name">Australia</span>.
</div>

Actually… the vcard case, specifically, may be even easier. Indeed, RDFa 1.1 has the notion of a default profile, i.e., a small set of vocabulary prefixes that are “predefined”. Although the exact list of those prefixes is not yet fixed, we can expect that vcard will be one of those, being one of the most widely used vocabularies around. I.e., the code may be valid RDFa 1.1 after all…

The key point here: RDFa 1.1 brings in an open architecture that scales to authors adding structured data mixing in with ease whatever vocabulary their application needs. Scaling, the possibility to use several vocabularies with ease is RDFa’s real strength, though this is often forgotten. And that openness matters. Take, for example, the BestBuy case. They started with the simple snippet case (yielding real benefit from it, thanks to Google or Yahoo!) but then they added new features with new vocabularies, and extended the functionality for other uses (e.g., to identify shops where a specific item is to available). As so often, openness counts in the long term, also for structured data…

]]>
Open Web Platform Weekly Summary - 2011-05-09 - 2011-05-16 tag:www.w3.org,2011:/QA//1.9101 2011-05-16T20:22:35Z 2011-05-18T20:28:15Z The HTML WG is about to reach a very important step of the current W3C Process: Last Call. For a W3C Technology, it is the moment where the WG members think, they have solve any major issues. The document is considered mature and stable enough. Last Call is here to give another chance for all participants to review a stable version of the specification. All comments will be formally recorded and answered. Karl Dubost http://my.opera.com/karlcow/blog/ The HTML WG is about to reach a very important step of the current W3C Process: Last Call. For a W3C Technology, it is the moment where the WG members think, they have solve any major issues. The document is considered mature and stable enough. Last Call is here to give another chance for all participants to review a stable version of the specification. All comments will be formally recorded and answered. Then once all comments have been answered with satisfaction for both parties, the specification is entering Candidate Recommendation. It is the opportunity for the group to produce an implementation report. James Graham (Opera) asked specifically on how the HTML WG should define the PR entrance criteria.

The HTML WG is a bit specific though. A lot of what is inside in the HTML5 specification has been motivated by describing what browsers were already doing on the Web. This is far to be perfect. There is still discrepancies in between implementations, but it is a lot better than before. If you authorize me to share my own opinion, the specification needs to be implemented by more authoring tools developers to be able to give practical feedback on the specification.

The weekly summary of the Open Web Platform might then change a bit. Though there is more to cover than just the HTML WG.

HTML Working Group Decisions

There was no HTML WG desisions this week. Paul Cotton (Microsoft, co-chair) has sent a Last Call decision poll. These following documents are covered by the poll.

  1. HTML5
  2. HTML+RDFa
  3. HTML Microdata
  4. HTML Canvas 2D Context
  5. HTML/XHTML Compatibility Authoring Guidelines
  6. HTML5: Techniques for providing useful text alternatives

Paul Cotton also sent a detailed timeline for Last Call.

Conversations

Proposals

Announcements

Hot Topics

This column is written by Karl Dubost, working in the Developer Relations & Tools at Opera Software.

]]>