Friday, October 5, 2012

QA it Again Sam

The other day, a developer of my acquaintance said "well, a click is just a click." To be fair, in that discussion in that context in the limited way in which he meant it in the environment under consideration for the purpose we had in mind on that particular occasion he was probably sufficiently close to something not too objectionable that I didn't bother to raise a red flag.

Didn't bother and (a) by the time I'd thought all that the conversation had moved on and, more importantly, (b) I've been around long enough and burned myself enough times that I've finally realised that nobody likes a smart-arse. Me included. Especially when I realise it's me. (Have the same problem? Let it all out in a blog!)

But the notion stuck with me: is a mouse click ever really just a click?

If we consider a mouse click to be an atomic action then a single click exists as an entity in its own right and distinct from other clicks. Distinct, yes, but it could still be the first, second, third, ... in a sequence and usually the number of clicks is significant. But a click isn't an atomic operation. A click has component parts - the down and the up - and even they might not be truly binary at the electrical circuit level. Just when does a click start and end? Actually, that's easy: at the cl and the ick.

Anyway, how long between clicks is it reasonable to call the clicks part of the same sequence? Two identical clicks separated by ten seconds might cause the same effect twice, but separated by a tenth of a second cause a single, other, effect.

Perhaps some notion of a standard click works inside an application? Many devices permit gestures that mimic clicks, or are equivalent to clicks: keyboard shortcuts and accelerators, tapping on touchpads, graphics pens, styluses, touch screens and so on. But the physical properties of these devices make their "clicks" practically different from a mouse click in invocation and they depend on some interface to map them onto an internal notion of a click. So the application can interpret a click as a click after normalisation? But who ensures that all the normalisation is consistent. Is a click output from interface A the same as a click from interface B?

Even on the device click gestures aren't universal: touchpads often have areas which function as scroll-wheels, for example. And let's not get into the click and a half or even begin to think about the variability that might be present in the component parts of a physical device.

Many laptops have multiple mouse analogues - touchpads and pointing sticks - and you can plug in additional devices too. Are clicks equal from all of these? Could you make a double-click using two different devices? How is conflict or competition between the devices resolved? Can clicks be physically made and not registered? Does every click count?

But assume we have a standard click and consistent click at some interface layer. We still have multiple buttons. Is a click on button 1 the same as a click on button 2? On button 3? On a mouse wheel? What about when the user has configured a mouse to have non-standard button actions in the OS level, outside of the application? Is that click still a click?

We haven't even begun to think about where the clicks are directed. What OS they're on, what application they're on, what component they're on, what widget inside the component, if any, which pixel on the component. All of these could be significant.

Users rule us. It's important to think about why the click was made. The intent of the user is relevant in considering whether clicks are equivalent. (But to who or what?) What guided the user to click where they clicked anyway? They might have the same intent on two completely different clicks but have been advised badly by poor UI or doc.

Did we think about clicks with duration? Is a press and hold the same as a click? If not, how long is a hold? Is it the same on all devices? For all applications? Who decides?  What about clicks on the move? If the mouse is moving, when the button is depressed, is that still a click? If the movement starts first, or only after the button is already down, or along with the release, is that still a click? Is it the same as a static click? Is there a notion of force of a click? Can you click harder and softer?

I'm sick of clicks now, but they've reminded me that as time goes by I find myself learning and relearning an important lesson: nothing is ever just a something.
Image: Danilo Rizzuti/

No comments:

Post a Comment