Le besoin
Notre application dispose d'une fonctionnalité de chat qui permet à nos utilisateurs de discuter avec d'autres utilisateurs de leur base de données.
Cependant, nous ajoutons une fonctionnalité qui permet aux clients de partager des données entre plusieurs bases de données en tant que configuration "Entreprise", et on nous a demandé de mettre à jour la conception de la fonctionnalité de discussion pour permettre aux utilisateurs de discuter avec d'autres utilisateurs dans n'importe laquelle de ces bases de données.
Nous avons examiné le nombre d'utilisateurs possibles dans ces scénarios, et le nombre d'utilisateurs de chat dans ces environnements de base de données partagés peut atteindre 5 000.
Les utilisateurs doivent pouvoir trouver les personnes avec lesquelles ils ont besoin de discuter parmi ces milliers de contacts. Cependant, jusqu'à présent, nous avons eu une liste de contacts que les utilisateurs peuvent parcourir. Comme il s'agit d'une attente des utilisateurs, nous espérions conserver une liste de contacts consultable. Nous avons exclu d'essayer d'afficher une liste de 5 000 contacts, car cela ne semble pas du tout utile ou utilisable.
Nous avons proposé trois approches pour résoudre le problème:
Première option
Afficher une liste de contacts de la base de données locale que l'utilisateur peut parcourir. Avoir un deuxième onglet qui permet aux utilisateurs de rechercher le "répertoire complet", en retournant les résultats de plusieurs bases de données.
Avantages:
Les inconvénients:
Deuxième option
Afficher une liste de contacts de la base de données locale de l'utilisateur, mais s'il recherche un contact, inclure également les résultats d'autres bases de données.
Avantages:
Les inconvénients:
Troisième option
Ajoutez une liste déroulante qui permet à un utilisateur de sélectionner un élément dans lequel rechercher: la base de données locale ou le répertoire complet.
Avantages:
Les inconvénients:
Réflexions?
En ce moment, je penche vers l'option deux, mais y a-t-il une autre option que je ne considère pas ici? Y a-t-il une autre alternative à considérer?
Merci!
Je recommanderais d'implémenter une boîte de recherche de filtre automatique avec mise en évidence des correspondances et cases à cocher pour les filtres de répertoire/base de données :
Vous pouvez demander au filtre de mettre à jour automatiquement la liste des contacts affichée au cas où quelqu'un aurait tapé un nom et oublié de sélectionner un répertoire ou sélectionné le mauvais répertoire. Cela leur évitera d'avoir à refaire l'action de saisie du nom.
Je vous laisse le défi technique :)
personnellement, je choisirais l'option 2 - limitant initialement le nombre de résultats par zone (à par exemple 5) mais en ajoutant un lien à côté de la zone (ou en bas) qui dit quelque chose comme "... voir plus" qui serait ensuite limiter le résultat à la zone spécifiée.
Avec plus de 5000 contacts, vous voudrez un contrôle de filtrage supplémentaire. Selon la culture et le pays, de nombreuses personnes peuvent avoir des prénoms et des noms similaires.
Que diriez-vous:
[Prénom nom de famille]
[Annuaire]
L'option 2 semble être la meilleure. Si trouver la bonne personne est important, quel que soit le réseau dans lequel la personne se trouve, vous supprimez la séparation et laissez le rang de recherche faire son travail. Vous pouvez alors toujours marquer chaque découverte avec son ou ses noms de réseau. c'est-à-dire "Ann Harvey (saut de ligne) Nom du réseau [petit texte]" De cette façon, vous pouvez gérer les doublons lorsqu'une recherche appartient à plusieurs réseaux. Si trouver la bonne personne dans le même réseau est plus important que je donnerais à nouveau à ces trouvailles un certain poids (dans l'algorithme) pour les déplacer dans la liste.