it-swarm-eu.dev

Progettazione di un front-end Web per l'avvio di processi batch di lunga durata

Sto cercando un esempio di un'applicazione "portale web" che abbia un'interfaccia utente ben fatta e facile da imparare.

Per "portale web" intendo un'interfaccia web per un sistema elaborato in batch che esegue lavori a elaborazione intensiva e di lunga durata. Il flusso di lavoro tipico è simile a:

  1. Accedi al sito web.
  2. Specificare alcuni parametri per il lavoro.
  3. Forse carica uno o più file di input.
  4. Dai il via al lavoro.
  5. Controllare lo stato del lavoro (avviato? In corso? Finito?).
  6. Scarica i risultati del lavoro completato.

Sto cercando un esempio : un esempio di un'applicazione web esistente con un flusso di lavoro simile che ha una solida interfaccia utente, soprattutto dal punto di vista di nuovi utenti che non hanno mai visto l'interfaccia prima.

Nota: originariamente richiesto su Stack Overflow , ma sembra una soluzione migliore per l'interfaccia utente.

11
Lorin Hochstein

Facciamo proprio questo su SmartyStreets . Gli utenti caricano file con potenzialmente milioni di indirizzi e li verifichiamo e standardizziamo/de-dupliciamo, ecc. È molto dispendioso in termini di processore e anche con i dati master caricati su un RAM drive, milioni di indirizzi impiegheranno alcune ore (tra l'altro, è superveloce per tale importo ...).

Potrebbe anche essere importante progettare un'interfaccia utente in grado di supportare dozzine di lavori eseguiti in parallelo. Ad esempio, i nostri nodi server si ingrandiscono e possiamo supportare molti file contemporaneamente. Gli utenti avranno bisogno di un modo efficace per visualizzare lo stato e gestirli. Nel 2011, abbiamo rinnovato la nostra interfaccia utente e questo è ciò che ci è venuto in mente.


Ecco un video di 30 secondi che mostra come funziona l'intero processo e come l'interfaccia risponde allo stato corrente dei lavori. Se vuoi, puoi provare tu stesso a partire da questa pagina (gratuito, non preoccuparti ...).


Le schermate del flusso di lavoro ... impiegano da 30 secondi a pochi minuti, a seconda dei file.

Upload list

Carica il tuo elenco

See the file uploading

Vedi il caricamento del file

Map the fields

Mappa i campi (succede automaticamente; basta confermare che la mappa automatica era corretta)

Stay up-to-date with the current status

Resta aggiornato su ciò che sta accadendo ora


Si noti che quando l'elenco inizia l'elaborazione, l'utente può tornare indietro e caricare di più, quali elenchi verranno gestiti in parallelo, in tempo reale. Gli elenchi possono essere cancellati/eliminati in qualsiasi momento e, al termine, possono essere scaricati. Un segno di spunta appare quando l'elenco è stato scaricato almeno una volta.

In realtà si tratta di un design obsoleto, che stiamo pianificando di aggiornare. Sarà molto più simile a un'app Web moderna e reattiva.

Vale la pena notare che abbiamo cambiato molte volte l'aspetto della pagina "dashboard" dell'account e questo design ha avviato il minor numero di chiamate/e-mail di supporto e ai clienti piace avere tutto a portata di mano. Gli utenti alle prime armi tendono a scoprire di sentirsi a proprio agio abbastanza rapidamente.

5
Matt

Non sono a conoscenza di un esempio concreto, ma prenderei in considerazione quanto segue:

Sembra che tu voglia una pagina principale che elenca i lavori che sono stati inseriti nel sistema. Ogni lavoro dovrebbe avere uno stato (ad es. In sospeso, in esecuzione, completato) che è chiaramente etichettato, poiché è probabilmente l'informazione più importante. Si potrebbe anche voler separare chiaramente i lavori per stato, ad esempio visualizzarli in tre elenchi separati.

Ogni lavoro in esecuzione dovrebbe mostrare la sua durata attuale e il tempo stimato di completamento, se possibile. I lavori completati possono mostrare la durata richiesta e, se possibile, i lavori in sospeso potrebbero mostrare l'ora di inizio stimata.

Se i lavori sono per utente, ti consigliamo di valutare se un utente può vedere i lavori di un altro utente o meno.

Probabilmente vorrai azioni di "controllo dei lavori" (ad es. Interrompere un lavoro in esecuzione, eliminare un lavoro completato, ecc.). Potresti anche desiderare un qualche tipo di sistema prioritario per controllare l'ordine in cui i lavori verranno elaborati. O semplicemente visualizzali in una coda e consenti loro di essere ordinati, ad esempio, trascinandoli.

3
Bobby Jack