Vorrei anche fare riferimento al articolo di NNGroup @Neil pubblicato . Tuttavia, imporre un timeout solo per il gusto di credere che aumenterà l'esperienza utente è oltre ogni limite.
Le richieste rapide aumentano l'esperienza dell'utente, non i timeout che generano messaggi di errore.
Dicendo qualcosa sulla falsariga di "La richiesta è scaduta, riprova". non è affatto probabile che crei utenti felici. In realtà è probabile che crei più infuriato poiché il tuo compito è quello di assicurarti che la richiesta funzioni correttamente. Questo vuol dire che il timeout non ha aumentato l'esperienza dell'utente in alcun modo concepibile.
Ora passiamo ad un'altra area: cosa succede se le richieste effettivamente iniziano a rallentare a causa di qualcosa di molto semplice come un aumento del carico sui server? I tuoi utenti andranno bene finché una richiesta richiede meno di un secondo.
Cosa succede se iniziano a prendere più di un secondo? Bene, all'improvviso ci sono molti utenti con richieste che scadono - e vedono messaggi di errore che sfuggono al loro controllo. Cosa succede quando le richieste iniziano a scadere? Dalla mia esperienza personale le persone iniziano a rinfrescare / fare clic sui pulsanti molto. È molto probabile che aumenti solo i problemi di caricamento.
The question becomes: what's a good timeout value and how can you determine one from data rather than feeling like you're shooting in the dark?
Questo dipende molto dalla richiesta. In particolare, è logico che una richiesta possa richiedere molto tempo? Gli utenti sono spesso disposti ad aspettare un po 'per le cose che si aspettano di prendere tempo. La generazione di un report sembra un'attività tipica in cui ci si potrebbe aspettare un ritardo di almeno alcuni secondi, ma in questi casi è possibile in genere aiutare l'utente a prevedere un po 'di attesa.
Come punto di arrivo, ritengo che impostare 1 secondo come ambizione per il tempo medio di richiesta sia notevole, ma non imporre una tale regola arbitraria ai tuoi utenti.