Gli stati di caricamento esistono per rispondere a una domanda per l'utente: sta succedendo qualcosa? Senza una risposta, le persone toccano di nuovo, ricaricano la pagina o se ne vanno. La risposta giusta dipende da quanto tempo aspettano.
Per attese molto brevi, inferiori a circa un decimo di secondo, la maggior parte delle persone non nota alcun ritardo, quindi un indicatore aggiunge solo uno sfarfallio. Una tecnica comune è quella di attendere brevemente prima di mostrare uno spinner, quindi le risposte veloci non ne mostrano mai uno.
Per attese di un secondo o pochi secondi, mostra il feedback dove apparirà il risultato. Una schermata scheletrica, un contorno grigio del layout successivo, funziona bene per elenchi, schede e profili perché mostra ciò che sta arrivando e riduce lo spostamento del layout. Uno spinner funziona per piccole aree o quando il risultato non ha una forma prevedibile.
Per attività lunghe come caricamenti, esportazioni o generazione di intelligenza artificiale, mostra i progressi reali se puoi misurarli, spiega cosa sta succedendo e consenti alle persone di annullare o continuare con altro lavoro. Uno spinner che gira per un minuto senza altre informazioni sembra un fallimento.
Anche il controllo che ha avviato l’azione ha bisogno di uno stato. Un pulsante di invio che passa allo stato di caricamento e non può essere premuto due volte previene ordini e messaggi duplicati. Al termine del caricamento, passare chiaramente al successo o all'errore anziché tornare silenziosamente alle impostazioni predefinite.
L'animazione aiuta in questo caso, ma mantienila calma e breve in loop e rispetta l'impostazione del movimento ridotto. ExodeUI, che realizziamo, ti consente di progettare un caricatore o un pulsante con stati di caricamento, successo ed errore in un file tra cui il tuo codice passa.