2010-06-02 11 views
3

Je développe une application web qui recueille des données sur plusieurs étapes grâce à un assistant. Les étapes ne sont généralement pas interdépendantes, en ce sens que la saisie de données à chaque étape a peu ou pas d'effet sur les étapes qui en découlent. Cependant, chaque étape peut avoir un ensemble de validations qui déterminent si l'utilisateur peut passer à l'étape suivante en cliquant sur "continuer"UX Design Question: Un assistant multi-étapes doit-il enregistrer le contenu du formulaire lorsque l'utilisateur clique sur "revenir en arrière"/précédent?

Quel devrait être le comportement lorsque l'utilisateur clique sur le précédent? A> Passer rapidement à la page précédente, perdant ainsi toutes les données non enregistrées dans le formulaire. Inviter l'utilisateur avec un avertissement est une option, mais il peut devenir irritant très bientôt.

b> Déplacer à la page précédente sauvegarder toutes les données de l'étape en cours - sans déclencher la validation, de sorte que lorsque l'utilisateur revient, elle voit la forme dans le même état qu'elle a laissé dans

c. > tout autre comportement

Tous les avis sont les bienvenus :)

+0

oublié de mentionner - Je n'ai pas un bouton de sauvegarde à chaque étape. Est-ce mauvais? –

Répondre

5

vous devez enregistrer les données saisies, mais vous pouvez vous en sortir en l'enregistrant volatile (ou clientside en mémoire - ou les cookies SESSION). Aucun besoin de le rendre persistant dans votre base de données ou quoi que ce soit - si l'utilisateur ne termine pas complètement l'assistant, il n'y a pas de trace (bien que ce soit bien, si vous pouvez vous permettre les ressources.

Ceci reflète le Mental Model de l'utilisateur: la plupart des installateurs Windows fonctionnent comme ceci. Ce est conforme avec SEC - Ne vous répétez. Si l'utilisateur a déjà répondu à la question, ne lui faites pas de nouvelle réponse.

+1

Sauvegarde côté client bien sûr.Impossible d'avoir des données non vérifiées s'infiltrer dans la base de données: P –

+0

Sauf si vous avez un indicateur PASSED_VERIFICATION. Notre application de facturation enregistre TOUTES les factures qu'un utilisateur saisit, même incorrectes ou incomplètes. De cette façon, l'utilisateur peut "oh non je dois partir ou je vais rater mon train", enregistrer, éteindre l'ordinateur ... et reprendre son travail le matin. Les factures incomplètes incomplètes ne sont pas affichées dans les statistiques, mais génèrent des rappels. – Konerak

3

Le moyen le plus simple de répondre à cette question est de se rappeler que le logiciel existe pour servir l'utilisateur, et non l'inverse. Le travail des utilisateurs est et non pour remplir votre formulaire en soi. Ce n'est qu'un moyen d'atteindre un autre objectif. Effectuez toutes les sauvegardes automatiques possibles, rappelez-vous autant que possible et ne faites pas plus de saisie de données que nécessaire.

Et assurez-vous que vous ne validez que des choses vraiment importantes. Ne vous lamentez pas sur "les numéros de téléphone ne peuvent pas avoir - en eux!" et des choses dans le genre. Si vous n'acceptez pas les tirets, supprimez-les simplement et passez à autre chose, ne faites pas que l'utilisateur le fasse. Rappelez-vous: le logiciel est là pour servir l'utilisateur, donc quand vous répondez à la question "devrais-je ...?" demandez toujours "comment ma décision affectera l'utilisateur".

+0

logiciel existe pour servir l'utilisateur, et non l'inverse., Donc en répondant à la question "devrais-je ...?" demandez toujours "comment ma décision affectera l'utilisateur". - Belle façon de le mettre :) Simplifie beaucoup de décisions UX –

0

D'accord avec ce qu'a dit Bryan. Btw, vous ne pouvez pas tout expliquer (pourquoi avez-vous besoin de cette valeur, que se passe-t-il si l'utilisateur entre cette valeur/sélectionnez cette option) dans le formulaire afin que l'utilisateur n'ait pas besoin de revenir en arrière?

Bien sûr, vous devriez tout sauvegarder afin que l'utilisateur n'ait pas à tout entrer à nouveau, mais ce serait bien si vous pouvez donner suffisamment d'informations à l'utilisateur tout en remplissant le formulaire afin qu'il ne revienne pas avant tout en remplissant le formulaire.

+0

J'ai pris soin que mes formulaires ne nécessitent pas de fréquents allers-retours dans l'assistant pour terminer une tâche, ou alors j'espère. Cela dit, vous ne savez jamais comment les différents utilisateurs utilisent les formulaires, donc c'était une question générale sur la conception des assistants. –