it-swarm.it

Gestire più popup di "avviso"?

Un'applicazione iPad che stiamo costruendo genera una finestra di avviso per varie condizioni di errore. Stiamo valutando la possibilità di creare un'interfaccia utente personalizzata per gli avvisi poiché la finestra di avviso predefinita è abbastanza fastidiosa. La mia domanda è: come impilare gli avvisi? Ad esempio, se 2 parti dell'app generano 2 avvisi diversi, qual è il modo migliore per mostrare che 2 cose sono andate male. Un pensiero è quello di mostrare solo il primo errore che si è verificato. Un altro è mostrare gli avvisi uno dopo l'altro, in modo che l'utente sia fatto clic su "ok" due volte. Un altro è qualcosa del tipo "2 cose sono andate male: qui è 1 e qui è un altro" ma il problema è che si verifica l'errore 2 dopo l'errore 1 ma prima che l'utente abbia avuto la possibilità di chiudere l'avviso 1.

Qualcuno ha visto un buon modello di interfaccia utente per raggruppare più messaggi di avviso?

7
Arpit

Ecco come Apple lo fa nel Finder Mac OS:

alt text

alt text

5
Hisham

a nessuno piacciono gli avvisi (che io conosco), ma per più messaggi asincroni, un'interfaccia "ringhiata" finora sembra abbastanza allettante. Dopo aver esaminato diversi plugin specifici di jQuery per "notifica", ho trovato quanto segue abbastanza utile:

http://pines.sourceforge.net/pnotify/

Prova a fare clic sulle semplici demo e guarda le notifiche javascript sul lato destro della tua pagina.

8
ericslaw

Considerazione di base qui: è necessario interrompere l'utente?

L'errore deve essere mostrato in un popup o può essere mostrato nel flusso dell'app? Per esempio. è un'eccezione o è una notifica? "Impossibile caricare la pagina" ha un significato e un peso diversi rispetto a "Retweet fallito. Twitter non ha risposto."

Pensare a queste differenze porta a un paio di pensieri:

  • Se si tratta di un errore critico, è necessario interrompere il flusso dell'app e avvisare l'utente. "La pagina non può essere caricata" deve apparire perché non c'è nient'altro che può accadere in parallelo.
  • Gli errori non critici, come "Retweet fallito" in un'app di Twitter, non dovrebbero interrompere il flusso, poiché interromperai l'utilizzo dell'app da parte dell'utente, che in genere sarà qualcosa come leggere o scrivere.
  • Cosa sta facendo l'utente? Se l'utente sta eseguendo attività sequenziali, ad es. compilando un modulo, quindi mostrare all'utente i diversi errori raggruppati.
  • Prendi in considerazione l'idea di uscire dal problema. Ad esempio, non considerare l'errore come un errore. Nell'esempio "retweet", l'API di Twitter è una dipendenza esterna e pertanto qualsiasi chiamata deve essere tollerante ai guasti, incluso il feedback dell'utente nell'interfaccia utente. Ciò influisce sul modo in cui l'utente percepisce la tua app: se si verifica sempre un errore ogni volta che si verifica un'eccezione, l'utente percepirà un'app instabile e fastidiosa che la interrompe. Se includi gli errori e li visualizzi come notifiche inevitabili che si verificano solo perché a volte Twitter può essere inattivo, si verificherà in modo molto diverso.
  • Guarda le convenzioni sulla piattaforma per iPad. Consulta le Apple e guarda le principali app. La mia esperienza con l'iPad è stata che ci sono pochissimi stati di errore nelle app; questo potrebbe essere dovuto a ottimi test o a causa di il fatto che i progettisti abbiano progettato possibili stati di errore fuori dall'app. Considera questo esempio: in un modulo Web, se chiedi numeri di telefono in un determinato formato specifico, hai appena introdotto un possibile stato di errore in cui l'utente inserisce erroneamente il numero di telefono. Tuttavia, se accetti qualsiasi formato, questo è un problema in meno di cui l'utente deve preoccuparsi. A volte mi chiedo se i progettisti di app per iPad si inclinino verso quel tipo di design.

Sruly ha pubblicato una risposta mentre stavo scrivendo questo e sembra molto specifico e tecnico. Spero che la mia risposta possa contribuire a spunti di riflessione di alto livello.

3
Rahul

Howl

Howl è per iPad ciò che Growl è per Mac

multiple alerts

È in grado di impilare automaticamente più avvisi. Gli avvisi possono svanire dopo un secondo se non è un avviso grave. È inoltre possibile creare avvisi che l'utente deve chiudere. Growl è utilizzato in un gran numero di programmi Mac, non so quanto sia popolare Howl.

3
neoneye

Anche se potresti non voler utilizzare i pattern di Windows per un prodotto Apple.

Alcuni schemi da considerare. (Da Windows)

  • Le icone di notifica della barra delle attività mostrano un messaggio alla volta e quando lo chiudi o ne scade un altro, viene visualizzato.

  • Alcuni messaggi si accumulano con ogni messaggio successivo spostato di alcuni pixel verso il basso e verso destra.

  • Alcuni messaggi (come un avviso in JS) si bloccano fino alla risposta, quindi ovviamente ce ne può essere solo uno alla volta.

  • Alcuni messaggi (come gli avvisi di sistema di Windows per i rischi per la sicurezza) vengono visualizzati in una casella ma con tutti i messaggi presenti.

  • I siti StackExchange mettono in primo piano le notifiche importanti e quelle meno importanti possono apparire dopo aver fatto un'azione.

Dal momento che non so esattamente cosa stai costruendo, è difficile dare un suggerimento, ma attraverso un processo di eliminazione posso restringerlo.

Dato che i pixel dello schermo sono limitati, il raggruppamento dei messaggi in una casella potrebbe rubare molto spazio sullo schermo.

Probabilmente non vuoi che l'applicazione blocchi, a meno che non ci sia un errore critico, quindi gli avvisi in stile JS sono probabilmente fuori.

L'impilamento di popup non bloccanti non funzionerebbe nuovamente a causa della mancanza di spazio sullo schermo.

Penso che questo ti lasci solo con poche opzioni. Un popup che non si blocca e svanisce o scompare quando si fa clic (come l'icona di notifica bolle nella barra delle finestre di Windows o le piccole notifiche in StackExchange) o un'area di notifica (come la barra superiore in StackExchange)

2
Sruly

Avrei probabilmente visualizzato un avviso di stile del segnale stradale trasparente e l'avrei lasciato nell'angolo in alto a destra o in basso a destra.

Ogni volta che si verifica un errore, è possibile visualizzare il simbolo e, se si verifica un altro errore, è possibile lampeggiare un avviso di un colore più luminoso e aggiungere un contatore accanto ad esso con il numero di errori che hanno ricevuto. Oltre al simbolo e al contatore, potresti desiderare un'etichetta con una o due parole. Qualcosa di breve e al punto sarebbe probabilmente meglio risparmiare sugli immobili.

Quando l'utente preme (fa clic) sull'avviso, può far apparire una finestra con il suo elenco di errori.

1
LoganGoesPlaces