Discussion
Loading...

Post

Log in
  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
Florian Haas
Florian Haas
@xahteiwi@mastodon.social  ·  activity timestamp 4 hours ago

A question for UI/UX experts.

If you need to get confirmation from a user, what's an alternative for a pop-up modal?

The advertising industry, with cookie consent, has conditioned people to just OK them.

I have lost count how many support requests I've seen that can be directly traced to a person not reading, or possibly not even noticing, an "are you sure you want to do this?" dialog, even when said pop-up precisely described the consequences of proceeding.

Boosts for reach appreciated!

  • Copy link
  • Flag this post
  • Block
David Chisnall (*Now with 50% more sarcasm!*)
David Chisnall (*Now with 50% more sarcasm!*)
@david_chisnall@infosec.exchange replied  ·  activity timestamp 2 hours ago

@xahteiwi

It depends a lot on the use case but there are a bunch of old ideas that are relevant.

Apple's HIGs from 30+ years ago told you never to put 'yes' or 'no' or 'okay' on dialog box buttons. The buttons should always be verbs or verb phrases. For example, don't do:

'Erase your disk?' [ No ] [ Yes ]

Instead, do:

'Erase the disk?' [ Do not erase ] [ Erase the entire disk ]

This means that even people who don't read the question do read the answer before selecting it. For very high stakes things, you can require people to type 'I wish to erase the entire disk and I know that this cannot be undone' or similar, rather than a button.

For slightly lower-stakes thing, people sometimes disable the proceed button in the dialog for a few seconds. This solves two problems:

  • User clicks before reading.
  • Dialog appears and the user aims to click on something else that happened to be below the dialog.

There's also Raskin's First Law: A program must not harm a user's data or cause a user's data to come to harm.

This means that you need to make these operations support undo. For erasing an entire disk, that's not feasible, but for most things it is. Don't delete things, move them to a to-delete area. This is why MacOS had a rubbish bin from the start: delete moved things, if you didn't mean to delete them there was a move-back (undelete) button.

For a lot of things, starting with a non-destructive model makes sense. For example, if your file format includes unlimited undo history, you can add a 'publish' button that gives you a new copy without undo history. That means that you never have destructive operations. Similarly, if you're running some semi-arbitrary code, do it in a sandbox, unconditionally. Don't ask people 'do you want to trust this probably malicious thing?' just treat it as malicious and sandbox it.

  • Copy link
  • Flag this comment
  • Block

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.2-alpha.25 no JS en
Automatic federation enabled
Log in
  • Explore
  • About
  • Members
  • Code of Conduct