Or, How I learned to stop worrying and love the stylus
Most people in IT are exposed a lot of different web-enabled devices, but we probably don't pay enough attention to their interfaces. Many web developers have a tendency to just think about desktop PCs running Windows, or perhaps they'll think about Macs too. But what about all the other devices?
I've been pushed into thinking about this over the last few days, mostly because I've been using a borrowed tablet PC while my desktop was having some niggly hardware problems. The way I've used the tablet is substantially different from any other device I've used before.
devices and their interfaces
Let's take a look at a few of the devices people are using. I won't dwell on desktop PCs of any flavour since they're reasonably consistent: keyboard, mouse, full size monitor. Walking across a university campus, you're increasingly likely to see any and all of the following devices.
- keyboard and touchpad/joystick/trackball
- when docked, full size keyboard and mouse
- a lot of people are slower when using touchpads and joysticks
- stylus and on-screen keyboard when undocked
- any combination of stylus, keyboard and mouse when docked
- forms with no submit button - the stylus "clicks" so you have to pull up the on-screen keyboard and use the enter "key"
- precise clicks - the stylus tends to drag a little when you're trying to click, so very small click areas and close-spaced links can be irritating
- links with no "active" style - when you're not completely sure if the click has registered (or if you clicked the right thing), you'll really wish there was an active style on the link
- absolutely awesome for any interface which uses click+drag (play Solitaire or Bejeweled to see what I mean)
- if the interface is sensitive enough, great for drawing
- users far more likely to switch between portrait and landscape orientation
- keypad, sometimes joystick-style buttons or stylus
- some models have extras like little keyboards and so on, but they're not especially common
- apart from phones with Opera, the embedded browser is likely to be pretty limited with unpredictable support for standards, plugins, etc
- almost none of the browsers properly support
- most phones have low bandwidth connections and/or can't load big files
- some interfaces forget the "enter" key and can only submit forms with the stylus (or the user won't know how to find the enter key, which is effectively the same)
- very small screens (relatively speaking)
pda and handhelds (including game devices)
- stylus which is also used to enter text with graffito or on-screen keyboards
- many PDAs have addons like keyboards or mice, but they're not universal
- game devices often have cross-pad devices, some have joysticks
- all stylus-related limitations of the tablet pc
- all browser/UA limitations of mobile phones
- relatively small screens or even split screens (eg. Nintendo DS)
- some screens have glare/backlight issues
- some have very odd text input methods - eg. the Sony PSP takes some getting used to and URLs are a pain to enter
user familiarity masks problems
Users do find ways around many limitations, or become so used to poor workarounds that they no longer think of them as "problems". However if you have a system that needs lots of workarounds, users are also likely to simply stop using your system and go elsewhere. User familiarity should not be seen as a substitute for good usability.
connecting in the first place
Many of these devices have "wireless capabilities" but this can mean many things. Wireless LAN without security, wireless LAN with security, bluetooth, WAP, etc. A large number of devices can connect to a wireless network but won't get past corporate VPN requirements. For example there's no VPN client for the Sony PSP, which put an abrupt end to our wireless testing at work (although the PSP is actually capable of using most of our systems, so long as VPN is down at the time).
Even if you can connect, wireless networks (at least in Australia) usually aren't the nirvana you might wish for. Slow, prone to dropouts and generally not free, wireless is absolutely not "ubiquitous" and not necessarily "high speed".
so what do we learn from all this?
To a large extent, you could summarise by saying that - between all the options- users with devices other than desktop PCs have the same requirements as disabled users. That means some of the most technology-savvy, youngest and brightest users are actually the ones at risk of hitting problems. The user base also includes key decision-makers like managers, CEOs and so on who like to have the latest and greatest toys.
One interesting thing to note is that some users are essentially mouse-only users, which is less commonly considered than keyboard-only users. Most devices do offer a keyboard substitute but many of them are limited.
Here's the good bit. You can cater to varied devices by doing all the "right things": build to standards, don't use tables or fixed width layouts, let users choose or override style settings, keep page weight to a minimum.
It's not a new message, just a lot of new reasons for the ones we already know. Best of all, they're reasons based on the latest gear rather than any form of moral highground or expectation that everyone wants to follow Best Practice.
Standards are good for the boss's latest PDA; your kids' expensive new game handheld; and the tablet PC you kind of wish you didn't have to give back to your employer. They're not the most laudable reasons, but they sure do motivate people.