Domanda

Questo si ispira alla domanda OK-Annulla o Annulla-OK? .

Ricordo di aver letto da qualche parte il concetto di cambiare OK-Annulla / Annulla-OK in determinate situazioni per impedire all'utente di fare clic su popup di informazioni o finestre di dialogo senza leggere il loro contenuto. Per quanto mi ricordo, questo includeva anche lo spostamento della posizione del pulsante OK (in orizzontale, da sinistra a destra) per impedire all'utente di ricordare solo dove fare clic.

Ha davvero senso? È un buon modo per forzare l'utente a "preventivare / leggere prima, quindi fare clic su"? Ci sono altri concetti applicabili a questo tipo di situazione?

Sto pensando in particolare a un'applicazione correlata alla sicurezza, in cui una pressione spensierata di OK per abitudine può provocare una situazione potenzialmente pericolosa mentre Annulla porta a uno stato sicuro.

È stato utile?

Soluzione

Per favore, non farlo a meno che tu non sia veramente, davvero davvero sicuro che sia assolutamente necessario. Questo è il caso di cercare di correggere la disattenzione e la stupidità con mezzi tecnologici e quel genere di cose non funziona quasi mai.

Quello che potresti fare è usare verbi o nomi invece delle tipiche didascalie dei pulsanti OK / Annulla di Windows. Ciò ti darà un vantaggio di attenzione istantanea senza sacrificare la prevedibilità.

Altri suggerimenti

Noooooooooooo!

In uno dei nostri prodotti abbiamo un'opzione utente per richiedere Ctrl + Click per i comandi relativi alla sicurezza.

Ma sorprendere l'utente con i pulsanti che si scambiano o si spostano è un cattivo design nel mio libro.

NO. Se rendi più difficile per l'utente fare clic su OK per errore e li costringi a pensare, continueranno a pensare solo più intensamente a come fare clic su OK - non penseranno alla cosa reale che stanno cercando di realizzare. Vedi l'articolo di Aza Raskin, esperto di usabilità: Non usare mai un avviso quando intendi Annulla . Citazione:

  

Che ne dici di fare un avviso   impossibile da ignorare? Se è   assuefazione dal lato umano che è   causando il problema, perché non progettare   l'interfaccia tale che non possiamo formarci   un'abitudine. In questo modo saremo sempre   costretto a fermarsi e pensare prima   rispondendo alla domanda, quindi lo faremo   scegli sempre la risposta che intendiamo.   Questo risolverà il problema, giusto?

     

Questo tipo di pensiero non è nuovo: lo è   il   digitare l'approccio "ennesima parola di questa frase per continuare". Nel gioco Guild Wars, per   esempio, l'eliminazione di un personaggio richiede   prima facendo clic su un pulsante "Elimina" e   quindi digitando il nome del personaggio   come conferma. Sfortunatamente   non funziona sempre. In particolare:

     
      
  1. Ci induce a concentrarci sul compito insolito a portata di mano e non su   se vogliamo buttare via   il nostro lavoro. Quindi, il   avvertimento impossibile da ignorare è piccolo   meglio di un normale avvertimento: finiamo   perdere il lavoro in entrambi i modi. Questo   (perdere il nostro lavoro) è il peggio   software sin possible.
  2.   
  3. È straordinariamente fastidioso e perché richiede sempre il nostro   attenzione, ci distrae necessariamente   dal nostro lavoro (che è il secondo   peggior peccato software).
  4.   
  5. È sempre più lento e più intenso rispetto a uno standard   avvertimento. Quindi, commette il terzo   peccato peggiore, che richiede più lavoro da parte nostra   del necessario.   
  6.   

[Se vuoi un Microsoftish, questo da un ragazzo di .NET su MSDN dice la stessa cosa!]

Se è necessario utilizzare una finestra di dialogo, inserire didascalie descrittive sui pulsanti all'interno della finestra di dialogo.

Ad esempio, anziché i pulsanti OK e Annulla, fai loro dire " Invia fattura " e " Torna indietro " ;, o qualsiasi altra cosa sia appropriata nel contesto della finestra di dialogo.

In questo modo, il testo è proprio sotto il loro cursore e hanno buone possibilità di comprensione.

Il sito della Apple Human Interface Guideline è un ottimo riferimento e molto leggibile. Questa pagina di quel sito parla di dialoghi.

Ecco un'immagine di esempio:  Modale con pulsanti denominati
(fonte: apple.com )

No, non ha senso. Non hai intenzione di " fare " gli utenti leggono. Se la decisione è così cruciale, allora è meglio trovare un modo per mitigare il pericolo piuttosto che consegnare a un utente presunto negligente un'arma carica.

Rendere " sicuro " l'impostazione predefinita del pulsante (attivata da enter / barra spaziatrice / ecc.) è una buona idea a prescindere, semplicemente perché se sorprendono l'utente, una sequenza di tasti prevista per la finestra prevista non attiverà accidentalmente l'azione imprevista. Ma anche in quello scenario, devi essere consapevole che quando l'utente ha realizzato ciò che ha fatto, la scelta è già andata (insieme a qualsiasi testo esplicativo nella finestra di dialogo). Ancora una volta, è meglio trovare un altro modo per fornire loro informazioni.

Quello che ho fatto in alcuni casi è stato quello di confrontare l'ora della finestra di messaggio mostrata con l'ora della sua chiusura. Se era inferiore alla "x" quantità di secondi, è saltato indietro. Ciò li ha costretti, nella maggior parte dei casi, a leggere ciò che era sullo schermo anziché semplicemente cliccarlo alla cieca.

Abbastanza facile da fare, anche ....

Qualcosa del genere:

Dim strStart As DateTime = Now
While Now < strStart.AddSeconds(5)
    MessageBox.Show("Something just happened", "Pay Attention", MessageBoxButtons.OK)
    If Now < strStart.AddSeconds(5) Then strStart = Now Else Exit While
End While

Alla fine della giornata non puoi costringere un utente a fare qualcosa che non è disposto a fare ... troveranno sempre un modo per aggirarlo

  • Tasti di scelta rapida per ignorare la necessità di spostare il mouse su un pulsante mobile.
  • Scorrendo verso il basso fino alla fine dell'EULA senza leggerlo per consentire di continuare.
  • Avviando il software e poi andando a prendere la loro tazza di tè in attesa che la schermata del nag abiliti il ??pulsante OK.

Il modo più affidabile che ho visto è fare una domanda a scelta multipla basata su ciò che è scritto. Se non ottengono la risposta corretta, non possono continuare ... ovviamente dopo un paio di volte, si renderanno conto che possono semplicemente scegliere ciascuna delle risposte a turno fino a quando il pulsante non si attiva e quindi fare clic su di essa. Ancora una volta significa che non leggono ciò che è stato scritto.

Puoi andare così lontano solo prima di dover assegnare la responsabilità all'utente per le sue azioni. Dire all'utente che le loro azioni sono registrate li renderà più attenti: se vengono ritenuti responsabili, è più probabile che facciano le cose nel modo giusto. Soprattutto se c'è un messaggio attentamente realizzato che dice qualcosa del tipo:

  

Questo è stato registrato e sarai ritenuto responsabile per qualsiasi   ripercussioni di questa decisione. Mi hai chiesto di cancellare   la tabella ALL_CORPORATE_DATA. Ciò causerà l'intera azienda   database per smettere di funzionare, arrestando così l'intera azienda.
  È necessario selezionare la casella di controllo per dichiarare di accettare questa responsabilità   prima di poter scegliere di continuare ...

E quindi una casella di controllo con " Sì, accetto la responsabilità delle mie azioni " e due pulsanti:

  • " SÌ, VOGLIO ELIMINARLO " questo pulsante dovrebbe essere abilitato solo se la casella è selezionata.
  • " OH CRAP, CHE NON È QUELLO CHE MI DEVO INTERESSARE " questo pulsante può sempre essere abilitato.

Se eliminano la tabella e la rete si ferma, vengono licenziati. Quindi il backup viene ripristinato e tutti sono felici come Larry [chiunque sia Larry] di nuovo.

NON farlo, per favore. Ciò non avrà alcun effetto positivo: stai cercando di EVITARE che le persone facciano clic su OK anziché su Annulla, facendole potenzialmente fare clic su Annulla anziché su OK (ok, potrebbero riprovare). Ma! potresti anche fare clic su OK quando le persone vogliono davvero annullare e questo potrebbe essere un vero disastro. Non va bene.

Perché non riformulare l'interfaccia utente per rendere OK la "scelta sicura"?

Il problema viene risolto meglio con una combinazione di feedback positivo, comunicazione di un modello di sistema e tolleranza integrata.

A favore del meccanismo di conferma parla la semplicità di attuazione. Dal punto di vista del programmatore è il modo più semplice di spostare la responsabilità sull'utente: " Ehi, ti ho chiesto se vuoi davvero spararti ai piedi, vero? Ora non c'è nessuno da incolpare se non te stesso ... "

Dal punto di vista dell'utente:

  1. Esiste una penalità per la produttività di dover confermare l'operazione due volte ogni volta anche se gli errori effettivi occupano solo una frazione del numero totale di azioni, qualsiasi commutazione di pulsanti, interruzione del flusso di lavoro abituale o l'inserimento di una pausa nella conferma aumenta solo la penalità .
  2. Il meccanismo in realtà non fornisce molta rete di sicurezza per utenti frequenti i cui riflessi funzionano prima della mente cosciente. Personalmente ho fatto molte volte una complessa sequenza di azioni solo per rendermi conto un momento dopo osservando le conseguenze che il mio cervello ha in qualche modo preso la strada sbagliata!

Una soluzione migliore per l'utente, ma più complessa (dal punto di vista dello sviluppo del software) sarebbe:

  • Ove possibile, comunicare in anticipo quale effetto preciso avrà l'azione sul sistema (ad esempio Stack Overflow mostra l'anteprima del messaggio sopra il pulsante Pubblica risposta).

  • Invia un feedback immediato per confermare una volta effettuata l'azione (SO evidenzia la risposta appena inviata, gmail visualizza una conferma quando viene inviato un messaggio, ecc.)

  • Consentire di annullare o correggere possibili errori (ad esempio in caso di cancellazione o modifica della risposta, Windows consente di ripristinare un file dal cestino, ecc.). Per alcune azioni non reversibili è ancora possibile fornire una funzionalità di annullamento, ma solo per un periodo di tempo limitato (ovvero consentire di annullare o modificare un ordine online durante i primi 10 minuti dopo l'invio o di richiamare un'e-mail durante il primo 60 secondi dopo che è stato "inviato", ma effettivamente in coda nella posta in uscita, ecc.)

Certo, questo è un lavoro molto più iniziale rispetto all'inserimento di una finestra di messaggio di conferma, ma invece di spostare la responsabilità tenta di risolvere il problema.

Ma se OK / Annulla non sono coerenti, ciò potrebbe far saltare o turbare l'utente.

E non ti piace alcuni EULA in cui un utente è costretto a scorrere un pannello verso il basso prima che il pulsante Accetto diventi selezionabile. A volte non sarai in grado di convincere un utente a leggere tutto attentamente.

Se hanno davvero bisogno di leggerlo, forse dovrebbe verificarsi un breve ritardo prima che vengano visualizzati i pulsanti? Questo potrebbe anche essere potenzialmente fastidioso per l'utente, ma se è una domanda molto critica, ne varrebbe la pena.

Modifica: o richiede una sorta di meccanismo aggiuntivo rispetto al semplice clic su " accetta " la decisione molto importante. Una casella di controllo, pressione dei tasti, password, ecc.

Consiglio di informare l'utente che si tratta di un'operazione critica utilizzando il testo rosso e spiegando perché si tratta di un'operazione non sicura.

Inoltre, anziché due pulsanti, hanno due pulsanti di opzione e uno " Ok " , con il pulsante " non continuare " pulsante di opzione selezionato come predefinito.

Ciò presenterà all'utente un'interfaccia non comune, aumentando il carico cognitivo e rallentandolo. Questo è quello che vuoi qui.

Come sempre con qualsiasi cosa con l'interazione dell'utente, hai un piccolo spazio tra aiutare l'utente ed essere fastidioso. Non conosco i requisiti esatti, ma la tua idea mi sembra OK (gioco di parole).

Sembra che l'utente stia eseguendo un tipo di procedura guidata di input nell'app di sicurezza.

Alcune idee come alternative ai pulsanti in movimento.

  1. Avere una schermata finale per rivedere tutti gli input prima di premere l'ok finale.

  2. Avere una casella di conferma dopo aver premuto ok per spiegare quale sarà il risultato di questa azione.

  3. Dichiarazione di non responsabilità che richiede l'accettazione selezionando una casella prima che l'utente possa continuare.

Non cambiarlo: confonderai solo più di quanto aiuterai.

Invece, ti piace FireFox e non attivare il controllo per 5 sec. - assicurati solo di includere un timer o una sorta di indicatore che stai dando loro la possibilità di rileggerlo. Se fanno clic su di esso, interrompe il timer, ma richiede che facciano clic un'altra volta.

Non so quanto sarà meglio, ma potrebbe aiutare.

Ricorda, come disse l'uomo: non puoi sistemare gli stupidi.

Questo mi farà venire il mal di testa. Soprattutto quando chiudo accidentalmente l'applicazione e dimentico di salvare il mio file :(

Vedo un altro buon esempio di forzare l'utente a " leggi " prima di fare clic: Firefox sempre disabilita il pulsante (a.k.a disabilita) " OK " pulsante. Pertanto l'utente deve attendere circa 5 secondi prima di poter procedere a fare qualsiasi cosa. Penso che sia lo sforzo migliore che ho visto nel forzare l'utente a leggere (e pensare )

Un altro esempio che ho visto è in " Licenza e Accordi " pagina del programma di installazione. Alcuni di loro hanno richiesto all'utente di scorrere fino alla fine della pagina prima di poter procedere al passaggio successivo.

Le scorciatoie da tastiera si comporterebbero comunque come prima (e rimarrai sorpreso dal fatto che poche persone usano effettivamente i mouse (specialmente nelle applicazioni LOB).

Vista (e OSX IIRC) si sono spostati verso l'idea di utilizzare verbi specifici per ogni domanda (ad esempio "Invia " /"; Non inviare " quando un'app vuole andare in crash e desidera inviare un crashdump a MS )

A mio avviso, mi piace l'approccio utilizzato da Outlook quando un'app tenta di inviare un'e-mail tramite COM, con un timer prima che i pulsanti possano essere utilizzati (influisce anche sulle scorciatoie da tastiera)

Se usi Ok e Annulla come interfaccia, potrai sempre consentire all'utente di saltare il tuo messaggio o la tua schermata. Se poi riorganizzi Ok e Annulla , dovrai solo infastidire il tuo utente.

Una soluzione a questo, se il tuo obiettivo è assicurare la comprensione degli utenti, è:

  • Domanda all'utente il contenuto. Se fai clic su OK, accetti l'opzione 1 o se fai clic su OK, accetti l'opzione 2. Se scelgono la risposta corretta, consenti l'azione.
  • Ciò infastidirà l'utente, quindi se puoi tenere traccia degli utenti, fallo solo per loro una volta per messaggio.

Questo è ciò a cui ho risposto Invia / Reimposta domanda ordine pulsante e penso che lo stesso principio possa essere usato qui. L'ordine non ha importanza per quanto si assicura che l'utente possa distinguere i due pulsanti. In passato ciò che ho fatto è stato utilizzato un pulsante per il pulsante (invia / OK) e un link per il pulsante (ripristina / annulla). Gli utenti possono immediatamente dire che questi due elementi sono funzionalmente diversi e quindi trattarli in questo modo.

Non sono davvero per OK / Annulla. È abusato e richiede di leggere i borbottii per dire cosa stai OKing o Cancellando. Segui l'idea dell'interfaccia utente di MacOSX: il pulsante contiene una frase semplice e significativa che è significativa da sola. Esempio: si modifica un'estensione di file e viene visualizzata una finestra di dialogo che dice:

"Are you sure you want to change the extension from .py to .ps?"
If you perform the change, the document could be opened by a different application.

(Use .ps)   (Keep .py)

È molto più comunicativo di OK / Annulla e la tua domanda diventa quasi superflua, cioè devi solo mantenere attivo il pulsante più a destra, che sembra essere lo standard.

Per quanto riguarda la domanda grezza che hai posto. Non farlo mai. Mai. Nemmeno sotto minaccia. La coerenza è un requisito importante per le GUI. Se non sei coerente, rovinerai l'esperienza dell'utente e molto probabilmente i tuoi utenti vedranno questo come un bug piuttosto che una funzionalità (in effetti sarebbe un BUG). La coerenza è molto importante. Per romperlo, devi avere un'ottima ragione e non ci deve essere un altro modo standard diverso per ottenere lo stesso effetto.

Mi chiedo se stai pensando all'opzione esistente in Visual Basic in cui puoi impostare vari prompt e opzioni di risposta; e un'opzione è quella di consentire di cambiare Annulla e OK in base a quale dovrebbe essere l'impostazione predefinita; quindi l'utente può semplicemente premere invio e il più delle volte ottenere l'azione corretta.

Se vuoi davvero andare in questa direzione (che penso sia una cattiva idea, e sono sicuro che lo farai anche dopo una piccola riflessione e la lettura di tutti i suoi post) funzionerebbe ancora meglio includere un display capcha per OK.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top