risposta-alla-domanda-sullo-sviluppo-web-bd.com

Modifica in linea o popup modale

Sono interessato a sapere quale sarebbe l'opzione migliore da una prospettiva UX. Ho una tabella in cui devo decidere se devo modificare ogni riga con la modifica in linea in cui è possibile fare clic su ciascun elemento della riga e modificare separatamente o tutto in una volta con un popup modale.

41
adarmous

In linea, ed ecco perché. Quando si separa l'utente da ciò che stanno facendo in un pop-up, perdono le connessioni degli oggetti, i loro dettagli e il posizionamento. Ci vogliono alcuni minuti per ri-orientarsi.

Quando un utente viene separato dal prodotto, impiegano un momento per riconnettere tutte quelle informazioni nella propria testa e quindi avviarsi.

Con la modifica in linea è molto semplice.

40
jonshariat

Adam, questa è un'ottima domanda. Tuttavia, non sei limitato a solo 2 opzioni qui: finestra in linea e popup. La terza opzione è avere una pagina per modificare/creare un record e anche una combinazione di inline + pagina/popup.

  1. In linea: è la soluzione UI più limitata e devi pensare a quanti campi contiene il record. Se è composto da un massimo di 6 campi, inline è ok. Altrimenti dovrai avere sia inline per un paio di campi sia la modifica completa di tutti i record. Inoltre, dovresti considerare la quantità di dati da modificare - normalmente la modifica in linea viene eseguita per i record che sono appox. 255 caratteri lunghi. Se è un grande testo, inline non è un buon approccio. È inoltre necessario considerare dove verranno posizionati i messaggi di convalida.
  2. Popup - se il record che stai modificando non è molto complesso, non ha grandi testi e non implica la chiamata all'interno di un altro popup (2 popup è considerato una cattiva pratica) - allora un popup funzionerà.
  3. Pagina: non ci sono quasi limiti quando si ha una pagina per modificare un record. Puoi avere grandi testi, popup per impostare i valori dei campi, non c'è problema con l'inserimento di messaggi di convalida.
  4. Inline + popup/page - in questo caso si consente di modificare alcuni dei campi inline, altri campi vengono modificati in una finestra/popup separata.
13
Mike Sorokin

Mentre inline è preferito, aggiungerei che dipende davvero dal tipo di applicazione e attività dell'utente.

Nella mia esperienza, le modifiche collettive sono molto importanti per le applicazioni aziendali ed è qui che aiuta l'utente a selezionare più elementi e quindi eseguire un'azione collettiva. Inline in questo caso diventa molto limitante perché non rende facili le modifiche ripetibili.

Quindi alcune domande da considerare sarebbero: quanto è grande il tavolo? C'è impaginazione? punti di vista diversi? Quali azioni l'utente dovrebbe probabilmente eseguire più frequentemente sui dati della tabella? Tali tabelle vengono utilizzate per presentare dati in altre aree del prodotto?

5
rsb

Mi piace molto la risposta di Jon.

C'è un altro aspetto da considerare: l'editing multi-record. Chiaramente, se si desidera consentire all'utente di modificare più record contemporaneamente, il metodo inline non funziona. Prendi in considerazione iTunes o qualche altro (migliore) editor di tag ID3 di musica. A volte è necessario correggere il nome di una canzone - l'editing in linea è perfetto per questo (anche se hai la sfida di chiarire le ambiguità tra un clic per selezionare il record, un clic per riprodurre la traccia e un clic per modificare il campo specifico) . A volte, vuoi selezionare tutte le tracce in un album e cambiare il genere. Per questo è bello selezionare più righe e quindi invocare una finestra di dialogo dell'editor (CMD + I lo fa in iTunes) in cui è possibile compilare uno o più campi e solo quei campi verranno aggiornati per l'intero record. (L'implementazione di iTunes, sebbene funzionale, non è immediatamente intuitiva).

Dal punto di vista dello sviluppatore, se hai un periodo di tempo limitato e puoi implementare un solo metodo di input, devi considerare se stai per avviare la modifica multi-record abilitata o meno. Se lo desideri, scegli la finestra di dialogo: prendi un po 'di usabilità e prestazioni, ma puoi risparmiare un sacco di tempo nella codifica.

Odio dirlo, ma se ci atteniamo a questi due modi di gestire l'input, la soluzione migliore è implementarli entrambi e trovare un modo intuitivo (meglio di iTunes in ogni caso) per consentire all'utente di entrare modalità di modifica in linea (anche F2 di Microsoft è ai box, anche se almeno sono abbastanza coerenti al riguardo) e l'utente può entrare in modalità di registrazione multipla.

Un'ultima cosa da considerare: affinché la modifica in linea funzioni, è necessario avere visibilità in tutti i campi del record nella visualizzazione tabulare. Se stai permettendo ai tuoi utenti di nascondere le colonne o stai solo scegliendo di mostrare un sottoinsieme dei campi modificabili, non hai altra scelta che implementare una sorta di "vista dettagliata" modificabile.

5
Tom Auger

Se hai a che fare con un'app aziendale con dati transazionali che molte persone possono modificare contemporaneamente, sceglierei modale e ho un pulsante di invio anche se in linea sembra di più naturale per chi lavora su app per singolo utente come Excel.

Il fatto che sposta il contesto fuori dalla tabella è un modo in cui l'utente può iniziare a pensare in modalità di modifica e tutti i campi contrassegnati come modificabili sono modificabile anziché indovinare se una cella di tabella è modificabile o meno.

In secondo luogo, rendendolo modale e disponendo di un pulsante submit, puoi effettuare un controllo davvero importante: il record è stato modificato da qualcun altro mentre stavi apportando modifiche? Anche se è fastidioso quando succede, è molto meglio che non conoscere e presumere che i tuoi dati siano passati. Anche se è anche vero che un "brindisi" può essere mostrato all'utente notificando loro la modifica dopo il fatto che la seccatura potrebbe essere maggiore.

Intendiamoci questo contesto è solo per l'editing. Le ricerche d'altra parte dovrebbero essere in linea a meno che non sia una query complessa davvero strana con molti campi.

3

Sono propenso a dire, perché non entrambi?

Posso pensare a due scenari in cui ciascuno degli approcci ha un senso.

Approccio 1: in linea

Supponendo che sia necessario aggiornare un piccolo numero di celle in una griglia in cui il numero totale di colonne è piuttosto inferiore. Potresti semplicemente lavorare come Excel e continuare ad aggiornare. In questo approccio, è necessario considerare il problema evidenziato da Archimedes Trajano . Gli aggiornamenti simultanei possono essere un problema per tutti i soggetti coinvolti.

Approccio 2: popup modale

Creazione di un nuovo record o modifica di molti campi di un record quando le colonne totali sono grandi in numeri. Quindi ha senso aprire un popup modale e consentire all'utente di modificare/inserire rapidamente i valori. Ciò sarà utile perché l'utente saprà dove si trova esattamente ogni campo e potrà aggiornarli rapidamente. Il problema dell'integrità dei dati è meno evidente.

In entrambi gli approcci, è possibile ottenere più modifiche con modalità poco innovative.

0
Sol