labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • Labvanced Blog
    • Services
  • Technology
    • Feature Overview
    • Code-Free Study Building
    • Eye Tracking
    • Mouse Tracking
    • Generative AI Integration
    • Multi User Studies
    • More ...
      • Reaction Time/Precise Timing
      • Text Transcription
      • Heart Rate Detection (rPPG)
      • Emotion Detection
      • Questionnaires/Surveys
      • Experimental Control
      • Data Privacy & Security
      • Desktop App
      • Mobile App
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Licenses
    • Top-Up Recordings
    • Subject Recruitment
    • Study Building
    • Dedicated Support
    • Checkout
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
    • Third-Party Licenses
  • Appgo to app icon
  • Logingo to app icon
Learn
Guía
Videos
Guías paso a paso
Preguntas Frecuentes
Archivo de Boletines
Documentos
Aula
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Guía
Videos
Guías paso a paso
Preguntas Frecuentes
Archivo de Boletines
Documentos
Aula
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Guía
    • COMENZANDO

      • Editor de Tareas
      • Marcos
        • Marco de Lienzo
        • Marco de Página
        • Marco de Sitio Web
      • Línea de Tiempo del Ensayo
      • Presentación de Estímulos
      • Corrección de Respuesta
      • Objetos
      • Eventos
      • Variables
      • Asistente de Tareas
      • Sistema de Ensayo
      • Diseño del Experimento
        • Creando un Estudio
        • Patrones de marco de datos
        • Diseño de Experimentos Multiusuario
    • TEMAS DESTACADOS

      • Aleatorización y Balance
      • Seguimiento Ocular
        • Presentación de Estímulos en una Tarea de Seguimiento Ocular
        • Cómo Elegir Configuraciones de Calibración de Seguimiento Ocular
        • Configuración del Seguimiento Ocular en una Tarea
        • Grabación y Exportación de Datos de Mirada
        • Usando Formas como Áreas de Interés (AOI) para el Seguimiento Ocular
        • La Experiencia de Calibración del Participante
      • Puente Web
        • Selección de AOIs del Sitio Web | Anclar, Ajustar y Verificar el Seguimiento de AOI
        • Seguimiento del Comportamiento del Ratón en una AOI de Sitio Web | Guía de Web Bridge
      • Cuestionarios
      • Aplicación de Escritorio
      • Estudios de Muestra
      • Reclutamiento de Participantes
      • Acceso a la API
        • REST API
        • API de Webhook
        • API de WebSocket
      • Otros Temas

        • Tiempos de Estímulo Precisos
        • Estudios Multiusuario
        • Seguimiento de Cabeza en Labvanced | Guía
    • TABS PRINCIPALES DE LA APLICACIÓN

      • Descripción general: Pestañas principales
      • Tablero
      • Mis Estudios
      • Estudios Compartidos
      • Mis Archivos
      • Biblioteca de Experimentos
      • Mi Cuenta
      • Licencia y Servicios
    • TABS DE ESTUDIO

      • Descripción general: Pestañas específicas del estudio
      • Diseño del Estudio
        • Tareas
        • Bloques
        • Sesiones
        • Grupos
      • Editor de Tareas
        • Controles de Tareas
        • El Sistema de Pruebas
        • Tipos de Marcos
        • Objetos
        • Tablas de Propiedades de Objetos
        • Variables
        • Tablas de Variables del Sistema
        • El Sistema de Eventos
        • Funciones del Editor de Texto
        • Opciones de Seguimiento Ocular en el Editor de Tareas
        • Seguimiento de Cabeza en una Tarea
        • Estudios Multi-Usuario
      • Configuraciones
      • Variables
      • Medios
      • Textos y Traducción
      • Lanzar y Participar
      • Gestión de Sujetos
      • Vista de Datos y Exportación
        • Vista de Datos y Selección de Variables y Tareas (Versión ANTIGUA)
        • Accediendo a Grabaciones (Versión ANTERIOR)
  • Videos
    • Descripción general del video
    • Introducción a Labvanced
    • Creación de tareas
    • Videos de elementos
    • Eventos y variables
    • Temas avanzados
  • Guías
    • Introducción
    • Tarea de Stroop
    • Tarea de decisión léxica
    • Tarea de señalización de mirada de Posner
    • Paradigma de parpadeo de ceguera por cambio
    • Estudio de ejemplo de seguimiento ocular
    • Estudio de seguimiento ocular en infantes
    • Estudio de captura de atención con seguimiento de mouse
    • Presentación visual serial rápida
    • Estudio de ChatGPT
    • Demostración de seguimiento ocular: SVG como AOIs
    • Demostración multiusuario: Mostrar los cursores de los sujetos
    • Controlador de gamepad / joystick- Configuración básica
    • Estudio de aplicación de escritorio con integración de EEG
    • Equilibrio de grupos entre sujetos y configuración de variables
    • Construyendo un estudio multiusuario
    • Guía de seguimiento ocular en marco de sitio web
    • Seguimiento ocular condicional con webcam
  • Preguntas frecuentes
    • Características
    • Política y pautas de soporte
    • Seguridad y privacidad de datos
    • Licenciamiento
    • Precisión de Labvanced
    • Uso programático y API
    • Uso de Labvanced sin conexión
    • Resolución de problemas
    • Preguntas sobre la creación de estudios
  • Archivo de boletines
  • Documentos
  • Aula

Construyendo un Estudio Multiusuario

¿Cómo conectas realmente a dos participantes para que las acciones de uno lleguen a la pantalla del otro?

Esta guía cubre la mecánica clic a clic: habilitar el modo multiusuario, asignar roles, conectar participantes y mantenerlos sincronizados. Para cuándo usar un diseño multiusuario, mejores prácticas y estudios de ejemplo existentes, consulta Diseño de Experimento Multiusuario.

Los cuatro pasos a continuación son los mismos para cada estudio multiusuario, independientemente de lo que esté probando. Una vez que los tengas funcionando, la sección de "Ejemplos Adicionales" muestra los mismos cuatro pasos reutilizados en tres diseños diferentes.

Tabla de Contenidos

  • Conocimientos Previos
  • Configurando la Estructura
    • Habilitando el modo multiparticipante
    • Asignando roles con Role_Id
    • Conectando participantes con Distribute Variable
    • Manteniendo a los participantes en sincronía
  • Ejemplos Adicionales
    • Contador Compartido
    • Tarea de Descripción Director-Coordinador
    • Oferta y Respuesta por Turnos
  • Lectura Adicional

Conocimientos Previos

Se recomienda tener conocimientos fundamentales sobre Labvanced, tales como cómo funcionan los eventos y cómo se utilizan las variables, para seguir la terminología utilizada a continuación.

Frames

El bloque de construcción que sostiene lo que los participantes ven en cada momento de un ensayo.

Eventos

Qué son un desencadenante y una acción, y cómo se combinan para construir la lógica de un estudio.

Variables

Qué es una variable y cómo almacena y actualiza valores durante un estudio.

Configurando la Estructura

Habilitando el modo multiparticipante

Un estudio de Labvanced está construido para un participante por defecto. Ninguna de las herramientas multiusuario, Role_Id, Distribute Variable, sincronización, existen hasta que se le indique al estudio que se ejecutará con más de una persona a la vez.

Abre Configuración en la columna derecha, luego en Características Especiales haz clic en Estudio Multiusuario y haz clic en Transform. Esto revela dos campos: Number of Participants (mínimo 2) y Maximum Parallel Sessions. Consulta Estudio Multiusuario para ver la lista completa de configuraciones que esto desbloquea.

Este clic no se puede deshacer (el cuadro de diálogo de confirmación está etiquetado Transform Permanently). Decide primero el número de participantes y duplica el estudio de antemano si también deseas una versión de un solo participante.

La pestaña de Características Especiales en Configuración con Estudio Multiusuario transformado, mostrando Número de Participantes, Sesiones Paralelas Máximas, y otras opciones multiusuario

Asignando roles con Role_Id

Con el modo multiparticipante activado, cada participante sigue ejecutando una copia idéntica y no diferenciada del experimento; nada aún los distingue. Role_Id le da a cada participante una identidad sobre la que se puede actuar, sin recopilar nada personal, para que sus experimentos puedan empezar a hacer cosas diferentes.

Agrega un evento con un Trial and Frame Trigger → On Frame Start, luego una acción Control Actions → Requirement Actions (If... Then... Else If):

  • Agregar Requisito: lado izquierdo → Variable → seleccionar Role_Id; comparación → equal; lado derecho → Constant Value → Number → 1
  • Luego: agrega las acciones que apliquen al rol 1, por ejemplo Set Object Property para mostrar una imagen objetivo
  • Agregar Caso Else: agrega las acciones que apliquen a cada otro rol

Una Acción de Requisito verificando que Role_Id es igual a 2, cuyo bloque Then ejecuta dos acciones de Establecer Propiedad de Objeto ocultando los objetos imageShown y Not allowed words

Una verdadera Acción de Requisito: Role_Id igual a 2 establece la Visibilidad de dos objetos a 0, ocultándolos solo para ese rol.

Conectando participantes con Distribute Variable

Un Role_Id diferente puede poner contenido diferente frente a cada participante, pero aún no puede mover información entre ellos; el experimento de cada participante sigue ejecutándose en aislamiento. Distribute Variable es la única acción que empuja un valor fuera del experimento de un participante y dentro del de otro, lo que realmente hace que el estudio se sienta compartido en lugar de uno al lado del otro.

En cualquier desencadenante que se adapte a tu diseño, por ejemplo un Button Click Trigger o Enter on Input Trigger, agrega un Variable Actions → Distribute Variable Action:

  • Distribuir valor a: todos los participantes, o una selección
  • Elegir variable objetivo y valor: la variable en la pantalla del participante receptor, y a qué debe ser establecida
  • Bloquear: activa esto si más de un participante podría escribir en la misma variable objetivo al mismo tiempo

Acción Distribute Variable configurada a Participantes Seleccionados con el participante 2 marcado, variable objetivo priceArray, Bloqueo habilitado, y Estrategia de Límite de Tasa ajustada a debounce

Una verdadera Acción Distribute Variable: enviada a un Participante Seleccionado en lugar de a todos, enfocándose en priceArray, con Bloqueo habilitado y un límite de tasa por debounce.

Manteniendo a los participantes en sincronía

Los participantes no avanzan por el estudio al mismo ritmo por su cuenta. Sin un punto de sincronización, un participante puede llegar a un cuadro posterior antes de que el valor que están esperando haya sido distribuido, viendo en su lugar un estado en blanco o incompleto en lugar de la respuesta del otro participante.

En el cuadro donde los participantes necesitan estar sincronizados, por ejemplo, ninguno debe avanzar antes de que el otro haya respondido, habilita Sync Frame Start en la Configuración del Cuadro. Todos esperan en ese cuadro hasta que todos los participantes hayan llegado.

Panel de Configuración de Cuadro con la casilla de verificación Sincronizar Inicio de Cuadro habilitada, mostrado junto a la Línea de Tiempo del Juicio para una tarea multiusuario de tipo dividir el dinero

La casilla de verificación Sincronizar Inicio de Cuadro en la Configuración de Cuadro, habilitada en un cuadro de la línea de tiempo del juicio.

Ejemplos Adicionales

Los cuatro pasos anteriores no cambian. Lo que cambia es lo que se distribuye y dónde se coloca el punto de sincronización. Tres variaciones trabajadas, comenzando con la más simple:

  • Contador Compartido: la versión mínima, un valor mantenido en sincronía entre dos participantes
  • Tarea de Descripción Director-Coordinador: un participante describe, el otro identifica
  • Oferta y Respuesta por Turnos: un participante propone, el otro acepta o rechaza

Contador Compartido

La versión más simple posible de la estructura: ambos participantes ven el mismo total acumulado, y cualquiera de ellos puede añadir a ello.

  • Role_Id: no necesario aquí ya que ambos participantes actúan de la misma manera.
  • Distribuir: en un Button Click Trigger, distribuir valor a todos los participantes, variable objetivo SharedCount, valor = SharedCount + 1.
  • Sincronizar: ninguno necesario, ya que no hay un límite de prueba que mantenga a los participantes.

Esto confirma que el modo multiparticipante y Distribute Variable están funcionando antes de añadir la lógica basada en roles encima.

Tarea de Descripción Director-Coordinador

Una tarea de comunicación referencial: un participante (el Director) describe un ítem objetivo, el otro (el Coordinador) lo identifica de un conjunto de candidatos.

  • Role_Id: Role_Id 1 ve la imagen objetivo y una entrada de texto. Role_Id 2 ve las imágenes de candidatos y no hay objetivo.
  • Distribuir: en el desencadenante de la tecla Enter del Director, distribuir el valor de texto a una variable Description en la pantalla del Coordinador, con Block habilitado ya que solo una descripción debería estar en vuelo a la vez.
  • Sincronizar: habilitar Sync Frame Start en el siguiente cuadro del juicio, para que el Director no pueda avanzar antes de que el Coordinador haya seleccionado un candidato.

Esta es la misma estructura detrás de la Demostración de Descripción de Imágenes.

Oferta y Respuesta por Turnos

Un intercambio económico: un participante propone una división de una cantidad compartida, el otro acepta o rechaza.

  • Role_Id: Role_Id 1 ve una entrada para la división propuesta. Role_Id 2 no ve nada hasta que llegue una propuesta.
  • Distribuir: en el desencadenante de envío del proponente, distribuir el valor propuesto a una variable Offer en la pantalla del respondedor.
  • Sincronizar: habilitar Sync Frame Start en el cuadro de resultado, para que ningún participante vea el resultado antes de que el respondedor haya contestado.

Esta es la misma estructura detrás del Juego del Ultimátum.

Un ejemplo real de este patrón, utilizando una cantidad extraída al azar en lugar de una ingresada manualmente: Role_Id igual a 1 desencadena una acción Draw Random Number (un sorteo uniforme discreto entre 50 y 150, guardado en amountToSplit), seguido inmediatamente por Distribute Variable enviando amountToSplit a todos los participantes, con Block habilitado.

Una Acción de Requisito verificando que Role_Id es igual a 1, cuyo bloque Then ejecuta Dibujar Número Aleatorio guardando en amountToSplit, seguido por una Acción Distribute Variable enviando amountToSplit a todos los participantes con Bloqueo habilitado

Una verdadera Acción de Requisito donde Role_Id igual a 1 ejecuta Dibujar Número Aleatorio en amountToSplit, luego Distribute Variable lo envía a todos los participantes con Bloqueo habilitado.

Lectura Adicional

Diseño de Experimento Multiusuario

Cuándo usar un diseño multiusuario, mejores prácticas y una galería de ejemplos existentes construidos en Labvanced.

Estudios Multiparticipantes

La referencia completa para habilitar el modo multiusuario, grupos de participantes predefinidos y sincronización de cuadros/tareas.

Sistema de Eventos: Distribute Variable

Referencia completa de parámetros para Distribute Variable, incluyendo la opción de Estrategia de Límite de Tasa no cubierta aquí.

Prev
Equilibrio de grupos entre sujetos y configuración de variables
Next
Guía de seguimiento ocular en marco de sitio web