Análisis de una Metodología para Construir Hiperhistorias

Sánchez, J. -jsanchez@dcc.uchile.cl
Universidad de Chile, Departamento de Ciencias de la Computación,
Blanco Encalada 2120, Casilla 2777, Santiago, Chile. Fax: (56-2) 689 5531
Lumbreras, M., mauricio@info.unlp.edu.ar
Universidad Nacional de la Plata, LIFIA, La Plata, Argentina,


 
 

1. Introducción

Tradicionalmente la concepcion de una historia o historieta involucra la descripcion de un suceso, en el cual un conjunto de personajes realizan cierta actividad a lo largo de la trama. Mediante una secuencia de fases denominadas genŽricamente introduccion, nudo y desenlace, la idea es desarrollada por el autor y reconstruida e interpretada posteriormente en la mente del lector.

Una hiperhistoria (HH), es primariamente una historia interactiva que ocurre en un ambiente hipermedial standard. Las características propias de una HH tal como facilidades de interactividad y posible no determinismo que ellas proveen, hacen que el modelo hipermedial no sea lo suficientemente robusto como para modelizarlas (ver especificacion del modelo en Cernuzzi et al., 1994, Sánchez & Lumbreras , 1995, 1996).

Haciendo una breve recapitulacion del modelo de hiperhistorias propuesto en la literatura, las hiperhistorietas han sido conceptualizadas como la sumatoria de hipermedia, objetos dinámicos y caracteres con comportamiento, en donde hipermedia es utilizada para representar los medio ambientes y su conectividad navegacional, los objetos dinámicos son entidades que tienen ciertas conductas en el tiempo y reaccionan a los eventos producidos por los aprendices y otras entidades, y los caracteres que son las entidades más relevantes que desenvuelven la historia. El protagonista es un caracter especial, el cual es manipulado por el usuario y representa la conexión con el sistema (Cernuzzi et al., 1994; Sánchez & Lumbreras 1995, 1996).

En el contexto anterior, los modelos propuestos (Sánchez & Lumbreras 1995), presentan algunos requerimientos, tales como :

  • Separación de la interfaz del contenido de la historia
  • Composición, modularidad, y herencia entre entidades
  • Soporte de eventos concurrentes
  • Independencia entre la especificación y el lenguaje de implementación
  • Implementación de la interfaz de usuario en un lenguaje distinto de aquel de la implementación de la historia
  • Objetos con conducta dinámica y autónoma
  • Comunicación sincrónica y asincrónica entre entidades
  • Teniendo en mente lo anterior, a continuación se plantea un guidelines o lineamiento metodológico para diseñar hiperhistorias (para un mayor entendimiento del raigambre cognitivo de las HH, consultar las referencias adjuntas).
     
     

    2. Diseño de Hiperhistorias
     

    De alguna manera, al plantearse la descripción de una hiperhistoria, se parte de un relato preexistente o de alguna idea que describe el ambiente del evento, y asociado a el, algunas ideas de sucesos que sería interesante de plasmar allí con el objetivo de estimular alguna facultad o representar cierta idea. La primera aproximación es crear una hiperhistoria a partir de una historia o completamente a partir de novo. Se trata detener una historia con diferentes caminos posibles, pero permitiendo libertad de navegación e interacción con el ambiente.

    Es así que la historia es re-escrita como un conjunto de segmentos. En cada uno de ellos se indica, aproximadamente, que hace cada personaje, su interacción con el medio y los enlaces a otros segmentos de la historia, en función de los eventos generados por las entidades de la historia.

    Lineamiento 1

    Describir alternativas posibles en el curso de la historia, teniendo en cuenta que eventos originan los cambios en el desarrollo, con una representación conceptual adecuada de los ambientes y de la actitud y/o actividad de otras entidades (fase de escritura de la HH, utilizando lenguaje coloquial)
     


    Figura 1: para ejemplificar usaremos un tramo de una HiperHistoria en donde el protagonista ayudado por su perro ( su amigo) encuentran un tesoro. La primera fase es describir los eventos más importantes y plasmarlos tal como un diagrama de flujo.
     
     

    Hasta este punto, lo que tenemos es un esquema de la historia desglosado en segmentos interrelacionados, parecido a los que se presentan en los libros tipo "elige tu propia historia". Lo que hemos descripto es básicamente las líneas principales de la hiperhistoria
     

    Una hiperhistoria siempre se desarrolla bajo un determinado ambiente de navegación (ej:un barrio con casas y calles, una selva con ríos y cuevas, etc.). Para efectos del modelado, esta estructura estática de navegación debe ser descripta. A partir del relato, el diseñador puede saber que contextos existen, su conectividad y que entidades están allí a priori.

    Lineamiento 2

    Determinar que contextos existen en la historia, su conectividad y las entidades que allí existirán (fase de modelado del ambiente, utilizando notación gráfica para dibujar contextos y links, y especificando clases de contextos con la notación establecida en el modelo).
     


    Figura 2: Cada contexto de navegación es representado por un globo. Las flechas indican links de conectividad.



    Hasta aquí lo que tenemos es de alguna manera un escenario sin actividad, esto es, un esqueleto estructural que contendrá a los objetos y caracteres. Ahora debemos completar con las entidades que van a generar el curso de la HH. Así, esta va estar manejada por la actividad de los personajes. Dependiendo de la HH en particular, puede ser que el usuario tenga la opción de encarnar en una misma o diferentes sesiones a diferentes personajes. La metáfora de la historia y los personajes permiten que se asocien a ellos diferentes habilidades, grados de dificultad y nivel de interactividad. Es por ello que debemos delinear la característica de cada uno de ellos.

    Lineamiento 3

    Asignar características relevantes a cada personaje, y utilizar estas consistentemente para reflejar diferentes habilidades o point of view (Fase de caracterización de personajes, se describe informalmente que cosas puede hacer y/o actitud de cada uno de ellos, en especial si el usuario puede, para diferentes sesiones, utilizar diferentes personajes)
     
     





    Protagonista Perro Abeja

    • Manipulable • Astuto • Voladora

    • Habilidoso • Compañero • Pequeña
     

    Figura 3: Cada personaje posee diferentes habilidades y modalidades de desenvolvimiento en el ambiente. El usuario puede encarnar al protagonista y preveer el comportamiento de los otros caracteres en función de sus características propias
     
     

    Una vez realizado esto, debemos diseñar más formalmente la estructura de la historia. En la primera aproximación, cada segmento de historia es denominado escena, la cual es etiquetada con un número o nombre. Cada suceso que puede cambiar el curso de la historia, posee así una identificación, indicando el evento originador y el bloque destino. Una escena es un tramo conceptual de la HH, y un bloque es una sección de comportamiento de una entidad. Una escena puede estar compuesta por uno o varios bloques. Es así que una escena puede estar particionada en pequeñas fases, las cuales son representadas explícitamente por bloques. Hay que notar que si en una escena que está dividida en n bloques y en donde están involucrados m objetos, se puede realizar una grilla de m filas por n columnas, en donde cada celda almacenará el comportamiento del objeto m-ésimo en el bloque n-ésimo.

    Con esta idea, se realiza un diagrama de escenas, el cual indica la estructura medular de la hiperhistoria.

    Para realizar una especificación más precisa de estas escenas , la primera idea es obtener del relato todas las entidades que existen en cada parte de la historia, y anotarlas, para posteriormente asignarles a cada una de ellas el comportamiento necesario. Es así que se obtiene una gran grilla, la cual tiene tantas columnas como objetos posea la HH, y tantas filas como bloques tenga cada una de las escenas.

    Lineamiento 4

    Obtener atributos de cada entidad y comportamiento de ella para cada bloque. (Fase de modelado formal de entidades, se indica que eventos puede recibir, como va a responder y que atributos se van a modificar, utilizando el formalismo de descripción de entidades visto en el modelo propuesto )
     




    Protagonista Perro Abeja Lámpara
     
     

    Atributos

    • dinero adquirido • tengo hambre? • he picado? • encendida?

    • objetos tomados • distancia recorrida
     
     

    Comportamiento

    • buscar cosas • picar a objetos • encenderme

    animados
     
     

    Figura 3: Cada entidad ( carácter u objeto simple ) posee un conjunto de atributos que definen sus estado interno y un comportamiento que refleja como va a reaccionar ante eventos externos u internos. Sorprendentemente puede que el protagonista no tenga gran comportamiento predefinido, pues este será aportado por el aprendiz al manipularlo
     


    Una vez realizado lo anterior, se observa que muchas entidades reaccionan de manera similar ante un evento dado. Además, otras sólo presentarán comportamiento en algunas fases de la HH. Complementariamente, puede surgir que ciertas entidades pueden ser especialización de otras. Es por ello que ahora viene un proceso doble:

    Decompresión de bloques, lo que indica que si la historia posee "n" bloques no necesariamente cada entidad tendra "n" bloques de comportamiento. Esto quiere decir que si hay bloques vacios para ciertas fases de la HH para ciertas entidades, estos bloques desaparecen; además de tener en consideración si es posible anidar bloques.

    De temporización y sincronización, pues en el relato escrito no aparece explícitamente este tipo de actividad donde se involucra esto.

    Lineamiento 5

    Codificar el comportamiento de cada entidad, asociándolo a diferentes bloques de comportamiento y anidándolos si es necesario. Resolver problemas de timing y sincronización (Fase de compresión y timing, se utilizan eventos que involucran el timer y sincronización a través de flags y envío/recepción de mensajes ).
     
     




    Bloque 1

    <buscar un hueso o cosas bajo la tierra>

    < si encontré un hueso entonces no tengo hambre y paso a bloque 2>

    < si encontré algo que no es un hueso le aviso a mi dueño >

    Bloque 2

     <buscar un hueso o cosas bajo la tierra>

    < si encontré un hueso no hago nada >

    < si encontré algo que no es un hueso le aviso a mi dueño >
     

    Figura 4: El modelo permite describir el comportamiento específico usando reglas contenidas en bloques. En el ejemplo, si el perro encuentra algo que no es un hueso se comporta siempre igual: le avisa al dueño. Es así que para evitar repetir esa regla, se puede alojar esta en un bloque mayor siempre activo ( Bloque 0 ) que contenga a las dos.
     
     

    Bloque 0

    < si encontré algo que no es un hueso le aviso a mi dueño > (*)

    <buscar un hueso o cosas bajo la tierra> (*)

    Bloque 1

    < si encontré un hueso entonces no tengo hambre y paso a bloque 2>

    Bloque 2

    < si encontré un hueso no hago nada >
     

    Figura 5: Compactando bloques se puede reutilzar comportamiento para las diferentes fases de la vida de una entidad. Las reglas (*) están activas todo el tiempo. Notar que dependiendo de la fase de vida del perro, le puede o no importar encontrar un hueso.
     

    Hasta este punto lo que tenemos es un conjunto de caminos posibles en la historia, convenientemente codificado. Pero, ¿ Dónde está el no determinismo o concurrencia?
     


    Una vez que la historia es codificada, nuevas ideas aparecen ( por ejem: alguna entidad recorre los ambientes periódicamente, generando algún evento interesante que puede cambiar el curso de la historia, dar alguna pista o dato relevante), o por ejemplo, hay que resolver temas tales como: ¿Qué hacen los otros personajes cuando súbitamente el protagonista viaja a otro lugar?.

    Es así que se remodela la historia, otorgándole las características deseadas originalmente en la especificación del modelo. Este remodelado involucra retocar el comportamiento de las entidades. Por ejem: supongamos que agregamos a la HH el comportamiento de un abeja, que periódicamente vuela por los ambientes tratando de picar a la persona que encuentre y transformándola en mariposa. Este ejemplo involucra dos conceptos:

    a) la abeja posee un comportamiento autónomo verificando la existencia de personas en cada ambiente, y b) cada persona debe ser capaz de recibir y actuar adecuadamente al ser picado y convertido en mariposa. Lineamiento 6

    Enriquecer la historia con características de entidades de comportamiento autónomo, basándose en el uso de entidades que poseen actividades temporizadas guiadas, teniendo en cuenta que las otras entidades pueden/deben poder aceptar estos nuevos eventos. (Fase de enriquecimiento; se extiende la HH recreando los pasos 4) y 5) para las nuevas entidades y extendiendo la funcionalidad para las entidades preexistentes).

    < verificar si hay un objeto animado en mi contexto, si hay uno, picarlo >

    < cada 20 segundos viajar a un contexto vecino >
     
     

    Figura 7: la abeja puede tener un comportamiento autónomo ligado a un proceso de temporización. De esta forma el encuentro entre el protagonista y la abeja no puede ser determinado a priori, dando una indeterminación interesante en el curso de la historia. Para que el protagonista pueda ser picado, debe tener una regla que acepta ese evento.
     
     

    Si bien la comunicación entre objetos es posible de representar en forma explícita a través de envío de mensajes, existe un mecanismo denominado canal el cual permite de alguna manera difundir o hacer "broadcast" de un suceso a todos los objetos ligados a este canal. Por ejemplo, si se enciende un interruptor de luz, todas las ampolletas ligadas a ese canal se deben encender o apagar según el estado del interruptor. Así, un canal es un medio difusor de eventos. El interruptor no sabe que enciende, sólo sabe encender. La ampolleta sabe ser prendida. El canal oficia de medio conductor de eventos sin ruteo explícito por parte del emisor. De esta manera se puede componer nuevas interacciones en función de conexión entre entidades. Este proceso surge continuamente en el diseño a partir del lineamiento 4

    Lineamiento 7

    Especificar canales de comunicación explícitos entre objetos que admiten interconexión por canales, de tal manera de describir la mecánica de interacción entre ellos.



    Figura 8: Un switch puede prender algo, cualquier cosa que acepte el evento encender. La lámpara acepta ser encendida. Así, a través de un canal podemos interconectar entidades de la misma manera que cualquier constructor une módulos para llegar a un todo.
     

    3 La interfaz

    Hasta este punto hemos visto cómo conceptualmente se describe una HH, pero ¿Qué hay acerca de la presentación final al usuario?. Sin duda este es uno de los puntos donde más cuidado hay que tener, pues ser uno de los más importantes, ya que en función de ella, el usuario dictaminará lo interesante o atractiva que le resulte la hiperhistoria. No es el objetivo de este trabajo explicar cómo debe ser diseñada la interfaz, pero lo que hay que tener en cuenta, es qué se debe asociar a cada contexto una presentación del usuario. Esto significa que hay que:

    Lineamiento 8

    Realizar un boceto del aspecto que tendrá cada contexto y del aspecto que ofrecerá cada entidad que está en él.
     



    Figura 9: un boceto de cada contexto dará idea clara del aspecto final en la implementación de la interfaz para navegar la hiper historia
     
     

    De esta manera, puede ser que surjan nuevas ideas o permitan refinar alguno de los conceptos anteriormente especificados.
     

    En relación a la construcción de HiperHistorias no solamente es necesario entregar un conjunto de lineamientos para la concreción de una HiperHistoria (HH), sino que también es fundamental estudiar el aspecto final que presentará la HH a nivel de presentación, es decir su interfaz. A continuación se presentan algunos tópicos que a juicio de los autores deben ser considerados en la creación de interfaces para hiperhistorias.


    El aprendiz puede elegir asumir distintos roles en distintas HH. Esto corresponde a tomar el rol de uno (uno sólo) de los personajes de la HH a la vez. Sería deseable que cada personaje identifique un conjunto posible de acciones.

    Indicación del "status" actual a nivel de interfaz, con rasgos significativos indicando si el personaje se encuentra en algun estado especial ( cansado, herido, confuso, etc.).

    Crear una sensación de movimiento lo más real posible, por ejempo, teniendo encuenta cambio de tamaño en función de la distancia, cambio de ambiente, etc.


    Introducción al ambiente de la HiperHistoria. Tour Guiado en donde el protagonista sólo tiene la facultad de moverse para conocer los distintos ambientes y los distintos personajes (cada personaje podría presentarse mostrando una foto o un pequeño clip de video de sí mismo acompañado por un breve comentario sonoro);

    Distintos niveles que impliquen distintas destrezas en el aprendiz. En un primer nivel el protagonista tendrá un control mayor sobre sus movimentos. Para este efecto se podría utilizar la técnica de "drag and drop". En niveles sucesivos, habiendo el aprendiz adquirido las destrezas de desplazamiento y el concepto de "moverse en el espacio", se podría utilizar un simple click del mouse en una dirección, permitiendo una abstracción mayor del concepto y un menor control "físico" del protagonista.
     


    Acciones posibles del protagonista:

    Navegación (desplazamiento): permite conocer y reconocer el ambiente y las propiedades espaciales de éste, así como el desplazamiento entre los distintos contextos;

    Acción sobre los objetos del contexto en el que se encuentra (por ej. activación de un objeto, asociación de un objeto a otro, consulta del estado de un objeto, etc.). Esto permite asociar reacciones posibles de los objetos y/ocontextos a ciertos eventos, así como posibilita la asociación de diferentes objetos entre sí para obtener un cierto resultado.
     


    Desventajas: se pierde un espacio útil de la pantalla. Se deja poca flexibilidad para añadir nuevas acciones y se introduce una solución a priori artificiosa.

    Ventajas: facilidad para mostrar acciones posibles y fácil para seleccionar, consistente con los ambientes actuales orientados a ventanas.
     


    Aparece un menś con todas las acciones posibles

    Desventajas: se cubre parcialmente el contexto, en parte viola la metáfora al aparecer texto de control (menú) sobre el display que nada tiene que ver con el contexto presentado

    Ventajas: deja un ambiente más limpio cuando ya se ha seleccionado una opción. Las opciones del menú pueden presentarse icónicamente.
     


    Se asocia cada parte del cuerpo con una acción posible (ej: mano-tomar, bolsillo-guardar, vista-obtener información ).

    Desventajas: si el personaje es de dimensiones reducidas resulta difícil identificar unívocamente sus partes, alguna funcionalidad provista de esta manera puede resultar artificiosa;

    Ventajas: no introduce menúes o iconos que no tienen nada que ver con la presentación
     


    La existencia de mouse con al menos 2 botones habilita un modo interesante de activación de modos. Con un botón del mouse se puede elegir diferentes actividades posibles del protagonista y, a medida que el usuario pulsa uno de los botones del mouse, cambia el cursor a un ícono representativo. Con el otro botón se activa la opción del modo seleccionado.

    Desventajas: no hay acceso directo a cada opción posible, interfaz altamente modal

    Ventajas: interfaz limpia y consistente
     

    Independientemente de la implementación navegacional, el protagonista puede moverse en el contexto actual o del contexto actual a otros contextos. A pesar que el usuario puede percibir solo un contexto por vez, se pueden proveer diferentes herramientas útiles tales como:


    Puede resultar interesante obtener algśn feedback indicando en qué parte de la historia nos encontramos. Esto puede servir para saber si estamos en una parte introductoria, media o final. Se debe tener en cuenta que eventos inesperados pueden ocasionar un final inesperado, desorientantes para el usuario. A través de un ícono, gauge (indicador de progreso), etc., se puede realizar esta indicación, y su uso estaría recomendado a hiperhistorias con menor grado de interacción.
     


    Algunos eventos especiales pueden ser originados por el sistema subyacente (falta de espacio en disco, imposibilidad de inicializar un dispositivo, imposibilidad de acceso a la red para compartir una HH, etc.).

    La notificación puede expresarse como:

    Cajas de diálogo o mensajes aprovechando la funcionalidad del sistema subyacente

    Aprovechar algśn personaje de la historia (ej. el encargado de ayudar al protagonista), para que sea el encargado de avisar dicho suceso. Hay que tener en cuenta que esta última opción puede desorientar al usuario, de esto surge como crítica la figura del carácter de ayudante o "amigo"
     


    Tener encuenta que el usuario puede necesitar ver su contexto actual y un mapa asociado

    Tratar de ejecutar movimiento de objetos lo más realístico posible, sacrificando resolución o complejidad del modelo si es necesario. Tan rápido como el movimiento cese, se debe automáticamente invocar la resolución y detalles visuales adecuados;

    Integrar la imagen visual con otras posibles percepciones sensoriales, por ejemplo, sonido cuando objetos chocan;

    Proveer help on-line o panic button, de manera de orientar al usuario en situaciones confusas o desorientadoras (ejem: no pasa nada en el ambiente y no se qué debería hacer ahora).También se podría utilizar para ello la metáfora de la historia, asociando un personaje con las tareas de ayuda, involucrando así la idea de ayudante o amigo.
     

    4 Ideas Finales

    Este trabajo intentó analizar algunos aspectos metodológicos para diseñar historias hipermediales. Estos aspectos han sido planteados en base a la experiencia delos autores en la construcción de hiperhistorias. La idea es poder contribuir con el "saber hacer" a otros desarrolladores que puedan involucrarse en el apasionante mundo de la construcción de hiperhistorias para aprender y pensar. Pero el desafío no está cerrado, pues la retórica de un ambiente interactivo hipermedial como medio subyacente es sustancialmente diferente a la del texto escrito, pues la idea de tiempo real y sincronización está totalmente ausente en las obras literarias comunes. Posiblemente, el legado del teatro sea uno de los puntos a incorporar en los futuros trabajos acerca de la construcción de hiperhistorias.
     

    5. Agradecimientos

    El desarrollo de este trabajo fue financiado por el Fondo Nacional de Desarrollo Científico y Tecnológico, Fondecyt, Proyecto 1950584.
     

    6. Referencias

    Cernuzzi,L., Sánchez, J.,Mallegas, A., Rossi, G. y Lumbreras, M. (1994). Análisis de la construcción de historias en un ambiente hipermedial.

    Memorias, XX Conferencia Latinoamericana de Informática,CLEI, 1165-1173. México.

    Lumbreras, M., Barcia, M., Sánchez, J.(1996). A 3-D Hypermedial System for the Blind. First European Conference on Disability, Virtual Reality, and Associated Technologies, Maindenhead, England.

    Lumbreras,M.(1994). Hipertexto para No Videntes. 1er Encuentro de Investigadores enTŽcnicas de ApoyoComputacional para Discapacitados, Santiago, Chile.

    Lumbreras, M.(1993). Hypertext for the Blind. Hypertext '93, CM Conference on Hypertext, Seattle, USA

    Sánchez, J. & Lumbreras, M.(1996). Hyperstories for learning. (en prensa). En"Workshop in Computing", Springer-Verlag.

    Sanchez, J. & Lumbreras, M.(1995). Interfaces for learning. En Anzai, Y.,Oyawa, K. y Mori,H.(Editores). Advances inHuman/Factors: Human-Computer Interaction, Symbiosis of Human and Artifact: Future Computing and Design for Human-ComputerInteraction, 20 A, p.865-870. New York: Elsevier Publishers.

    Sánchez, J., Mallegas, A. , Rossi, G., Lumbreras, M. y Cernuzzi,L.(1994). Hiperhistorias para Aprender y Pensar. Memorias II Congreso Iberoamericano de Informática Educativa.,Lisboa.

    Sánchez, J., Mallegas, A. y Pizarro, T. (1994).Análisis del uso de comics en hipermedios educativos. Memorias II Congreso Iberoamericano de Informática Educativa., Lisboa.

    Sánchez, J., Mallegas, A. y Abasolo, N.(1994). Cuentos Multimediales Constructivistas. Memorias II Congreso Iberoamericano de Informática Educativa., Lisboa.

    Sánchez, J. Análisis de la Construcción de Hiperhistorietas. 1er Encuentro de Investigadores en Técnicas de Apoyo Computacional para Discapacitados, Santiago, Chile.

    Sánchez, J., Mallegas, A., Cernuzzi, L, Rossi, G., Lumbreras, M. y Díaz, A. A (1994). A Conceptual Framework for Building Hyperstories. World Conference on Educational Multimedia andHypermedia p. 761.

    Sánchez, J.(1994). Bases cognitivas de los hipermedia. Anales IEDIE, Encuentro de Inform‡tica Educativa.Madrid.

    Sánchez, J.(1994). Software multimedial para discapacitados. III Congreso sobre Motricidad, Comunicación y Tecnología. Portugal.

    Sánchez, J. & Rossi, G. (1994). Mediaware Tools for Disabled Learners.To be Published in Tomas, M., Sechrest, T. & Estes, N. Proceedings of The Eleventh International Conference on Technology and Education, p.1365- 1367.

    Wenzel E., Localization in Virtual Acoustic Displays. Presence: Teleoperators and Virtual environments, 1(1):80-107, 1992.