it-swarm.com.de

Wie implementiere ich einen Verzweigungsassistenten?

Ich spiele mit dem jQuery-Plugin SmartWizard , um einen Verzweigungsassistenten für eine Webanwendung zu implementieren. Das Problem, mit dem ich gerade zu kämpfen habe, ist der Umgang mit Benutzerentscheidungen, die sich auf den nachfolgenden Workflow sowie den Inhalt und die Neuordnung der Fortschrittsanzeige des Assistenten auswirken.

Im Moment kann ich mir 3 Alternativen vorstellen.

  1. Statische Lösung:
    Legen Sie alle möglichen Schritte im Voraus fest. Einige Schritte werden jedoch nur aktiviert, wenn der Benutzer die entsprechende Auswahl trifft. Andernfalls fährt der Assistent mit dem nächsten gültigen Schritt fort. Als Beispiel: Wenn jemand die "Flugtransferoption" nicht benötigt, lässt der Assistent einfach alle Schritte aus, die mit dieser Auswahl zusammenhängen.

  2. Flüssige Lösung:
    Legen Sie nur die Standard- oder erforderlichen Schritte fest (Happy-Path-Szenario). Wenn der Benutzer beispielsweise irgendwann vom sichtbaren Pfad abzweigt (ich benötige die Übertragungsoption), erhält der Assistent eine visuelle Aktualisierung und auch seine Fortschrittsanzeige. Zeigen Sie nun alle zusätzlichen Schritte an. (Ich bin mir jedoch nicht sicher, ob dies optisch ansprechend ist.)

  3. Eine Kombination von 1 und 2:
    Dies ist als Erweiterung zu 1) und 2) gedacht, bei denen alle Entscheidungen wie in einer kurzen Anfrage (1. Schritt) im Voraus getroffen werden. Basierend auf diesen Auswahlmöglichkeiten erhält der Assistent ein visuelles Update mit dem entsprechenden Workflow. Wenn der Benutzer die von ihm getroffene Auswahl ändern möchte, muss er den ersten Schritt erneut besuchen (was die potenzielle Komplexität schafft, bereits eingegebene Daten nicht zu verlieren).

7
simou

Ich glaube, dass die statische Lösung normalerweise am besten funktioniert und normalerweise so aufgeschlüsselt werden kann, dass jede Verzweigung in genau definierten statischen Schritten erfolgen kann.

Eines der Schlüsselelemente eines Assistenten ist die Anzeige des Fortschritts und der Position innerhalb des Assistenten. Wenn Schritte basierend auf Benutzeraktionen hinzugefügt oder entfernt werden, geht dieses Element der Vorhersagbarkeit und des "Vertrauens" verloren.

Stellen Sie sich als Beispiel einen Assistentenschritt vor, in dem der Benutzer aufgefordert wird, ein Profilfoto hinzuzufügen.
Der Schritt selbst ist genau das - "Profilfoto hinzufügen", aber der Benutzer kann aus verschiedenen Optionen auswählen, die unterschiedliche Aufwands- und Zeitaufwendungen darstellen:

  • Facebook-Profilfoto verwenden (mit Facebook verbinden)
  • Laden Sie ein vorhandenes Foto hoch
  • Nehmen Sie ein Foto mit einer Webkamera/Frontkamera auf

Dem Benutzer wird möglicherweise auch die Option angeboten, das Foto im selben Schritt zu bearbeiten und möglicherweise eine Standardeinstellung zu überspringen und zu verwenden.
Trotzdem befinden sich all diese Entscheidungen und "inneren" Pfade immer noch in diesem genau definierten Schritt.

4
Dan Barak

Sie können in jedem Schritt des Assistenten eine Verzweigungslogik verwenden, wie in der folgenden Abbildung dargestellt.

Aber ich würde den Assistenten selbst nicht in eine Verzweigungslogik verwandeln, insbesondere wenn er die Anzahl der Schritte erhöht.

Es hört sich fast so an, als ob Ihr Problem gelöst werden kann, indem Sie die Anzahl der Schritte im Assistenten konsolidieren, bis die Auswahl der Verzweigungslogik die Anzahl der Schritte nicht mehr ändert.

mockup

bmml source herunterladen - Wireframes erstellt mit Balsamiq Mockups

3
Jung Lee

Alternativ hat bereits jemand einen Verzweigungsassistenten erstellt hier .

1
Bil Simser