Handling non-computer browsers

The number of non-PC devices accessing the internet is growing rapidly, ranging from the Bush Internet TV to the Sega's Dreamcast games console, consumer electronics manufacturers are racing to incorporate Internet access in their products.

And when you're developing a web site, especially in the business to consumer e-commerce arena, you want your site to be accessible to as many potential customers as possible. Although at the minute a fairly small percentage of traffic is generated by non computer users, it's bound to increase significantly as the take up of broadband and 'connected consumer electronics' continues.

Recently many web sites have been re-purposed to run on wireless and other 'power-disadvantaged' browsers. Because of the huge differences in abilities, the functionality of the site is often reduced to just the bare essentials, and the site is, in effect, re-written. However, the differences between PC browsers and some internet appliances can be so subtle as to be quite difficult to spot. Simply expecting your site that works okay with IE 5 to also work flawlessly with say, the Bush Internet TV, is dangerous.

The trouble lies when the browser implements features slightly differently to way they work on a PC. Even though the embedded browser may support certain language features, e.g. JavaScript 1.1, in practice it can be unusable.

Common Restrictions

One of the most common restrictions among consumer browsers is on opening new windows. Because most, if not all, of these systems lack a complete GUI with multiple windows opening and closing like a desktop operating system, they cannot offer support for pop-up windows (which could be a good thing if, like me, you find the use of this technique in web advertising really frustrating).

The way this lack of functionality is handled can vary. Some browsers (notably the cable TV boxes) simply remove JavaScript language support for the 'window' object, meaning that inadvertently using it in your pages' code will cause an error and the script will stop. The Dreamcast browser will just refuse to create the new window, confusing users and any code that tries to reference the other window.

There's no easy fix for this shortcoming, apart from considering it from the outset. In the opinion of most user interface designers there should never be the need to create new windows programmatically anyway. It makes navigation more complicated by breaking the normal 'flow' of windows, and it takes control away from the user.

Validation

The most common use of JavaScript is to perform input validation on the client side. Widely accepted as a good way of saving a network round trip and therefore increasing perceived response times this is used extensively on many sites. It's often combined with pop-up alerts, message boxes or dialogs to provide feedback to the user. However the presentation of these alerts isn't as consistent as on a PC, where it will always be in the centre foreground of the screen. Many consumer browsers display alert strings in the area surrounding the page, often at the bottom of the screen, making it difficult to see.

The best way to cater for all types of browser, providing a good user experience on the consumer devices without sacrificing performance for the majority of your visitors, is to explicitly check for non computer devices and handle them appropriately. For instance, provide validation code in two places, on the server side and on the client side in JavaScript. The server side section will always be executed and it can display messages in context, e.g. next to the form element where the problem occurred. Because this method results in simple HTML, it's compatible with all browsers. Then, using the user-agent string it's easy to conditionally output the client side JavaScript validation code only if it's a PC browser (or in this instance Internet Explorer) :

<form action="page.asp" method="post"
<%
	If InStr(Request.ServerVariables("USER_AGENT"), "IE") <> 0 Then
		Response.Write ("onsubmit='return validate()'")
	End If
%>
>

This example uses ASP, it's trivial to do the same thing in JSP or your server side platform of choice. Although it slightly increases the initial coding effort required, in the long run it results in happier users, less errors and better quality data.

Summary of consumer browsers

Here's a short list of some of the new breed of consumer internet devices, and their user agent text for identification purposes:

Type OS User agent
Cable TV (Telewest, NTL etc) Liberate Mozilla/3.0 (Liberate DTV 1.1)
ITV Active/ONdigital Mozilla/3.04 (compatible; NCBrowser/2.35; ANTFresco/2.17; RISC OS-NC 5.13 Laz1UK1309)
Bush Internet TV Linux Mozilla/3.01(compatible; Netbox/3.5 R92; Linux 2.2)
Dreamcast WindowsCE  

Testing

The best advice anyone can give to web developers is test, test, test! Try your site on as many different platforms as possible, testing thoroughly on other computer operating systems like MacOS and Linux should go without saying. Although it can sometimes be difficult to get your hands on hardware to perform these tests, try asking around either colleagues or, if the budget will stretch to it, a professional testing company.

Emulators are available for some cable TV browsers, and they do an extremely good job of allowing you to see exactly how your site will work. And, because they're intended as development tools, you get more than enough debugging information to get to the bottom of the compatibility problem fast.

Other types of device are, by their nature, inexpensive. Around 200 should secure you a Bush Internet TV and a Dreamcast console to let you test to your heart's content (not to mention the other, more enjoyable use of a games console)!

Summary

As the browser compatibility struggle expands from simply Netscape/Internet Explorer and computer platform differences, web site creators need to be aware of the subtle differences in the capabilities of the new consumer internet devices. Some elements may require a major rethink about why a certain language feature has been used, while other changes can easily be retro-fitted to existing sites to enlarge the potential visitor base, especially for the future.

Read another of our articles here.

© Copyright 2000 Opcode Digital Ltd
All trademarks are the property of their respective owners.

Back to the opcode digital homepage