Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There’s a couple that stand out as “nice ideas in theory, but rarely practical in reality” - undo over confirmation, and progress bar over spinner.

Confirmation dialogs take about 2 minutes to implement. Undo, while there’s the odd problem where it’s easy, very often it’s a massive amount of work to implement, like many months.

Likewise, a spinner is a few mins of work, while an ACCURATE progress bar can be much, much more. It’s often really hard to predict how long a given operation will take.



One thing I hate about my phone is that certain apps have horizontal swipe to delete list items. It presents an undo option, but the undo option doesn't appear for very long, and can itself be dismissed quite easy by accident. Text message conversations are especially prone.

The number of times I've deleted something with no recourse because my dog bumped my hand while holding the phone (or some similar unintentional action) went from frustrating to embarassing to enraging long ago.


I think the key thing to keep in mind is that the end user really, really, and I cannot emphasize this enough, absolutely and totally does not care about how much effort something was for a developer.

This guide is from a UX person, they are looking at things from a usability perspective. Developer effort is not a consideration here, and rightfully so.


> Confirmation dialogs take about 2 minutes to implement. Undo, while there’s the odd problem where it’s easy, very often it’s a massive amount of work to implement, like many months.

UX is a feature.

Might be irrelevant for yet another SaaS, but for consumer-facing products it will be the reason you succeed.

Looks at this decade old presentation from Instagram: https://speakerdeck.com/mikeyk/secrets-to-lightning-fast-mob...

This is the mindset that led to $1B valuation (which many believe to be undervalued).


Depending on the task, Undo can be relatively easily implemented as "queue up the change in the background, but don't do it until 30 seconds have passed" and "undo" is actually implemented as "cancel". Does put a time limit on how long you have to undo, though.

Or along a similar line of thought, restyle your confirmation dialog as an undo dialog, but treat dismissal as confirmation instead of cancel.


A problem with confirmation dialogues is users become accustomed to confirming everything (“of course I want to do that”) and then miss the important irreversible change and just hit the button.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: