web-dev-qa-db-fra.com

Dois-je truquer comme le bouton "j'aime" de Facebook?

La couleur change instantanément lorsque vous appuyez sur Facebook comme le bouton. Nous savons tous que cela ne se produit pas si vite. c'est faux. Mais votre tube comme l'icône change de couleur avec peu de retard (dépend de la connexion). J'ai une situation similaire avec mon bouton de sélection dans la demande d'hôtel. Dois-je truquer ou non?

enter image description here

2
Jivan

Vous demandez si les actions qui doivent être envoyées au serveur doivent se produire instantanément, ou après un délai pendant que vous attendez que la confirmation soit reçue par le client/l'interface.

Si vous attendez que la confirmation soit reçue avant de montrer quoi que ce soit, ce qui pourrait arriver presque instantanément ou après plusieurs secondes, les utilisateurs seront confrontés à un délai qu'ils devront interpréter. La demande a-t-elle gelé? L'ai-je même cliqué?

À mon avis, vous devez vous assurer que ...

  • L'action de l'utilisateur a un retour visuel immédiat
  • L'utilisateur est informé de toute erreur en cas d'échec de l'action. Certains diront que vous devez montrer le `` statut du système '' qui est l'une des heuristiques de Nielsen, ce qui montrerait que l'action est en `` traitement '', bien que je ne sois pas convaincu de la valeur dans ce cas, mais je '' Je montrerai cette option ici de toute façon.

Affichage du traitement avant la fin

J'ai fouetté cet exemple juste pour voir à quoi il pourrait ressembler. Ici l'état de traitement est affiché, et une fois que l'action s'est définitivement produite, alors l'action se termine.

Voici quelques éléments à prendre en compte concernant votre application et l'action particulière en cours d'exécution, et pourquoi cette option n'est peut-être pas une bonne idée.

  • Lorsque des données sont envoyées, elles sont envoyées plus ou moins immédiatement - quel pourcentage du temps l'action ne sera-t-elle pas reçue, la confirmation non reçue ou échouera-t-elle?
  • S'il échoue, quel est le problème si l'action est renvoyée X minutes plus tard une fois la connexion améliorée?
  • S'il s'agit d'une application, l'utilisateur interagira-t-il principalement avec les données locales de toute façon? Dans quelle mesure est-il important que les données n'aient pas été synchronisées avec le serveur?

Achèvement immédiat - bouton J'aime de Twitter

Ici, les commentaires sont fournis immédiatement après que l'utilisateur a frappé l'icône du cœur. Vous pouvez voir qu'environ une demi-seconde plus tard, la réponse réelle du serveur est reçue avec les décomptes mis à jour pour les re-tweets, les likes et les commentaires. Si l'action a échoué, je m'attendrais à ce que le cœur revienne à son état d'origine avec un message indiquant que l'action a échoué, ou que l'action soit réessayée en arrière-plan jusqu'à ce qu'elle réussisse.

5
Zenon