Construire une étude multi-utilisateurs
Comment connecter réellement deux participants de sorte que les actions de l'un atteignent l'écran de l'autre ?
Ce guide couvre les mécanismes étape par étape : activer le mode multi-utilisateurs, attribuer des rôles, connecter les participants et les maintenir synchronisés. Pour savoir quand utiliser un design multi-utilisateurs, les meilleures pratiques et des études d'exemples existantes, consultez Conception d'expérimentation multi-utilisateurs.
Les quatre étapes ci-dessous sont les mêmes pour chaque étude multi-utilisateurs, quel que soit l'objet de test. Une fois que vous les avez mises en place, la section "Exemples supplémentaires" montre les mêmes quatre étapes réutilisées dans trois conceptions différentes.
Table des matières
Connaissances prérequises
Il est conseillé d'avoir des connaissances fondamentales sur Labvanced, telles que le fonctionnement des événements et l'utilisation des variables, afin de suivre la terminologie utilisée ci-dessous.
Cadres
Le bloc de construction qui contient ce que les participants voient à chaque instant d'un essai.
Événements
Ce qu'est un déclencheur et une action, et comment ils se combinent pour construire la logique d'une étude.
Variables
Ce qu'est une variable et comment elle stocke et met à jour des valeurs pendant une étude.
Configuration de l'ossature
Activation du mode multi-participants
Une étude Labvanced est construite par défaut pour un seul participant. Aucun des outils multi-utilisateurs, Role_Id, Distribute Variable, la synchronisation, n'existe jusqu'à ce que l'étude soit informée qu'elle fonctionnera avec plus d'une personne à la fois.
Ouvrez Paramètres dans la colonne de droite, puis sous Fonctionnalités Spéciales, cliquez sur Étude Multi-Utilisateurs et cliquez sur Transform. Cela révèle deux champs : Number of Participants (minimum 2) et Maximum Parallel Sessions. Consultez Étude Multi-Utilisateurs pour la liste complète des paramètres que cela débloque.
Cette action ne peut pas être annulée (la boîte de dialogue de confirmation elle-même est étiquetée Transform Permanently). Décidez d'abord du nombre de participants, et dupliquez l'étude à l'avance si vous souhaitez également une version uniparticipant.

Attribution de rôles avec Role_Id
Avec le mode multi-participant activé, chaque participant exécute toujours une copie identique et indifférenciée de l'expérience ; rien ne les distingue encore. Role_Id donne à chaque participant une identité sur laquelle vous pouvez agir, sans collecter d'informations personnelles, afin que leurs expériences puissent commencer à faire des choses différentes.
Ajoutez un événement avec un Trial and Frame Trigger → On Frame Start, puis une Control Actions → Requirement Actions (If... Then... Else If) action :
- Ajouter une exigence : côté gauche →
Variable→ sélectionnerRole_Id; comparaison →equal; côté droit →Constant Value→Number→1 - Puis : ajoutez toutes les actions qui s'appliquent au rôle 1, par exemple
Set Object Propertypour afficher une image cible - Ajouter un cas else : ajoutez les actions qui s'appliquent à chaque autre rôle

Connexion des participants avec Distribute Variable
Un Role_Id différent peut mettre un contenu différent devant chaque participant, mais il ne peut toujours pas déplacer d'informations entre eux ; l'expérience de chaque participant s'exécute toujours de manière isolée. Distribute Variable est la seule action qui pousse une valeur de l'expérience d'un participant à celle d'un autre, ce qui rend l'étude réellement partagée plutôt que côte à côte.
Sur le déclencheur qui correspond à votre design, par exemple un Button Click Trigger ou Enter on Input Trigger, ajoutez un Variable Actions → Distribute Variable Action :
- Distribuer la valeur à : tous les participants, ou une sélection
- Choisir la variable cible et la valeur : la variable sur l'écran du participant récepteur, et ce à quoi elle doit être définie
- Bloquer : activez ceci si plus d'un participant pourrait écrire sur la même variable cible en même temps

priceArray, avec Bloc activé et une limite de taux debounce. Maintenir la synchronisation des participants
Les participants ne progressent pas à la même vitesse dans l'étude par eux-mêmes. Sans point de synchronisation, un participant peut atteindre une étape ultérieure avant même que la valeur qu'il attend ait été distribuée, voyant un état vide ou inachevé au lieu de la réponse de l'autre participant.
Sur le cadre où les participants doivent rester synchronisés, par exemple, aucun ne doit avancer avant que l'autre ait répondu, activez Sync Frame Start sous les paramètres de cadre. Tout le monde attend à ce cadre jusqu'à ce que tous les participants soient arrivés.

Exemples supplémentaires
Les quatre étapes ci-dessus ne changent pas. Ce qui change, c'est ce qui est distribué et où va le point de synchronisation. Trois variations réalisées, en commençant par la plus simple :
- Compteur partagé : la version minimale, une valeur gardée synchronisée entre deux participants
- Tâche de description Directeur-Apparié : un participant décrit, l'autre identifie
- Offre et réponse sur tour : un participant propose, l'autre accepte ou rejette
Compteur partagé
La version la plus simple possible de l'ossature : les deux participants voient le même total courant, et l'un ou l'autre peut y ajouter.
- Role_Id : pas nécessaire ici puisque les deux participants agissent de la même manière.
- Distribuer : sur un
Button Click Trigger, distribuez la valeur à tous les participants, variable cibleSharedCount, valeur =SharedCount + 1. - Synchroniser : aucune nécessaire, puisque there n'y a pas de limite d'essai pour tenir les participants en place.
Cela confirme que le mode multi-participants et Distribute Variable fonctionnent avant d'ajouter une logique basée sur les rôles.
Tâche de description Directeur-Apparié
Une tâche de communication référentielle : un participant (le Directeur) décrit un élément cible, l'autre (l'Apparié) l'identifie dans un ensemble de candidats.
- Role_Id :
Role_Id1 voit l'image cible et une entrée de texte.Role_Id2 voit les images candidates et aucun cible. - Distribuer : sur le déclencheur de la touche Entrée du Directeur, distribuez la valeur texte à une variable
Descriptionsur l'écran de l'Apparié, avecBlockactivé puisque seule une description doit être en cours à la fois. - Synchroniser : activez
Sync Frame Startsur le cadre du prochain essai, pour que le Directeur ne puisse pas avancer avant que l'Apparié ait sélectionné un candidat.
C'est la même structure derrière le Démonstration de Description d'Image.
Offre et réponse sur tour
Un échange économique : un participant propose un partage d'un montant partagé, l'autre accepte ou rejette.
- Role_Id :
Role_Id1 voit une entrée pour le partage proposé.Role_Id2 ne voit rien jusqu'à ce d'une proposition arrive. - Distribuer : sur le déclencheur de soumission du proposeur, distribuez la valeur proposée à une variable
Offersur l'écran du répondant. - Synchroniser : activez
Sync Frame Startsur le cadre des résultats, pour que ni le participant ne voit le résultat avant que le répondant ait répondu.
C'est la même structure derrière le Jeu de l'Ultimatum.
Un exemple réel de ce modèle, utilisant un montant tiré au sort plutôt qu'un montant saisi manuellement : Role_Id égal à 1 déclenche une action Draw Random Number (un tirage uniforme discret entre 50 et 150, sauvegardé à amountToSplit), suivi immédiatement par Distribute Variable envoyant amountToSplit à tous les participants, avec Block activé.

amountToSplit, puis Distribute Variable l'envoie à tous les participants avec Bloc activé. Lectures complémentaires
Conception d'expérimentation multi-utilisateurs
Quand utiliser un design multi-utilisateurs, meilleures pratiques, et une galerie d'exemples existants construits dans Labvanced.
Études multi-participants
La référence complète pour activer le mode multi-utilisateurs, des groupes de participants prédéfinis, et la synchronisation de cadre/tâche.
Système d'événements : Distribute Variable
Référence complète des paramètres pour Distribute Variable, y compris l'option de Stratégie de Limite de Taux non couverte ici.