Domanda

Qualcuno può darmi uno scenario in cui pensano che i cursori occupati siano giustificati? Sento che sono sempre una cattiva idea dal punto di vista dell'utente . Chiarimento: per cursori occupati, intendo quando l'utente non può più interagire con l'applicazione, può solo spostare il puntatore del mouse a forma di clessidra e fischiare una melodia.

È stato utile?

Soluzione

Penso che potresti avere ragione: in un'app asincrona decente, non devi mai mostrare un cursore occupato. L'utente può sempre fare qualcosa anche se l'ultima grande operazione sta completando.

Detto questo, a volte le app Java come Netbeans o Eclipse, o anche Visual Studio, si bloccano senza cursore occupato e senza speranza. Ma in quel caso, probabilmente un cursore occupato non sarebbe di grande aiuto ... ma penso che tu abbia ragione: i cursori occupati provengono da un'era non multithreading per le app. Nelle app Flex, ad esempio, TUTTO è automaticamente richiamate guidate dagli eventi, quindi impostare un cursore di occupato sarebbe semplicemente insignificante (anche se possibile, ovviamente).

Altri suggerimenti

In sintesi, penso che l'utente dovrebbe essere bloccato dal fare cose nella tua app solo quando l'intervallo di attesa è molto breve (2 secondi o meno) e il sovraccarico cognitivo del fare multi-threading rischia di tradursi in un minore app stabile. Per maggiori dettagli, vedi sotto.

Per un'operazione che dura meno di 0,1 secondi , di solito non è necessario andare asincroni o addirittura mostrare una clessidra.

Per un'operazione che dura tra 0,1 e 2 secondi , di solito non è necessario passare in modo asincrono. Basta spostare il cursore sulla clessidra, quindi eseguire il lavoro in linea. L'indicazione visiva è sufficiente per rendere felice l'utente finale.

Se l'utente finale avvia un'operazione che richiederà solo un paio di secondi, si trova in una posizione "focalizzata" modo di pensare in cui inconsciamente sta aspettando i risultati della sua azione, e non ha spostato il suo cervello cosciente da quel particolare focus. Quindi bloccare l'interfaccia utente - con un indicatore visivo che ciò è accaduto - è perfettamente accettabile per un periodo di tempo così breve.

Per un'operazione che dura più di 2 secondi , di solito dovresti andare asincrono. Ma anche allora, dovresti fornire una sorta di indicatore di progresso. Le persone hanno difficoltà a concentrarsi in assenza di stimolazione e 2 secondi sono abbastanza lunghi da consentire all'utente finale di passare dall'attività cosciente "focalizzata" all'attività consapevole di "attesa".

L'indicatore di progresso fornisce loro qualcosa per occuparli mentre si trovano in quella modalità di attesa e fornisce anche i mezzi per determinare quando torneranno al loro contesto "focalizzato". I segnali visivi danno al cervello qualcosa attorno al quale strutturare quei cambi di contesto, senza richiedere troppo pensiero cosciente.

Dove diventa disordinato è dove hai un'operazione che di solito si completa in X tempo, ma a volte prende Y , dove Y è molto più grande di X. Questo può accadere per azioni remote come raggiungere una rete. Questo è quando potresti aver bisogno di una combinazione delle azioni sopra. Ad esempio, prendi in considerazione la visualizzazione di un timer uovo per i primi 2 secondi e solo successivamente porta l'indicatore di avanzamento. Ciò evita di strappare l'utente finale dal contesto "focalizzato" direttamente al contesto "in attesa" senza un passaggio intermedio.

Non è specificamente il cursore di occupato che è importante, ma È importante, assolutamente, sempre fornire feedback all'utente che qualcosa sta accadendo in risposta al loro input. È importante rendersi conto che senza un cursore occupato, barra di avanzamento, pulsante, pulsante lampeggiante, manganello vorticoso, pagliaccio danzante .. non importa NULLA - se non lo hai, e il computer rimane seduto lì senza fare nulla, il computer sembra rotto all'utente.

il feedback immediato per ogni azione dell'utente è incredibilmente importante.

Si mostra un cursore occupato quando l'utente non può fare nulla fino al completamento dell'operazione, inclusa l'uscita dall'applicazione.

Trovo interessante che non si vedano cursori occupati nei browser Web, forse è per questo che alla gente piacciono così tanto.

No, aspetta, ho una risposta migliore. Mostra un cursore occupato quando il computer sta pensando .

Quando si preme il pulsante Aggiorna su un browser Web, il cursore di occupato deve apparire immediatamente per dire all'utente di far loro sapere che una pagina viene caricata.

Penso che sia stato Don't Make Me Think che ha detto che il tempo di caricamento tollerabile per l'uomo è zero secondi.

Google dice:

  

Responsive

     

È possibile scrivere il codice che vince   ogni test delle prestazioni nel mondo,   ma questo manda ancora utenti infuocati   rabbia quando provano a usarlo. Questi   sono le applicazioni che non lo sono   abbastanza reattivo & # 8212; quelli che sentono   pigro, appendere o congelare per   periodi significativi o impiegare troppo tempo   per elaborare l'input.

Ci sono due scopi per questo:

  1. Indica all'utente che sta succedendo qualcosa.
  2. Indica all'utente che al momento non è possibile fare nulla.

Il cursore occupato è un segnale migliore sull'operazione piuttosto che niente. Per operazioni più durature si dovrebbe usare qualcosa di meglio. Ad esempio, i browser sono ancora operativi quando viene recuperata una pagina e c'è anche un pulsante per interrompere l'operazione. Poiché l'interfaccia utente è completamente funzionale, non è necessario utilizzare il cursore di occupato. Tuttavia, il cursore di occupato può essere utilizzato anche in questo tipo di situazioni nelle fasi di transizione come quando si avvia l'operazione o quando si interrompe.

Cerco di usarli su qualsiasi azione che può richiedere da 0,5 a 3 secondi, per azioni più lunghe penso che dovrebbero essere usati indicatori di progresso con sufficienti informazioni.

Ho notato almeno con Fedora 8 che quando un'app imposta "occupato" cursore, il "quotato occupato interattivo" uno è effettivamente visualizzato. Immagino che ciò sia dovuto al fatto che il sistema è ancora sensibile all'input del mouse (come trascinare la finestra, ecc.). Per inciso, selezionando l'opzione " occupato interattivo " il cursore esplicitamente su Linux è complicato: http://www.pixelbeat.org/programming/x_cursors/

L'unica cosa che credo faccia il cursore di occupato è che informa l'utente che ...

  

Non ti sto assolutamente ignorando, sto solo facendo qualcos'altro che potrebbe richiedere del tempo

Sebbene sia assolutamente necessario avvisare l'utente che l'applicazione sta facendo qualcosa, un cursore occupato è utile solo per i primi secondi di elaborazione. Per un ritardo superiore a circa 15-20 secondi, deve essere presentato qualcos'altro come una barra di avanzamento, un messaggio di stato, una finestra di messaggio o altro. Le persone presumono che il software si sia bloccato dopo circa un minuto e proveranno a terminarlo. A volte, i segnali visivi generali sono importanti quanto un cursore occupato.

Ad esempio, le applicazioni con schede che non rispondono con l'evidenziazione appropriata fino al completamento dell'operazione nella scheda possono essere risolte aggiornando temporaneamente la scheda fino al completamento di tutte le operazioni. A volte, solo un po 'di ottimizzazione o refactoring puliranno la reattività dell'interfaccia utente orribile come questa.

Li userei solo per completare rapidamente le cose, come dire meno di mezzo secondo. Se qualcosa impiega più tempo di quello, allora dovrebbe apparire una finestra di dialogo di avanzamento, o una barra di avanzamento dovrebbe apparire nella barra di stato o da qualche altra parte nell'interfaccia.

L'utente dovrebbe sempre essere in grado di annullare l'azione se il completamento del processo richiede troppo tempo.

In risposta al commento, il cursore di occupato sarebbe visibile solo per circa mezzo secondo, poiché una volta aperta la finestra di dialogo di avanzamento dovrebbe passare a uno di quelli "mezzo occupato". cursori o solo il normale cursore a freccia.

Dovresti evitare di avere un cursore occupato in alto, tranne in circostanze estreme, e se pensi di averne bisogno, allora ripensaci e riprogetta.

Ad esempio, per indicare che hai fatto clic su un pulsante, anche se non è stato elaborato l'evento. Se non ci fossero indicazioni, l'utente potrebbe provare a fare di nuovo clic sul pulsante, causando ogni tipo di cattiveria.

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