Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 123 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 129 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 136 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 170 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 200 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 206 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 231 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 242 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 254 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 293 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 351 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 352 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 353 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 354 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 355 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php on line 571 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_misc/_misc.funcs.php on line 197 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_misc/_misc.funcs.php on line 202 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_connect_db.inc.php on line 27 Warning: Cannot modify header information - headers already sent by (output started at /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php:123) in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/sessions/_session.class.php on line 222 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/generic/_genericelement.class.php on line 112 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/dataobjects/_dataobject.class.php on line 428 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/dataobjects/_dataobject.class.php on line 437 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/collections/_category.funcs.php on line 390 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_misc/_resultsel.class.php on line 549 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_misc/_resultsel.class.php on line 563 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/items/_itemlist.class.php on line 602 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/items/_item.class.php on line 2952 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_misc/_plugins.class.php(3113) : eval()'d code on line 1 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_misc/_plugins.class.php(3113) : eval()'d code on line 1 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_misc/_plugins.class.php(3113) : eval()'d code on line 1 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_blog_main.inc.php on line 306 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/items/_itemlist2.class.php on line 120 Deprecated: Assigning the return value of new by reference is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/items/_itemlist2.class.php on line 796 Deprecated: Function ereg() is deprecated in /afs/w3.org/pub/WWW/2005/06/blog/inc/_blog_main.inc.php on line 413 Warning: Cannot modify header information - headers already sent by (output started at /afs/w3.org/pub/WWW/2005/06/blog/inc/_main.inc.php:123) in /afs/w3.org/pub/WWW/2005/06/blog/inc/MODEL/skins/_skin.funcs.php on line 71
Thanks to Samuel Chong the FAQ-based article "Using <select> to Link to Localized Content" has now been translated into Traditional Chinese. [search key: qa-navigation-select]
Last week, I was participating to WWW2009 in Madrid - each year, the World Wide Conference, the mother of all Web conferences, hosts a track organized and animated by W3C.
I think it was the first time that the Mobile Web got so much visibility in this conference: most (if not all) of the rather prestigious participants to the Web 20th anniversary panel mentioned the potential of the mobile web in their thoughts for the future of the Web, and more generally, the mobile web was a recurrent theme in most of the keynotes of the conference.
The other big theme was clearly around social networks, a topic close to my heart due to my involvement in the Workshop on the Future of Social Networking that led to the recent creation of the Social Web Incubator Group in W3C.
And both of these topics were at the very heart of the W3C Track in the conference - this year, the track was run as a couple of camps: one on Mobile Widgets, the other on Social Web, with clearly some overlap of interests between the two sessions.
I thought that both sessions were quite a lot of fun - I got to write my first widget in the first camp -, and I really enjoyed the opportunity to interact with all of the participants that chose to take part to that exercice! Hopefully, I'll find some time to gather and formats the notes that were taken during the various discussions groups.
Overall, I enjoyed the conference very much, and I was glad to see that the number of people that look at you like you're a madman when mentioning the usage of Web on mobile devices as important is declining very quickly...
W3C invites people to attend the W3C Track at WWW2009, in Madrid, Spain on 23-24 April 2009. Part of WWW2009, the first day of the track is a Mobile Widgets Camp and the second a Social Web Camp. Conference participants and the local developer community are invited to submit topics of discussion in advance, via the W3C Track wikis.
The MW4D IG held its 14th teleconference on February 16th 2009.
The approved minutes are available at http://www.w3.org/2009/02/16-mw4d-minutes.html
Previous meeting minutes are available from the teleconference archives
In England there are several shops on the high street which sell mobile devices such as:
Only recently I've noticed that some stores allow you to surf the Web on your devices, such as the Nokia flagship store in Regent street, London. Perhaps your local mobile shop now offers a similar service?
Where shops do not offer this facility, please take a moment to politely request Internet access in order to test the mobile's browser(s) on your favourite Web applications.
And what test could you use? Try the WCTMB test and please submit the results.
Be aware that some shops seem to operate odd policies when it comes to photographing the device.
There are many different mobile devices with many different features to choose from. Please make a good quality Web browser be one of them!
Following the "Future of Social Networking" workshop report recommendations, W3C is pleased to announce the creation of the Social Web Incubator Group. The group's mission is to understand the systems and technologies that permit the description and identification of people, groups, organizations, and user-generated content in extensible and privacy-respecting ways (read also the group's charter for more details). The group will be co-chaired by Dan Applequist (Vodafone), Dan Brickley (Vrije Universiteit), Harry Halpin (W3C Fellow from the University of Edinburgh with support from Eduserv).
As the inputmode attribute has been dropped from the current draft of the HTML5 spec, we have now replaced the inputmode part of the Web Compatibility Test for Mobile browsers. In its place you will now find a new JavaScript framework test.
Modern web sites and web applications are becoming increasingly complex, often relying on large client-side scripts. A few different JavaScript frameworks aiming to ease the life of script authors have become very popular in recent years, and is today deployed on countless sites.
Any mobile browser that intends to make full use of said sites and applications must be able to load and use these libraries. Our new tests consists of loading the library of jQuery and the executing the simplest possible test using this library:
$(document).ready(function() { $("#jquery").addClass("green"); }); Since making our second Last Call for comments at the end of last year we've responded to all of them and have been completing work on the tools - the processors, the XSLTs and so on - all of which has now been done.
So why aren't we at PR yet? There are a couple of reasons for this. There has been an ongoing battle between (WG member) Stasinos Konstantopoulos and (W3C team member) Eric Prud'hommeaux over whether the POWDER Semantic extension applies to the data layer or the application layer. The two protagonists have agreed to differ whilst the document has gone forward.
The second issue that has arisen concerns the other area that has prompted a lot of comment - the canonicalisation section of the grouping doc. Despite many changes over the last year or so and input from the Internationalisation WG, (W3C team member) Thomas Roessler spotted more problems with this section.
After a lot of e-mail bouncing around on, I'm sorry to say, a team-only list, I had a long conversation with Thomas and (Semantic Web lead) Ivan Herman. Some context:
The Semantic Web (RDF, OWL, SPARQL etc.) is written solely about URIs, not IRIs. Furthermore, all URIs are opaque strings - they have no meaning. This goes back to Jeremy Carroll's useful distinction between "http://www.example.com" and <http://www.example.com>. In other words, for RDF etc. our issue of processing URIs/IRIs as meaningful strings doesn't arise.
IRIs - that is, URIs written in things like Cyrillic script, Japanese Kanji etc. - are going to be more important in the coming 12 - 18 months (according to Thomas who, among other things, represents W3C at ICANN and so has a good grasp of such things). For POWDER not to be useful now and in the near future across all parts of the Web would limit its potential usefulness.
As we have discovered, the encoding of IRIs and International Domain Names is less than clear. However, there is a recognised path to take in this area which involves converting IRIs into ASCII - essentially converting IRIs to URIs.
It is not the POWDER WG's job or wish to solve the whole issue, neither is it within our ability to do so.
The POWDER to POWDER-BASE transform XSLT doesn't do any of the canonicalisation stuff, and it would be hard, if not impossible for it to do so. Therefore, strictly speaking, some form of pre-processing is already necessary before the XSLT is applied (the Perl script does do the canonicalisation but now needs a bit of work).
Given all of the above, the group was faced with a choice between either making significant edits in all its documents to talk only about URIs or, as we have done, further amending the canonicalisation section to introduce the ToASCII function as defined in RFC 3490. It is this change that has prompted the new Last Call announcement, open until Monday 27 April. The documents published on 3 April to coincide with the Last Call reflect all the changes made following comments received in the previous calls and, with the exception of the highlighted sections of the Grouping of Resources document on canonicalisation, are considered stable.
One important, although editorial, change worth highlighting is in the Description Resources document. The definition of the describedby relationship type and the two POWDER Content Types is much improved. describedby is now included in the IANA registry of ATOM Link relationship types.
The Test Suite has been significantly updated in the 3 April version and is now unlikely to change significantly (we may add some new tests for the canonicalisation section). Perhaps rather perversely, the test suite does include a test for the informative section on HTTP Link. The Primer is considered stable and very unlikely to change further.
Minor adjustments to the POWDER Processors are in progress and, notwithstanding changes prompted by the last call, the group is expecting to go to Proposed Recommendation in May.
Today is the first day of the W3C Workshop on the Africa Perspective on the Role of Mobile Technologies in Fostering Social and Economic Development, in Maputo, Mozambique. The agenda of the Workshop focuses on the challenges of using mobile phones and Web technologies to deliver services to underprivileged populations of developing countries. International experts, local actors, researchers, and NGOs are participating in the meeting, hosted by the Ministry of Science and Technology of the Government of Mozambique and organized as part of the Digital World Forum project (European Union's FP7).
This post is the last post of the One Web series. Previous part focused on the theory behind One Web. Time to focus on One Web in practice!
Neo: I know One Web!
Morpheus: Show me.
One Web says that you should use one address space: the different versions of a resource should share the same URI used to access the resource from a desktop browser, a mobile device or a TV set.
The need to use one address space applies to all the resources of a given Web site, and not only to the main index page. Deep links (i.e. links to specific pages within a Web site) are common on the Web. The structure of your Web site should be consistent from one version to the other.
One Web says that a URI should return predictable results over time and across devices. A user that accesses a URI from different devices, e.g. from his desktop PC and from his mobile phone, should feel that is is the same. In other words, the different versions of a resource should be thematically consistent.
Thematic consistency does not mean that the content has to match exactly. It means that, as far as is reasonable:
In short, it means that users who switch from one device to another should not have to wonder: "Where is this piece of information I'm looking for? I know it's there, I saw it on my laptop!" A single glance at the different versions should be enough to say "OK, that's the same thing".
The best time to start worrying about thematic consistency is when you design your content:
Starting from a default version of your content, there are different ways to enhance the user experience:
To start using content adaptation and return a version of a Web page that fits the capabilities of the requesting device, you first need to know what these capabilities are.
The requesting device can be identified from the HTTP headers sent in the request, and in particular from the User-Agent, Accept and Accept-Charset HTTP headers. Once identified, the capabilities of the device can be retrieved from a Device Description Repository, i.e. a database that describes mobile devices. There are multiple databases available. The Device Description Repository Simple API standard defines a common interface to access such databases.
Once you know the capabilities of the requesting device, you can eventually exploit them and adapt the response consequently. In the HTTP headers returned with the response, add a Vary HTTP header so that proxies between your server and the final client understand that you use content adaptation and do not incorrectly cache and serve a version of the page that does not match the user agent.
User-Agent HTTP header to adapt your content according to the capabilities of the requesting devices, ensure that the HTTP response you return contains the following HTTP header:
Vary: User-AgentUser-Agent, and will not cache the response inappropriately. Content adaptation comes at a cost: that of having to maintain multiple versions of the same content. Since many devices share similar capabilities, it is good practice to use device classification, so that you only have to manage as few versions of a Web page as possible.
Once you've managed to create a few versions specifically tailored for a few classes of devices, you might want to go a bit further and start taking into account the context of the user at large. The capabilities of the user's device are but one side of the user context. Some other considerations:
The generic user context cannot be inferred from the request itself. The user needs to be able to switch from one version to the other, depending on his context. The context could be stored in a cookie, but cookies may be disabled or not supported. And so you need to use distinct URIs for the different contextual versions of a Web page in that case.
Wait! Doesn't that break the one address space rule? Not if you do it properly:
a link elements in HTML pages that users can follow, or implicitly using link elements in HTML pages so that machines (e.g. search engines or mobile browsers) can understand that the versions actually are different instances of the same resource.handheld) devices and that there exists a desktop (screen) version of the Web page.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[title]</title>
<link rel="alternate" media="handheld" href="" />
<link rel="alternate" media="screen" href="screen.html" />
</head>
<body>
[body]
</body>
</html> What if contexts are so different that thematic consistency seems to be wholly inappropriate? If you find yourself in this situation, you've probably reached the point where you are trying to represent different pages using the same address, and we've seen in the previous post that this is bad practice. Different URIs should be used for the different pages and, although guiding users through the different pages is a good thing, there is no need for a canonical URI per se.
The dividing line between what constitutes variations of the same page and different pages around the same topic is fuzzy. As a possible rule of thumb, imagine a user being referred to the Web page by one of his friends. If some contexts would leave him wondering what his friend is talking about, different pages are probably needed. Note this only works provided that the reference is more generic than "look at this picture", or "look at the third menu item". Can you think of a better rule?
Neo: What did she tell you?
Morpheus: That I would find the One.