Il clic sull'elemento dell'interfaccia utente già selezionato deve essere gestito normalmente o ignorato?

1

Diciamo che hai un'interfaccia utente con una vista ad albero e fai clic sull'elemento già selezionato. L'evento click deve essere gestito normalmente o ignorato (poiché l'elemento è già selezionato)? Supponiamo anche che l'esecuzione della normale gestione dei clic implichi molti lunghi calcoli, ma in generale richiede meno di 200 ms.

In altre parole, puoi "ottimizzare" molti lunghi calcoli e tornare subito, oppure puoi forzare l'aggiornamento di tutto, solo per assicurarti che tutto sia aggiornato. Come un effetto collaterale del secondo caso puoi "nascondere" alcuni bug, nel caso in cui alcune informazioni non siano aggiornate, ma l'utente può sempre contare sul fatto che facendo clic nella UI ricalcoli tutto.

    
posta AareP 16.10.2015 - 05:40
fonte

2 risposte

0

Guarderei il tuo sistema operativo, le sue applicazioni popolari e forse considero di copiare quello che fanno se la funzionalità di selezione è proprietaria con familiarità come il numero uno di cose da considerare.

Quello che ho notato è che per le situazioni in cui è presente un cursore di selezione inizio / fine, come nel caso dei controlli di testo come sto usando per scrivere questa risposta, quindi cliccando ovunque inizierò a trascinare una nuova selezione, e se fai semplicemente clic e rilasci, avrà l'effetto di cancellare la tua selezione esistente e di crearne una vuota. In quel caso la selezione vuota è un caso d'uso particolarmente comune poiché se inizio a digitare qualcosa selezionato, sostituirà quel testo, in modo tale che il caso sembra adattato a lavorare frequentemente con selezioni vuote, con una selezione di testo molto "transitoria" una sorta di idea e qualsiasi tipo di clic senza trascinare sostanzialmente lo svuotamento / la cancellazione della selezione.

Solitamente per i controlli in cui generalmente esiste almeno una "selezione di articoli dedicati" (la selezione vuota non è un caso comune), e facendo clic selezionarei qualcos'altro, nella mia esperienza vedo spesso un secondo clic per qualcosa già selezionato viene ignorato.

Un ultimo modello di selezione che ho visto mi è piaciuto particolarmente di quello che ho visto su Mac quando i mouse a pulsante singolo erano popolari era un design a pulsante singolo che pensavo fosse bello ma non lo vedo così ampiamente utilizzato . Quella si attiva / disattiva la selezione se si fa ripetutamente clic su un oggetto. Fondamentalmente funziona così:

on mouse down:
     if item under mouse cursor is selected:
          remove item from selection and begin deselection drag
     else: // if item is not selected
          add item to selection and begin selection drag

L'ho trovato piacevole, veloce e intuitivo (puoi iniziare a trascinare e deselezionare gli elementi senza alcun tasto modificatore se il primo elemento sotto il cursore quando hai iniziato il trascinamento è deselezionato, o inizia a trascinare e selezionare gli elementi e ad aggiungere alla selezione esistente senza i tasti modificatori se l'elemento inizialmente sotto il cursore del mouse non era selezionato) e in particolare tende a funzionare bene con lo stilo sui tablet. Ma non è uno schema di selezione che vedo ampiamente usato così spesso. Ma ti permette di aggiungere alla tua selezione, sottrarre da essa, attivare la selezione, ecc., Tutto con un solo pulsante.

    
risposta data 20.12.2018 - 00:54
fonte
0

Che cos'è un'interfaccia utente

Un'interfaccia utente è solo un modo elegante per presentare un insieme di azioni e scelte a un utente, sia esso testuale, grafico o tattile. Spostando un mouse, facendo clic su un pulsante, fissando una telecamera, sono disponibili azioni per l'utente. Riproduzione di un suono, colorazione di un monitor o lampeggio di un LED sono modi in cui un'interfaccia utente può informare l'utente di ciò che sta accadendo o di ciò che è possibile. Quindi il meccanismo grezzo in sé non è così interessante, ma il modello sottostante è.

Modelli di interfaccia utente

Dovrebbe essere possibile cambiare completamente la skin esterna di un'interfaccia utente. Un'interfaccia utente tattile potrebbe essere rappresentata da un oggetto virtuale tridimensionale (si immagini una tastiera), e continui a produrre un'interazione simile a se fosse stata resa fisica e interagita, per quanto riguarda l'interfaccia utente. Come una mano virtuale / reale premendo il? pulsante.

Il sistema operativo lo fa già. Puoi trovare tastiere puramente grafiche, gestite da voce o collegate via USB. Il programma è presentato e ha permesso di interagire con un modello di esso (forse diversi a seconda delle istanze).

Purtroppo questi modelli sono generalmente troppo generici, troppo complicati o troppo semplici per le applicazioni che scriviamo. La soluzione è quella di alimentare questo attraverso un modello intermedio, un modello di interfaccia utente. Questo modello si trova tra i modelli di interfaccia delle piattaforme e i modelli di dominio delle applicazioni e ha il compito ingrato di tradurre lo stato e le azioni tra i due.

Azione semantica

Cosa succede quando l'utente fa clic sul pulsante del mouse, quando il mouse si trova in una certa posizione sullo schermo, scende alla semantica. Questa è la regola che decide se quell'evento ha un significato.

Quindi, se un utente fa clic su un pulsante, stampa un pezzo di carta, questo è il significato di fare clic qui.

  • Ma qual è il significato di un doppio clic?
  • Dovrebbe stampare due copie?
  • ignora il secondo clic?
  • Quanto a lungo dovrebbe essere ignorato il secondo clic fino a quando non si presume che l'utente desideri davvero una seconda copia?

Benvenuto in User Experience design.

Esperienza utente

Quindi, dovrebbe fare clic su un elemento selezionato:

  1. esegui una lunga elaborazione
  2. non fare nulla

Immagino che l'interfaccia utente possa controllare rapidamente lo stato del sistema. Se c'è una sorta di elaborazione lunga dovrebbe essere evidente che l'azione è attualmente in corso o che ci sono alcuni risultati / stato del sistema evidente da un tentativo di elaborazione completato. In caso contrario, la logica di business è carente nell'autoconsapevolezza e non può essere arrestato in modo affidabile.

Se c'è qualche problema, i risultati sono troppo vecchi, o lo stato desiderato non è già stato raggiunto, la semantica dovrebbe essere quella di tentare nuovamente l'elaborazione.

D'altro canto, se il sistema si trova nello stato desiderato, l'azione ha un bell'aspetto e viene elaborata ora, oppure esiste una ragione di blocco non notata prima, quindi la semantica potrebbe ragionevolmente non fare nulla.

Se l'utente continua a tentare l'azione (e l'interfaccia utente continua a non fare nulla), la semantica dell'interfaccia utente dovrebbe essere quella di riconoscere l'utente. Questo potrebbe essere il terzo / quarto tentativo e l'interfaccia utente dovrebbe esprimere che il sistema sta già lavorando su di esso. Dovrebbe anche dare all'utente la possibilità di annullare e riprovare (se ragionevole). Se non è ragionevole, l'interfaccia utente dovrebbe comunicare che non può soddisfare la richiesta (come la rete che sembra essere inattiva).

    
risposta data 20.12.2018 - 05:26
fonte

Leggi altre domande sui tag