Si hay algo que me revienta de las herramientas de prototipado en general, y de Axure RP en particular, es el sistema de creación de layers.
En Axure RP si queremos crear un layer dinámico, esto es, una simple capa o ventana modal que aparece o desaparece según ciertas condiciones, nos vemos obligados a que al prototipar esté presente en el diseño de la pantalla que lo usa.
Esto, hasta donde yo sé, es inevitable, pero utilizo algunos “trucos” para hacerlo más llevadero:
- Cada layer es un master que contiene un dynamic panel oculto predeterminadamente (“Set hidden”) con todos los contenidos dentro.
- Si hay algún elemento dentro el propio layer que lo cierra vía OnClick, se define la interacción dentro el propio master con dos acciones: ocultar el panel dinámico de marras y enviarlo al fondo (“Hide Panel” y “Send Panel to Back”)
- Todos los layers usados habitualmente se introducen en un nuevo master “padre” con un comportamiento “Place in background”.
- Se incorpora el master “padre” a las pantallas necesarias.
- Cuando se deba mostrar un layer se define una interacción que muestre el panel dinámico, lo mande a primer plano y lo mueva al punto requerido (“Show Panel”, “Bring Panel to Front” y “Move panel”).
- Toda interacción que deba existir entre el layer y la ventana se define mediante raised events.
Todo esto puede parecer un poco engorroso, pero…
- Tener un panel dinámico en el propio master permite que ocultar el layer sea responsabilidad del propio layer, así definimos la interacción una sola vez.
- Tener todos los masters juntos permite agilizar la creación de nuevas pantallas. De esta forma no tenemos que estar continuamente añadiendo masters y en el momento de definir una interacción están todos presentes.
- Que el master sea un “Place in background” nos permite trabajar con la pantalla sin que sus layers nos molesten.
- Usar el z-indez (“Bring Panel to Front” y “Send Panel to Back”) asegura que el layer no se sitúe por debajo de otros elementos interactivos cuando está visible o quede accidentalmente por encima cuando está oculto.
- Usar el “Move panel” nos permite que la posición del layer sea dinámica y a la vez tener todas las ventajas anteriores.
Y recordad que las interacciones no es necesario definirlas una y otra vez. Los casos (“case”) se pueden copiar/pegar o, incluso, introducir en un image map que, a su vez, podría ser un master. Este último ya me parece especialmente rebuscado y no lo he hecho nunca, pero imagino que si se quiere trabajar a un nivel de interacción de muy alta fidelidad puede ser útil.
En Axure RP 7 hay interesantes novedades sobre este tema, así que con un poco de suerte esto se vuelve obsoleto en poco tiempo.