I recently read an article online that claimed that adding friction and degrading user experiences was a good thing. This sparked some outrage along the community of people who care about disability issues, and it’s just poor practice in general.
Indirectly though, the article had a point. It’s not always good to make user interfaces completely seamless or invisibly fast.
…But not really
What concerns me was not so much the particulars as to what’s done in the various piece of software that were mentioned in the article. It’s the idea that the changes that were added, including including letting users know what’s going on behind the scenes, or increasing their security with two factor authentication, to make things worse.
Let’s walk through a couple of the examples given, and examine if the thesis that it’s to add friction or make things worse. And to add some more value, let’s look at these from the disability perspective .
- Two factor user authentication
- Tax software that spends a fixed amount of time displaying “checking your submission” when it’s likely already complete.
Two factor user authentication is a set of technologies so that if two factors are required for login. The advantage of this approach is that if first authentication is forged or stolen (with a weak or stolen password, for example), then the attacker won’t have the second factor, and thus won’t be able to access the account.
Is this less convenient and slower for the user? Yes, of course. Does it add value to the user? Yes, absolutely!
User interfaces that spend time presenting information when the task is already complete. Yes, tax software was the chosen example. But if you think about it, there’s no particular reason why a traditional dialog box that is dismissed after a task is complete is ideal. Likewise, briefly fleeting text that doesn’t “waste time” but is also illegible, is not inherently superior to a fixed-time display.
More importantly, what was missing from the article was a discussion of how the improvements were tested, and how they were tested for people with different abilities.
This isn’t a trivial point, or an afterthought. The goals of software aren’t to meet requirements for some people. They are for meeting the needs for all people who use the software. In the software industry, we focus far too often on the functionality of software, and not how we meet the needs of the users and the system that they are a part of.
We just have to stretch our minds a bit, see how we can meet everyone where they are.