web-dev-qa-db-fra.com

Comment implémenter un assistant de branchement?

Je joue avec le plugin jQuery SmartWizard pour implémenter un assistant de branchement pour une application Web. Le problème avec lequel je me bats en ce moment est de savoir comment gérer les choix des utilisateurs qui affectent le flux de travail suivant et le contenu et la réorganisation du compteur de progression de l'assistant.

Pour l'instant, je peux penser à 3 alternatives.

  1. Solution statique:
    Présentez à l'avance toutes les étapes possibles. Bien que certaines étapes ne soient activées que si l'utilisateur fait le choix approprié. Sinon, l'assistant passe à l'étape valide suivante. À titre d'exemple: si quelqu'un n'a pas besoin de "l'option de transfert de vol", l'assistant laisse simplement de côté toutes les étapes concernées par ce choix.

  2. Solution fluide:
    Présentez uniquement les étapes par défaut ou requises (scénario de chemin heureux). Si, par exemple, à un moment donné, l'utilisateur choisit de s'éloigner du chemin visible (j'ai besoin de l'option de transfert), l'assistant obtient une mise à jour visuelle et également son indicateur de progression. Maintenant, montrant toutes les étapes supplémentaires. (Je ne sais pas si c'est visuellement attrayant.)

  3. Une combinaison de 1 et 2:
    Il s'agit d'une extension aux points 1) et 2) où tous les choix sont faits d'avance comme dans une courte enquête (1ère étape). Sur la base de ces choix, l'assistant obtient une mise à jour visuelle avec le workflow correspondant. Si l'utilisateur veut changer le choix qu'il a fait, il doit revisiter la première étape (ce qui crée la complexité potentielle de ne pas perdre les données déjà saisies)

7
simou

Je crois que la solution statique fonctionne généralement mieux et peut généralement être décomposée de telle sorte que toute ramification puisse être effectuée dans des étapes statiques bien définies.

L'un des éléments clés d'un assistant est son indication de la progression et de sa localisation. Si des étapes sont ajoutées ou supprimées en fonction des actions de l'utilisateur, cet élément de prévisibilité et de "confiance" est perdu.

À titre d'exemple, pensez à une étape de l'assistant demandant à l'utilisateur d'ajouter une photo de profil.
L'étape elle-même n'est que cela - "Ajouter une photo de profil", mais l'utilisateur peut choisir parmi différentes options qui représentent différents niveaux d'effort et de temps passé:

  • Utilisez la photo de profil Facebook (connectez-vous avec Facebook)
  • Téléchargez une photo existante
  • Prendre une photo avec webcam/caméra frontale

L'utilisateur pourrait également avoir la possibilité de modifier la photo dans la même étape et peut-être ignorer et utiliser une valeur par défaut.
Néanmoins, tous ces choix et chemins "intérieurs" résident toujours dans cette étape bien définie.

4
Dan Barak

Vous pouvez avoir une logique de branchement à chaque étape de l'assistant, comme l'illustration ci-dessous.

Mais je ne transformerais pas l'assistant lui-même en une logique de branchement, surtout s'il augmente le nombre d'étapes.

Il semble que votre problème puisse être résolu en consolidant le nombre d'étapes dans l'assistant jusqu'à ce que la sélection de la logique de branchement ne modifie pas le nombre d'étapes.

mockup

télécharger la source bmml - Wireframes créés avec Balsamiq Mockups

3
Jung Lee

Comme alternative, quelqu'un a déjà créé un assistant de branchement ici .

1
Bil Simser