Beginning XHTML | 17
User Agent Constraints
The second set of factors deals with the user-agent applications (the Web browsers) running on the target devices.
XHTML Element and CSS Property Support
As you may well be aware, there is considerable difference between personal computer Web browsers when it comes to element and property support. The differences increase when you move beyond the computer platform to set-top boxes and handheld devices. For example, the WebTV platform does not support the <applet> element and the Palm Web Clipping platform does not support the <frame> element.
File Format Support
Non-traditional Web devices may only support a limited set of file formats or features within these file formats. For example, the Palm Web Clipping platform only supports JPEG and GIF files (not PNG or animated GIF files). The WebTV platform is also limited on its native support (what it can do on the set-top box), but there are special servers that automatically convert many graphic file formats (such as PNG) to these formats before the user sees the Web page.
A great deal of the multimedia on the Web is realized through plug-in decoders like Flash and QuickTime. While these types of plug-ins are well supported by the major browsers, the lack of memory in many non-traditional Web devices prohibits their support. For example, the WebTV Classic platform only supports Macromedia Flash Version 1 and the Palm Web Clipping platform does not support any plug-ins.
Human Interface Device Constraints
The third set of factors deals with the way in which users interact with the device.
You can feel pretty confident that anyone accessing your Web page on a computer has a mouse, or something like a mouse, as an input device. A common feature of these types of input devices is that they control a cursor that can move from any pixel on the screen to any other pixel on the screen, moving over any pixel on the screen.
This type of input is not always available on some Web devices. For example, on some set-top boxes, your users may only be able to use an up-down-left-right set of keys that moves the cursor in a grid pattern.
Likewise, you can feel pretty confident that anyone accessing your Web page on a computer has a full-function keyboard. This means that they can enter any alphanumeric symbol with relative ease.
This may not be the case on some Web devices. For example, WebTV does not normally ship with a keyboard. Therefore, many WebTV users must use their remote control for entering alphanumeric characters - quite cumbersome, indeed.
Another important factor is the distance between the display and the user. As the user gets further away from a device, it is more difficult (and stressful) for the user to move a cursor to a small region on the screen.
In addition, the mode of the user may change as well. When the Web device moves from the office to the living room, the user will change from an active, lean-forward, posture, to a passive, lean-backward, posture.
The device may also go from a single owner device (like a handheld device), to a single user at a time device (like a personal computer), to multiple users at a time device (like a television set-top box).
So the big question is: how do you deal with all of these factors?
Well, the simple answer is that you do not need to deal with all of these factors all of the time. First and foremost, you need to identify:
- What you're trying to do with your Web page (your goals)?
- Who is your audience?
The answer to these two questions will help you identify which 'factors' you need to address.
Once you have identified which factors you need to address, you can determine which strategies or combination of strategies are appropriate to your needs.
There are three basic strategies for managing content that targets multiple devices (rather than just traditional Web browsers that we looked at in the page and site design chapters earlier):
- Content selection
- Content generation
- Content adaptation
Each of these is described in the following sections.
The content selection strategy means that you have multiple versions of your Web page, each version tailored to one or more devices or Web browsers.
This is the simplest approach from a technical perspective - all you have to do is determine which Web browser is asking for your Web page and deliver the Web page for that browser. On the other hand, it will require that you author multiple versions of the same document. This can become a considerable maintenance headache if the number of files or the number of devices increases.
The content adaptation strategy means that you adapt an existing Web page to meet the constraints of the target device.
This strategy is very common in the Web. AOL and WebTV both perform content adaptation using something called 'proxy servers'. Proxy servers intercept documents as they move between the servers originating the documents (often called origin servers) and the client devices. These proxy servers adapt and cache the documents before passing them onto the client devices.
Unfortunately, proxy servers are not always available and their autonomous processing may lead to less than desirable results.
Content adaptation can be as simple as converting image and audio formats into those understood by the target device (WebTV converts PNG images to the GIF file format, for example), or content adaptation can be as complex as changing the content of the document.
As an example of this, WebTV does not support frames in the set-top box, rather, the WebTV proxy servers convert frames into tables.
A similar approach is being taken by the Wireless Application Protocol (WAP) Forum, an industry group working with the World Wide Web Consortium to define a markup language and protocols for delivering Web content to mobile terminals (like cell phones). The WAP architecture calls for 'proxy servers' that can convert between the HTML and XHTML languages into the WAP Markup Language (WML).
Content Generation and XSL Transformation
The content generation strategy means that you dynamically build a Web page that meets the constraints of the target device.
Typically, you would have an XHTML template for each target device, and the content comes from a database. Today, each of these template-database systems uses a proprietary solution.
The World Wide Web Consortium has introduced a new technology aimed at solving this problem. This new technology, called XSL Transformation (XSLT), is a language for transforming one XML document into another XML document. This means that you will be able to use your 'sniffer' technology to determine which browser is being used, and then apply XSLT technology to generate the correct XHTML document.
While the tools are not quite there yet, you can get a taste of XSLT using Microsoft Internet Explorer.
Created: May 04, 2001
Revised: May 04, 2001