Sunday, March 24, 2019

What does your product disallow?

Product design sometimes opens an interesting can of worms: things that may be possible to do, but which the designer didn’t intend. Do you hide these paths or not? Will your user ultimately be frustrated, or satisfied?

The answer depends on whether your product’s design accurately sets and meets expectations for the majority of its user base. Let’s try a quadrant.

Vertical axis: complexity level of the typical user’s actual need
Horizontal axis: designer’s assumption of typical user’s need

Lower left: If the task that the user’s trying is simple and the designer has assumed this to be true, a prescriptive interface that hides everything but the happy path makes sense. Don’t offer options you haven’t planned for, and narrowly design for specific use cases. For example, the basic note taking app Bear has few options, easy discoverability, and a low bar to entry. I’m writing this article in it on an iPhone with a folding keyboard, and it’s a good tool for this task.

Upper right: If the user’s actual need is highly complex and the designer realizes this, then a wide open toolbox interface makes the most sense. Guard rails on the user’s experience are as likely to produce complaints as relief. The vim text editor is hard to use correctly without training, and its design makes no pretense towards friendly or easy. If I want to anonymize and tokenize a gigabyte of log files, vim is a good tool.

Upper left: If the user is doing something complex and the product does not support this complexity, they are unlikely to be happy using it to complete the task. I would find it very difficult to write a script or process logs with Bear on an iPhone. It does not support me or aid me in that task because its assumptions do not correctly align with what I will need to do that task. I’ll be frustrated in doing this task, but I’m still allowed to try.

Lower Right: If the user’s needs are low complexity and the designer’s assuming a high complexity need, the product is going to be very frustrating. For instance, using the vim text editor to take simple notes in a meeting is possible, but a user who is not familiar with the editor will struggle with its modes and may not even know how to save their file and exit.

Alignment is alignment, straightforward enough. The choices made in products for moments of non-alignment are more interesting. If the product overshoots the user’s need it frustrates with a lack of clarity. The user struggles to see if the product is able to do the task, exploring the interface and searching for an answer: should they invest more time into learning the product, or switch products? If the product undershoots the user’s need, it’s clearer, and the user moves on quickly.

So far so good with text editing. What about an enterprise-scale policy enforcement tool? For much of my career I’ve worked with tools that empower the enterprise to see what’s true and make it better. Some products have focused harder on different aspects of this mission, but everything I’ve ever sold has been able to cause massive damage if misused. What’s more, it’s not theoretical: some customer has done that damage, and all enterprise software vendors have off-the-record stories. That includes the everything as a service folks, of course, and commonly enough that stories about those accidents are public knowledge.

And yet, all of these products or services overshoot the complexity target and err on the side of flexibility. They may offer use-case specific wizards for specific tasks as extra cost add ons, but you can always get to the platform’s full capabilities if you’ve got administrative rights.

Why is that? People have often heard me say the flippant phrase “we sell chainsaws, up to the user to be careful”, but why does that resonate? As a vendor it might look like abdication of responsibilities... but it is a free market, in which make-X-easier startups fail every day. I think the reason is that protecting people from themselves is not a good look. It’s far more effective to produce the powerful product for complex stories, allow full access to that power, and add easier tools as extra cost options.