I saw in an entry on the 22C3 blog the question rather than replace is the recently started if this presentation and my other one on W3C Mobile Web Initiative (MWI), a project inside could be considered to be about hacking. The W3C in close cooperation with OMA. The goal author thought so. Working for W3C certainly is to develop guidelines and tests for how to does feel like hacking: hacking the future. write Web content that is accessible from desk- Working for W3C requires idealism, W3C top computers as well as from mobile phones. isn't a dot-com. It also requires political skills, W3C already had a Device Independence (DI) the only way to reach a long term goal is often Working Group, which is developing technol- by means of compromises and short-term solu- ogy (in particular mark-up and APIs) to facili- tions. And it requires creativity in finding sim- tate semi-automatic adaptation of content for ple solutions for novel problems. And isn't that various devices and situations. the essence of hacking? The CSS Working Group is also working In fact, W3C is a balancing act. It is an on adaptation, in so far as the adaptation is in industry consortium with a humanitarian ideal, the domain of style. The technologies by the viz., to let the whole world communicate eas- CSS and DI Working Groups are complemen- ily. It has to create short-term solutions in order tary. W3C believes mobile technologies will be to reach a long term goal. Sometimes people the next big step on the path to the “Semantic challenge us to choose: is W3C about evolu- Web,” so let's take a closer look at those tech- tion or revolution? In fact, the two aren't oppo- nologies as they are currently being developed. sites, they just happen to rhyme. Let me Adaptation is necessary to make optimal explain why. use of the features of each device and the pref- W3C is revolutionary in the sense that it erences of each user. The assumption is that wants to replace proprietary systems with open most information has an abstract essence (its standards; it wants to give the reader the power semantics) that can be represented in various to use information anywhere at any time; it ways. You display it differently on a big screen wants to create an information system that is than on a small one, you may want to replace a powerful and easy enough to make things pos- layout in four columns by a sequence of small sible that have never been possible before and pages, and if there is sound available or even a that nobody has even thought about yet. And it speech generator, some or all of the informa- wants all these things as soon as possible. tion may pass better in audio. Ideally, the user But W3C is also evolutionary, in that it agent (typically a browser) adapts the content wants to progress with small steps, which to the device and the user's preferences based allow for mistakes to be caught early and on the structure and metadata of that content, which allow existing systems to be integrated. but fully automatic adaptation doesn't yet work It would be a waste if adopting the Web meant very well and the author or somebody else losing everything that is not in HTML and on often has to add extra information to guide the an HTTP server. One of the “glue” systems of adaptation process. the Web is the URL (or URI, as it is now CC/PP is one of the technologies devel- known): Web resources can link to almost any- oped by the DI WG. It is a format for exchang- thing on the Web, it doesn't have to be on an ing device characteristics and user preferences HTTP server. between a client and a server. The format is An example of W3C's wish to integrate based on RDF (and thus on XML). It is exten- 12Yes208x320YesISO-8859-1ISO-8859-2 ... ... GSM_GPRS_IPV4GSM_CSD_IPV4 ...
Figure 1. A fragment of a device profile in CC/PP with the UAPROF vocabulary.
sible and can be used for almost any kind of default, the URL can point to the version stored characteristics, but it is currently used mostly on the manufacturer's site. for UAPROF, a set of characteristics of mobile The server typically doesn't even have to phones defined by OMA. Most mobile phones fetch the profile when it recognizes a implement UAPROF. well-known URL. The goal of CC/PP is to provide the server The DI WG is finalizing DISelect, an with enough information about the device and XML-based format for storing alternative ver- the user to be able to adapt the content it sends. sions of documents in one file. The idea is that This is especially useful if the author has pre- alternatives typically only differ in small areas pared optimized alternative content for some so you can write most of the document once devices or when the device has limited capabil- and then have multiple branches where needed, ities of adapting content by itself. See figure 1 very much like “#ifdef” in C. The branches for an example profile. depend on conditions, which are typically Profiles can be sent from the client to the device characteristics such as those found in server, but typically they are stored somewhere CC/PP or in Media Queries (see below). Here and referred to by URL. It would be too ineffi- is a fragment (taken from the draft specifica- cient to send the profile with every request. If tion): the profile is unmodified from the factory css">
Figure 2. An example of HTML with Media Queries. The first line uses only the MEDIA attribute from HTML4.
vided by programming libraries on clients and
The flooding was quite that gives programs access to device character- extensive.
istices, the same characteristics that DISelect
hasProperty() and insertProp-
erty(). Via these calls, a program can, e.g., find out what the screen size is or the battery
Many people were evacuated from their homes.
charge and display a warning when the battery is low. This fragment expresses that the