web-dev-qa-db-fra.com

UX pour spécifier et afficher des paires mutuellement exclusives dans un groupe

Je travaille sur une application Web SaaS/B2B qui comprend des formulaires qui permettent de choisir et d'afficher plus tard des paires mutuellement exclusives parmi un petit nombre d'options. Voici quelques exemples:

  • si le client achète ce package, ne le laissez pas acheter cet autre package
  • si je visite cette région, je ne peux pas aussi visiter cette autre région
  • si j'invite cette personne, n'invitez pas cette autre personne

Voici plus de contexte:

  • le nombre total d'options à choisir est toujours faible (2-6)
  • la valeur par défaut est toujours "aucune restriction", ce qui signifie qu'aucune paire n'est définie
  • environ 50% du temps, les utilisateurs choisissent la valeur par défaut, 25% du temps ils choisissent une paire, 20% ils choisissent 2 paires, 5% 3+ paires

Il y a deux UX que je dois comprendre:

  • un UX "voir" qui montre les restrictions appliquées
  • un UX "edit" qui permet de modifier les restrictions ainsi que d'autres attributs.

Pour l'UX "vue", ma première pensée a été d'utiliser une grille, comme ceci:

Package              Code       Manager             Don't Buy With         Actions
------------------------------------------------------------------------------------
Southwest            12         Joe Smith           Texas, Cheyenne        [edit]
Texas                89         Alex Carlson        Southwest              [edit]
Dakota               34         Mindy O'Brien                              [edit]
Cheyenne             65         Jane Skilling       Southwest              [edit]

Et pour le formulaire d'édition, ma première pensée a été d'utiliser des cases à cocher, par exemple.

Don't Buy With:    [x]   Texas
                   [ ]   Dakota
                   [x]   Cheyenne

Mais je me demande s'il existe un meilleur moyen d'afficher et de modifier les restrictions qui capture mieux la nature "mutuelle" des restrictions s'appliquant dans les deux sens (par exemple, lorsque vous ajoutez ou supprimez une restriction d'un élément, elle apparaît immédiatement sur son partenaire).

J'ai pensé à intégrer des cases à cocher dans la grille (une colonne pour chaque partenaire potentiel), mais certains noms peuvent être longs et nous risquerions de déborder de biens immobiliers horizontaux pour nos utilisateurs, en particulier ceux qui utilisent des écrans plus petits. J'ai donc rejeté cette idée (peut-être prématurément).

D'autres idées?

2
Justin Grant

Considérez vues alternatives et un table Cayley pour cela.

Tout d'abord, vous avez souligné qu'il existe des besoins de conception concurrents, ce qui nécessite vues alternatives . L'affichage des restrictions et l'affichage pour afficher les modifications peuvent être différents.

Deuxièmement, j'envisagerais d'utiliser un tableau Cayley pour montrer les permutations des restrictions. Cela pourrait ressembler à ceci:

Restrictions de package

             Southwest     Texas      Dakota      Cheyenne   
------------------------------------------------------------
Southwest  |    N/A    | Don't Buy |           | Don't Buy |
------------------------------------------------------------
Texas      | Don't Buy |    N/A    |           |           |
------------------------------------------------------------
Dakota     |           |           |    N/A    |           |
------------------------------------------------------------
Cheyenne   | Don't Buy |           |           |    N/A    |
------------------------------------------------------------

Cela reconnaît qu'il existe une relation mutuelle entre ces restrictions et prend en compte les cas d'utilisation où l'utilisateur doit les vérifier et les modifier.

2
Jonathan Strate