it-swarm-eu.dev

I dialoghi dovrebbero essere evitati nelle applicazioni moderne?

Ho usato alcune finestre di dialogo sull'ultimo sistema che ho progettato. L'applicazione era un'applicazione aziendale con molte tabelle di database e ho usato molti datagrid per mostrare i dati. Era comune posizionare un pulsante sotto il datagrid con il testo Create new item o Create new group o tutto ciò che è stato elencato nella griglia. In altre parole, il pulsante è stato utilizzato per creare una nuova riga nella tabella.

Quando l'utente ha fatto clic sul pulsante, è stata creata una nuova finestra di dialogo (modale) con i campi di testo e in fondo un pulsante di invio. Ma è davvero il modo consigliato per farlo? o come devo progettare l'applicazione senza dialoghi modali?

Se fosse stata un'applicazione Web, probabilmente avrei inviato l'utente a una nuova pagina Web contenente il modulo, ma per me sembra simile a una finestra di dialogo modale.

I dialoghi dovrebbero essere evitati nelle applicazioni moderne? e quali sono le alternative?

17
Jonas

Come regola generale, è necessario utilizzare le finestre di dialogo solo quando è necessario. È preferibile utilizzare la manipolazione diretta o l'input o la modifica sul posto, in cui l'utente lavora direttamente sugli oggetti dati rappresentati in una finestra principale. Nel caso della creazione di oggetti, l'approccio di modifica sul posto ha:

  • Un pulsante Inserisci che crea l'oggetto e aggiunge una riga vuota al datagrid per l'input dei valori del campo,

  • Una riga vuota permanente nella parte inferiore del datagrid (o altrove) se l'utente digita i valori al suo interno, quindi l'app crea un nuovo oggetto.

Confronto questi due approcci su SO nel rispondere alla domanda " Cosa c'è di meglio quando si inserisce in una vista tabella, un pulsante Aggiungi o una riga vuota? "

Rispetto agli approcci di modifica sul posto, le finestre di dialogo presentano i seguenti svantaggi:

  • Apprendimento aggiuntivo. Aggiunge una finestra all'app, con la sua barra del titolo e i pulsanti (ad es. OK e Annulla) e i campi - campi che spesso sono già presenti sul datagrid padre, ma disposti in modo diverso. Ciò aumenta in modo incrementale ciò che gli utenti devono imparare.

  • Spostamento dell'attenzione. L'apertura di una finestra di dialogo richiede che l'utente sposta l'attenzione su qualcosa di nuovo, che ha un certo costo di riorientamento e fa sentire meno l'utente nel controllo dei dati.

  • Clic aggiuntivi. Le finestre di dialogo devono essere eseguite e ignorate. Questo richiede almeno un clic sul pulsante aggiuntivo. Al contrario, con la modifica in atto l'utente può creare più oggetti prima di salvare (se il salvataggio non è automatico).

  • Modalità. Se devi avere una finestra di dialogo modale, rimuovi la flessibilità dell'utente, costringendo gli utenti a completare la creazione o ad abbandonarla. Se hanno bisogno di informazioni aggiuntive da altre parti dell'app per completare la creazione, sono costretti a scartare qualsiasi lavoro abbiano svolto.

  • Rischio di perdita di lavoro. Un clic accidentale del pulsante Annulla ripristina qualsiasi input immesso dall'utente e chiude la finestra di dialogo, costringendo l'utente a ricominciare. La perdita con un clic di più input non è caratteristica delle finestre primarie correttamente progettate, inoltre le finestre primarie in genere supportano Annulla.

Le finestre di dialogo dovrebbero essere utilizzate per azioni atomiche che richiedono parametri; vale a dire situazioni in cui l'app deve ricevere determinati input dall'utente per completare tecnicamente o logicamente l'azione. Ad esempio, se la creazione di un oggetto richiede valori di campo che non possono essere predefiniti, è probabilmente consigliabile utilizzare una finestra di dialogo.

Tale finestra di dialogo Crea probabilmente dovrebbe avere solo i campi obbligatori, non quelli facoltativi. Consentire all'utente di completare tutti i campi opzionali sul datagrid. A causa della modalità e del rischio di perdita di lavoro, i dialoghi dovrebbero essere il più semplici possibile. Come regola empirica, l'utente dovrebbe essere in grado di completare l'input in circa 20-30 secondi, che è una quantità tollerabile di lavoro da ripetere.

Hai ragione nel dire che nelle app Web, una pagina di input separata equivale praticamente a una finestra di dialogo modale, in cui l'utente è costretto a completare o annullare una transazione prima di fare qualsiasi altra cosa. Questo è ciò che dà a molte app Web un aspetto "indiretto" rispetto a quello fluido di un equivalente desktop di manipolazione diretta.

9
Michael Zuschlag

In Mac OS X c'è Spaces che è desktop virtuale (e anche in configurazioni a doppio schermo). Le app multi finestra non funzionano bene con Spaces, le finestre di dialogo modali hanno ancora la tendenza a comparire sui desktop sbagliati!

Al contrario, se si utilizzano fogli montati sulla finestra principale, non disturberanno gli utenti allo stesso modo.

2
neoneye

A volte funzionerà e talvolta no, ma con l'esempio che hai suggerito, "sembra" che un aggiornamento ajax possa inserire la nuova riga nella tabella. Hai indicato di aver utilizzato una finestra di dialogo con la nuova riga/griglia di dati e quindi un pulsante di invio. Ciò che non è chiaro è se si tratta di un dialogo di conferma con contenuti modificabili o se è solo una cosa sì/no. Inoltre, ciò che non è chiaro è ciò che l'utente sta modificando/aggiungendo contenuto per quanto riguarda l'aggiunta di una nuova riga alla griglia di dati.

Mi sembra che tu possa consentire alla nuova riga di essere creata/modificata dall'utente all'interno della pagina e quindi aggiornarla, il tutto senza finestre di dialogo. Se è necessario aprire un nuovo pannello per qualche motivo, in genere un modale ben progettato è preferibile a una finestra di dialogo ora perché in realtà non si apre una nuova istanza del browser, allontana l'utente dalla pagina in cui si trova o rimuove il controllo da loro. La maggior parte delle ricerche sugli UX tende a mostrare che il pulsante 'indietro' è ancora l'unico meccanismo di controllo del browser pienamente compreso. I popup e persino le interfacce utente a schede sono incostante a seconda dell'utente.

1
jameswanless

Penso che gli svantaggi siano menzionati. Non penso tuttavia che tu possa o debba assolutamente respingere i dialoghi.

La modifica/creazione in linea (come si farebbe in Excel) è utile per digitare velocemente molti record o modificare valori molto specifici.

Ma potrebbe non essere il migliore quando è necessario salvare un record più dettagliato di quello mostrato nell'elenco delle tabelle. Ad esempio, visualizza il nome di una persona, l'indirizzo, la data di nascita. Quando si inserisce un nuovo record, tuttavia, è possibile includere anche la sicurezza sociale, il luogo di nascita, i rapporti con i genitori, lo stato giudiziario o un'intera gamma di altre opzioni.

I dialoghi possono anche aiutare a semplificare l'interfaccia utente, fornendo caselle a discesa per informazioni collegate, fornendo feedback, inserendo datepicker o altri elementi dell'interfaccia utente. La maggior parte di questi non può essere messa in modifica in linea senza affollare gravemente l'interfaccia utente.

Separare l'azione di salvataggio delle informazioni dall'inserimento dei dati non è solo un peso, può anche essere utile fornire un momento strutturato di revisione: ho compilato tutto, va bene adesso? Ad esempio, mi piace molto questa opzione quando ordini qualcosa online, puoi raccogliere e compilare le informazioni passo dopo passo, e poi c'è un chiaro momento di decisione prima che sia effettivamente completato.

Quindi penso che dipenda dal contesto: il numero di campi, il tipo di informazioni fornite, la struttura in cui vengono raccolte le informazioni. Non consiglierei di evitare i dialoghi in generale: basti pensare a dove sono adatti e dove non lo sono.

Per quanto riguarda il modale o no, il non-modale può renderlo confuso (perché il dialogo può nascondersi dietro gli altri e si perde o dimentica), il modale può renderlo irritante (perché non puoi fare nulla oltre a quello che stai facendo.) Di solito, i dialoghi modali non sono il modo migliore di procedere, ma, ancora una volta, usali dove previsto anziché evitarli ciecamente.

Con le schermate sempre più grandi, potrebbe essere un'opzione per posizionare il dialogo (o la vista dettagliata) accanto alla panoramica della tabella. Inoltre, con l'aumento degli smartphone anche molti schermi diventano più piccoli e i dialoghi sono ancora più importanti perché la modifica di una tabella quando vedi solo poche celle al momento non funziona molto bene.

1
Inca