16 Aug 2016

Rethinking the Need for Pointing Devices

Many UIs have click targets that are small and placed closely together. You can't comfortably tap them with your finger. You have to use a precise pointing device like a mouse.

If you had to go back and build the GUI all over again, would you start by deliberately making click targets tiny and then adding a device to point precisely? That would be like a restaurant that printed its menus in 2pt font, and then provided customers magnifying glasses. Instead make the menus big enough to read, or the targets big enough to tap.

You can use a mouse if you want to, but that should generally your decision as a user, not the programmer's decision. UIs should be responsive, not just working well on any screen size, but also working well with either touch or a mouse. Making a UI that doesn't work well with touch is like making a map that can zoom in only via a multitouch pinch-to-zoom gesture.

In addition to working with touch, bigger tap targets are easier to target with a mouse as well. Especially for elderly and impaired people, who may find it hard to point precisely at a tiny click target, but also for everyone else.

Bigger, widely-spaced targets will also make UIs simpler to use. Other actions that no longer fit on screen can be hidden in a menu, following the principle of progressive disclosure: don't dump everything on the screen at once. Put the frequently used actions front and center, and other actions one level away in a menu.

UIs that appear simpler visually are also less intimidating. Especially for people who aren't power users, who are the majority of users, not people like you and me. Actually, we're all novices when we start using an app for the first time. Or when we lose touch with an app. I've used Eclipse for years, but not for the last two. If I restart using it, I will be something of a novice. At which point I'd welcome a simplified Eclipse UI, rather than one stuffed with controls of all kinds.

So, the norm should be UIs that are touch-friendly, and don't need a pointing device. While supporting one, should you choose to use it.

If most UIs should be touch-friendly, most screens should also be touchscreens. You can choose not to touch it, but it should be your choice, not imposed by limited hardware. When you do touch it, it should work. And people often do touch non-touchscreens, because they're so used it. Just make it work. Good UI conforms to users' expectations rather than making users conform to the UI.

This opens up the possibility of devices like the 13-inch iPad, which have a touchscreen and a keyboard but no pointing device. As John Gruber points out, a trackpad isn't inherently necessary, given that the iPad offers two alternat input methods: touch and a keyboard [1] [2].

This is a novel tradeoff. So far, the keyboard and mouse tended to go together: PCs and laptops have had both, and phones and tablets, neither. But, for the first time, we have a device that has one but not the other: a keyboard but no mouse. And this is on a device targeted towards getting work done, for professional use, and for content creation, not just consumption. This is a novel tradeoff, and is made possible only by the UI being touch-optimised [3].

But there will always be exceptions, situations where you need to point more precisely than the width of a human finger. In those situations, you need a pointing device. But that doesn't mean a mouse. A stylus like the Apple Pencil may make more sense. It recognises pressure and tilt. Other stylii like the Surface Pen offer an eraser at the back. If a certain application is best used with a pointing device, it doesn't automatically follow that that pointing device should be a mouse.

We all have a strong status quo bias: we think that whatever happened to exist is the optimal answer. But that could have been just a limitation of technology, or an accident of history. Let's revisit the status status quo with an open mind, and rebuild it from first principles. If we do that, maybe we'll end up with a diversity of pointing devices: some people will use a traditional pointing device like the mouse / trackpad / pointing stick, and others will find that a stylus works better for their needs. And still others won't use a pointing device at all.

In summary, most UIs should be touch-friendly, and not require a pointing device. While still supporting one, should you choose to use it. That should be the norm. The exception is applications where you need to point more precisely than the width of a human finger. In those cases, the answer might be a stylus rather than a mouse. Let's revisit pointing devices with an open mind.

[1] Assuming you bought one or are using an existing Bluetooth keyboard.

[2] iOS, and iOS apps, have poor support for a keyboard, but that's a straightforward thing to fix.

[3] Which is a big problem with the Surface Pro 4. Because of the lack of tablet apps, you mostly end up running old Win32 apps that don't work well with touch. At which point the Surface becomes just a slight variation on an old device: a laptop with a keyboard that happens to detach, but is often used with it attached. The Surface Pro 4 is not a genuinely new device like the 13-inch iPad is. The former may well be a better device for some people today, but it's optimised for the past, not exploring a new tradeoff for the future.

Windows RT, though a commercial failure, did one thing right: all the apps it ran were optimised for touch. Like they are on the 13-inch iPad.

No comments:

Post a Comment