16. The main purpose of training should be to adjust a user’s mental model to fit the conceptual model of the product Susan Weinshenk
17.
18. Modelos de UI Arquitectura Modelos de Actividades Modelos de Procesos Actividades Procesos Modelos de Datos Modelos de Personal. Datos Personalización
24. No es un componente No es una tarea y … no es opcional ¡Muchas gracias! mayda@genexusconsulting.com maydak
Notas del editor
¿Qué es una aplicación? O cuales son los componentes principales de una aplicación. Las Actividades: ¿Los usuarios que hacen en una aplicación? Hace “actividades” Ingresan una factura, imprimen un recibo, dan de alta un cliente. Una actividad tiene una forma de iniciarse (voy explícitamente a ejecutarla o me llega a un inbox) , una actividad tiene una una estructura (por ejemplo en una factura, primero selecciono lo productos, luego indico las cantidades, luego se calculan los descuentos y finalmente se resume y se confirma) y tiene un conjunto de conceptos o datos que se informan o piden al usuario. (cliente, tipo de descuento, cantidades, afectación a costos) Todo Esto hay que diseñarlo. ¿Qué mas tiene una aplicación? Tiene Los Procesos: Cuando una actividad es más compleja, esta compuesta por varias actividades que siguen un flujo, y cada una es quizás realizada por diferentes personas o en diferentes momentos, decimos que un proceso. Un proceos de compra por ejemplo, que esta compuesto por varias actividades : Se hace un pedido, se pide una cotización, se reciba una cotización y se ordena la compra. Los procesos tienen una estructura, un conjunto de actividades que lo componen, un flujo. Necesitamos diseñar entonces también esos procesos. Que mas tiene una aplicación?Tiene Datos, son los datos que maneja la aplicación y que el usuario conoce, conceptualiza y los relaciona. Estos datos tambien hay que diseñarlos, hay que entender su significado y definir sus relaciones. Esto son los 3 componentes básicos. Luego podemos tener otro componente, hoy muy importante en las organizaciones, que es la forma de personalizar la aplicación. Las organizaciones de hoy, necesitan adaptarse rápidamente a los cambios, por lo tanto necesitan aplicaciones que permitan personalizarse: La personalización es a todos los niveles anteriores: Personalizar Datos (agregar nuevos datos o eliminar datos) personalizar actividades (cambiar su comportamiento mediante parámetros, o sustituyendo la actividad por otra implementación, o agregando lógica nueva no prevista a la actividad) personalizar procesos (cambiando flujos para incluir o quitar actividades, o crear nuevos procesos) Luego tenemos otro componente:La Arquitectura funcional de la aplicación. La arquitectura es un mapa de cómo todos estos elementos interactúan entre si. Si queremos una aplicación donde los procesos y las actividades sean facilmente adaptables al cambio, tenemos que pensar la aplicación como un conjunto de actividades autonomas, o sea un conjunto de actividades que puedan luego mediante composición generar actividades mas compleja o procesos mas complejos. (o sea, una arquitectura SOA desde lo conceptual) Y finalmente una parte esencial de la aplicación, la Experiencia de Usuario. La UX mide la calidad de la interacción de todos estos componentes, con las personas que lo usan, o sea con los usuarios de la aplicación.Bien, todos estos componentes de la aplicación necesita de diseño, y un buen diseño de ellos no es un mero ejercicio intelectual, o buscar soluciones elegantes, sino que brinda a la aplicación 2 cosas fundamentales: 1 - Capacidades que de otra forma la aplicación no tendría (por ejemplo una arquitectura SOA le da la capacidad a la aplicación para hacer cambios rápidos en los procesos y en las actividades) 2 - Y el diseño de todos los componentes afecta directamente la experiencia de usuario.Podemos profundizar en esta charla en el dieño de cualquiera de estos componentes, pero dado el tiempo que tenemos, tuve que elegir uno de ellos y elegi hablar un poco más de la experiencia de usuario. ¿Porque elegí este punto? Bueno, primero porque me resulta el mas divertido y quizas es el que menos hemos hablado en otros eventos Pero no solo por eso, sino también por 2 cosas:- Primero, porque como vamos a ver, la experiencia de usuario a afecta el diseño de todos los otros componentes (procesos, actividades, datos) Por lo tanto viendo este punto, vemos mucho de todos los otros componentes.- Segundo, porque las aplicaciones están diseñadas para la personas, y en un mundo cada vez mas complejo, de aplicaciones mas complejas, es cada vez mas importante para una aplicación, para un producto, brindar una buena experiencia de usuario. Y no es una tarea nada simple. Vamos entonces a ver que es la experiencia de usuario y como influye en el diseño de toda la aplicación.
¿Qué es la experiencia de usuario? La experiencia de usuario es la calidad de interacción entre las personas y los objetos, ya sean del mundo real, tecnología, o software. Hay varias definiciones de lo que experiencia de usuario, pero la que eme parece mas clara, es la siguiente: Una objeto o aplicación tiene buena experiencia de usuario cuando tiene 4 cosas: fácil de entender fácil de aprender fácil de recordar además placentera en su uso.
Para entender aun mas lo que es experiencia de usuario.,Dejenme presentarles una analogía, que clarifica este punto. Como muchos de ustedes conocen, existe una teoría psicológica, propuesta por Maslow, hace muchos años (1943) en su libro “Una teoría sobre la motivación humana ” donde presenta las necesidades humanas en una jerarquía, y dice que conforme se satisfacen las necesidades más básicas (parte inferior de la pirámide), los seres humanos desarrollan necesidades y deseos más elevados. O sea, una vez que tenemos cubiertas las necesidades biológicas básicas, y la seguridad, empezamos a tener necesidades afectivas y en lo mas alto de la pirámide de realización personal. (simplifique un poco la pirámide, tiene algún elemento mas) Podemos hacer una analogía entre estas necesidades y las necesidades que tienen los usuarios de las aplicaciones. Las necesidades de los usuario comienzan con las necesidades “básicas” : lo funcional y que la aplicación sea confiable. O sea, que la aplicación haga lo que espero que haga y lo haga bien, sin errores. Una vez que esto está satisfecho, los usuarios se mueven a otros niveles en donde aquí entran los conceptos de “buena experiencia de usuario” y ellos son usabilidad (o sea, que tan fácil es la aplicación de entender y de usar, y finalmente el placer en el uso de la aplicación).:
Sin embargo las organizaciones de hoy necesitan de aplicaciones con:Gran cantidad de funciones, y funcionalidades complejasNecesitan poder adaptarse al cambio, por lo que requieren de aplicaciones parametrizables y extensibles. Ademas para poder generar nuevas actividades o procesos en forma poder agil, debemos tener arquitecturas orientadas a servicios.Y ademsa queremos que las areas de nuestra organización esten integradas en procesos comunes, necesitamos aplicaciones interoperables. Quisimos hacerlo simple, peor la realidad es compleja, las organizaciones son complejas, por lo tanto tambien las aplicaciones. Entonces vamos a cambiar la pregunta:
Para contestar esta pregunta, y para entender su respuesta, vamos a analizar antes como interactuamos con los objetos, con las aplicación y que pasa con nuestra