lunes 31 de marzo de 2008

Los 11 Principios heurísticos

Estos son los principios heurísticos más destacados. Antes de crear un análisis heurístico estos son los puntos más destacados que hay que seguir:

1. Claridad de propósito y objetivos
2. Visibilidad y orientación inmediatas
3. Adecuación al mundo, los objetos mentales del usuario y la lógica de la
información
4. Reconocimiento más que memoria
5. Control y libertad del usuario
6. Consistencia y Estándares
7. Prevención de errores gracias a un diseño adecuado
8. Flexibilidad y eficiencia de uso
9. Información y diseño minimalista
10. Eficacia de los mensajes de error
11. Documentación de ayuda

viernes 28 de marzo de 2008

Prototipado y wireframe

Definición de prototipo
Un prototipo es un modelo (representación, demostración o simulación) fácilmente ampliable y modificable de un sistema planificado, probablemente incluyendo su interfaz y su funcionalidad de entradas y salidas.


Características de un prototipo

Tipos de prototipo
Baja Fidelidad vs. Alta Fidelidad

Baja Fidelidad: conjunto de dibujos (por ejemplo, una presentación de escenarios) que constituye una maqueta estática, no computerizada y no operativa de una interfaz de usuario para un sistema en planificación.

Alta Fidelidad: conjunto de pantallas que proporcionan un modelo dinámico, computerizado y operativo de un sistema en planificación.

Exploratorio vs. Experimental vs. Operacional

Exploratorio: prototipo no reutilizable utilizado para clarificar las metas del proyecto, identificar requerimientos, examinar alternativas de diseño o investigar un sistema extenso y complejo.

Experimental: prototipo utilizado para la validación de especificaciones de sistema

Operacional: prototipo iterativo que es progresivamente refinado hasta que se convierte en el sistema final.

Horizontal vs. Vertical

Horizontal: prototipo que modela muchas características de un sistema pero con poco detalle. Dicho detalle alcanzará una profundidad determinada, va a resultar especialmente útil en las etapas tempranas de diseño y tiene como objetivo el test del modo de interacción global, al contemplar funciones comunes que el usuario va a utilizar frecuentemente.
Vertical: prototipo que modela pocas características de un sistema pero con mucho detalle. Va a resultar especialmente útil en etapas más avanzadas del diseño y tiene como objetivo el test de detalles del diseño

Diagonal: prototipo horizontal hasta un cierto nivel, a partir del cual se puede considerar vertical

Global vs. Local

Global: prototipo del sistema completo. Prototipo horizontal expandido que modela una gran cantidad de características y cubre un amplio rango de funcionalidades. Va a resultar muy útil a lo largo de todo el proceso de diseño.

Local: prototipo de un único componente o característica del sistema de usabilidad crítica. Va a resultar de utilidad en algunas etapas específicas del proceso de diseño.

Dimensiones de prototipado

Ejecutabilidad:¿será operativo el prototipo y de ser así qué significará esto?

Prototipo Guiado: prototipo lo suficientemente operativo como para lleva a cabo una revisión o paseo cognitivo

Prototipo de Animación: prototipo lo suficientemente operativo como para ser ejecutado por partes en modo de presentación en un ordenador

Prototipo del Mago de Oz: prototipo que permite ser ejecutado en modo de presentación y la participación de un tercer sujeto que, oculto a la vista del usuario que interactúa, gestiona la evolución de la presentación en función de las entradas que el usuario proporciona al sistema

Prototipo Interactivo: operativo en sentido estricto, se ejecuta y responde a las entradas que le proporciona el usuario participante en tiempo real

Prototipo Funcional: operativo en sentido estricto, se ejecuta, responde a las entradas que le proporciona el usuario participante en tiempo real y efectúa alguna de las operaciones que se le solicitan

Maduración:¿se mejorará el prototipo por etapas y, de ser así, se convertirá en el producto final?

Representación:¿qué nivel de fidelidad alcanzará el prototipo?

Perspectiva:¿se limitará el prototipo a áreas específicas de funcionalidad?


Características de un buen prototipo no reutilizable

Ejecutabilidad: trabaja lo suficientemente bien con la entrada activa que le procura el usuario para permitir un test de usabilidad
Maduración: puede evolucionar, con el suficiente refinamiento, hasta el producto final
Representación: tiene el aspecto y las características de actuación del sistema en planificación
Perspectiva: como mínimo simula un 20% de las funciones que los usuarios utilizarán el 80% del tiempo.


El proceso de prototipado
Se pueden presentar diversas situaciones:
La realización de las necesidades del usuario precisa de análisis en una sesión JAD pero deja los requerimientos incompletos.
Hay que construir de un prototipo de baja fidelidad para clarificar los requerimientos iniciales.
Hay que iterar (volver a especificar, rediseñar, volver a evaluar) hasta que el equipo, tanto usuarios como desarrolladores, estén de acuerdo en que la fidelidad y el nivel de acabado del prototipo en evolución sea lo suficientemente alto.
Se congelan estas especificaciones
Se finaliza la construcción del producto tal y como se prototipó.


¿Cuándo se prototipa?

Antes de comenzar...
...para mostrar el concepto a la directiva.
Comenzando...
...para reunir los requerimientos iniciales de usuario
Después de empezar...
...para validar la evolución de los requerimientos de usuario.
En las etapas intermedias...
...para validar las especificaciones del sistema
Entre las etapas intermedias y finales...
...para preparar a los usuarios o crear una demostración de marketing
En las etapas finales...
...para explorar soluciones a problemas de diseño o usabilidad específicos.
Volver arriba

Consideraciones previas a la construcción de un prototipo
Profundidad de la funcionalidad requerida en el prototipo
Elección de la herramienta de prototipado y consideración de sus limitaciones
Criterios de conclusión para el ciclo de iteración
Composición del equipo (usuarios, desarrolladores y otros implicados)
Nivel de fidelidad requerido en el prototipado
Longitud máxima de un ciclo de iteración
Propósito del prototipo
Formas de manejar los conflictos entre miembros del equipo de diseño y establecimiento de consenso.
Volver arriba

Problemas causados y resueltos por el prototipado
El prototipado puede albergar una serie de problemas en ciertos aspectos:
comunicación entre desarrolladores y clientes
aceptación por el cliente
lanzamiento de una prueba temprana del producto
poca definición en las etapas tempranas del diseño
reunión de requerimientos válidos
incremento de la participación constructiva del usuario
gestión de las peticiones de cambios
invisibilidad del producto
aseguramiento de la calidad
El prototipado puede introducir una serie de problemas en ciertas cuestiones:
decidir cuántas iteraciones son suficientes
calibrar la progresión sin los hitos tradicionales
gestión el conflicto entre desarrolladores y clientes
gestión de tiempos para el ciclo de desarrollo, que es esencialmente abierto
procesado de las peticiones de cambios de los usuarios
inflar las perspectivas del usuario
El manejo de la situación con determinados problemas
¿Cómo se evita inflar las expectativas durante el prototipado?
Introducir las realizaciones esperadas en el prototipo aunque ello implique retrasos
Desarrollar especificaciones realistas
Distinguir entre los requerimientos primarios y secundarios
¿Cómo se sabe cuando se ha obtenido el prototipo?
Cuando se termina el tiempo o el dinero (criterio de defecto)
Cuando el prototipo alcanza los requerimientos del sistema final
Cuando el prototipo tiene un propósito limitado (p.e. reunión de los requerimientos iniciales) y el propósito ha sido alcanzado
Cuando, en el prototipado horizontal se alcanza el nivel de profundidad del sistema
Cuando desarrolladores y usuarios acuerdan proseguir con la siguiente etapa.
Volver arriba

Herramientas de prototipado
Características requeridas para una herramienta de prototipado rápido
Aspectos más importantes
Se debería crear un prototipo operativo con el que los usuarios pudieran interaccionar.
Debería ser simple de crear, desarrollar y modificar
Debería simular el aspecto y as impresiones que producirían la interfaz en planificación
Otras cuestiones deseables (más explícitamente orientado a software)
Debería permitir la llamada de programas y procedimientos externos
Debería permitir la repetición de la participación de los usuarios
Debería permitir la reunión y revisión científica de los datos de la interacción del usuario
Debería simular las características de realización esperadas del sistema en planificación
Debería presentar el aspecto del sistema objetivo en estado operativo
Debería generar la mayor parte del código preciso para la implementación del diseño de la interfaz
Debería importar componentes de software reutilizables de diversos tipos
Debería importar texto, gráficas, sonido
Debería soportar los estándares industriales y bibliotecas estándar
Debería resultar fácil cambiar el orden de las tareas
Debería resultar fácil cambiar el orden de las ventanas
Debería resultar fácil crear animaciones simples
Debería resultar simple modificar las tareas
Debería resultar simple secuenciar o modificar la secuencia de ventanas
Debería proporcionar una transición continua desde el diseño hasta la implementación
Tipos de Herramientas de Prototipado
De menor a mayor formalidad
Papel y lápiz
Software de dibujo
Aplicaciones para desarrollar demos
Software de animación y presentaciones
Perl + Motif + Tcl/Tk (UNIX)
Herramientas visuales para RAD, como Visual Basic, Optima ++ y Borland Delphi
4GLs
Sistemas de gestión de interfaz de usuario (UIM)
Lenguajes de especificación ejecutable
Volver arriba

Evaluación del prototipo
Beneficios y riesgos del prototipado
Ventajas
Los prototipos son fácilmente modificables y prescindibles
El prototipado mejora la relación entre desarrolladores y usuarios
Los usuarios obtienen mayor satisfacción con los sistemas desarrollados por prototipado
Un prototipo puede proporcionar la prueba conceptual necesaria para la consolidación en el proceso
Un prototipo puede servir como herramienta de marketing
Un prototipo puede servir como base para especificaciones operacionales
La temprana disponibilidad del prototipo puede ayudar a la directiva a evaluar el progreso
El prototipo exploratorio permite proceder con el trabajo productivo a pesar de las posibles dudas iniciales
Los prototipos son indicador del progreso en las etapas tempranas del desarrollo
Los prototipos pueden procurar una pronta preparación para los usuarios futuros del sistema
El prototipado puede evitar sorpresas desagradables al destacar los requerimientos incompletos o inconsistentes y la falta de funcionalidad.
El prototipado puede producir resultados con salida comercial incluso si se exceden las previsiones temporales y de presupuesto en el proyecto
El prototipado puede reducir los malos entendidos entre desarrolladores y clientes
El prototipado puede reducir los costes de rediseño si los problemas se detectan pronto, cuando son fáciles de localizar
El prototipado puede reducir el tiempo requerido para el test si los problemas se detectan pronto, cuando son fáciles de localizar
El prototipado puede suponer hasta un 43% de esfuerzo inferior al del desarrollo convencional (Boehm, Gray, Seewaldt, 1984)
El prototipado puede desembocar en un sentimiento de propiedad a partes iguales entre desarrolladores y usuarios
El prototipado resultará en producto que se ajusta mejor a los requerimientos del usuario
El prototipado puede resultar en un ahorro inicial en costes de mantenimiento, porque los usuarios están haciendo un test de aceptación a lo largo de todo el proceso
El prototipado puede fortalecer la especificación de los requerimientos
Los sistemas generados por prototipado van a resultar más fáciles de aprender a manejar y usar
El prototipado horizontal es un gran complemento del análisis estructurado
El entorno en el proceso de prototipado está menos sujeto a intereses creados por lo que se está más abierto al cambio y a la innovación
El uso de prototipos anticipa las peticiones de cambio, resultando más económico su procesado
Los usuarios entienden mejor los prototipos que las especificaciones de papel
El uso del prototipado durante el desarrollo puede reducir la cantidad de código escrito hasta en un 60% (Boehm, Gray, Seewaldt, 1984)
Riesgos
El prototipado puede estimular un número de petición de cambios excesivo
Los prototipos operativos pueden inducir a pensar a la directiva y a los clientes que el producto final está prácticamente dispuesto para su salida al mercado
Las características del prototipo pueden conducir a interpretaciones erróneas del usuario-cliente
Los clientes pueden no estar preparados para proporcionar la información con el nivel y frecuencia requeridos en un ciclo iterativo
Los clientes podrían no estar dispuestos a participar en el ciclo de iteración durante largos períodos de tiempo
Los desarrolladores pueden encontrar dificultades en la ultimación de detalles que han resultado de fácil desarrollo con una herramienta de prototipado
Debido a las exigencias temporales y de mercado, las especificaciones del sistema podrían congelarse antes de que el proceso de prototipado haya alcanzado una etapa definitiva
Durante el prototipado, la única especificación de diseño es el propio prototipo, habiendo de admitir cuantas modificaciones sean necesarias.
Los prototipos en etapas tempranas han de ser de baja fidelidad
Los prototipos de alta fidelidad pueden ser confundidos con el producto real
Se corre el riesgo de ignorar importantes características del sistema (actuación, seguridad, robustez y fiabilidad, p.e.) durante el desarrollo del prototipo
Puede resultar imposible implementar funciones críticas del sistema para la seguridad o la operación
La directiva puede encontrar problemas en la planificación de la iteración del prototipado
Los prototipos pueden albergar simplificaciones e imprecisiones
Los prototipos pueden encarecer el producto
Los prototipos de sistemas complejos pueden resultar excesivamente complicados
El proceso de prototipado es un proceso continuo que no de debe presentar fases bien definidas.
El proceso de prototipado se puede alargar en exceso si no se han establecido criterios de conclusión
El prototipado puede llevar a los diseñadores a modificar su filosofía de diseño y a la adopción de modelos distintos
El prototipado puede dar poca opción al test de requerimientos no funcionales de sistema
El prototipado se puede estancar si los miembros del equipo de diseño no disponen de autoridad para la toma de decisiones
El prototipado puede generar problemas de disciplina
Las especificaciones que surgen durante las últimas etapas del proceso de prototipado pueden reducir la integridad estructural del sistema, aún parcialmente diseñado
El contexto de uso del prototipo puede ser bien diferente del contexto de uso del sistema final
No hay garantía de que las posiciones de desarrolladores y clientes converjan durante el ciclo de iteración
Cuando funciona el prototipo y cuando no lo hace
El prototipado tendrá probablemente éxito cuando se utilice...
como un mecanismo para desarrollar un test de usabilidad temprano
para comparar alternativas de diseño
para crear una especificación activa en constante evolución
para evaluar las interfaces propuestas
para explorar los efectos de las peticiones de cambio
para mostrar nuevos o inesperados requerimientos
para identificar los requerimientos de mercado
para involucrar a los usuarios en el proceso de diseño
para modelar un sistema con una componente significativa de interfaz de usuario
para modelar un sistema relativamente grande y complejo
para establecer una base común para la buena comunicación entre desarrolladores y usuarios
para estimular las aportaciones del cliente durante la reunión de requerimientos
dentro de una herramienta de prototipado rápido
El prototipado fracasará probablemente cuando...
no se haya establecido un claro criterio de conclusión del ciclo iterativo de desarrollo
se permita que las expectativas de los clientes vayan más allá de los límites de lo razonable
cuando la funcionalidad de un prototipo operacional no evolucione hacia la del sistema final
las opiniones de desarrolladores y usuarios divergen durante la fase de iteración
el proyecto es demasiado pequeño para justificar el prototipado
el prototipo es inapropiado para el producto objetivo
se utilice para modelar sistemas que no presentan interfaz externa


Fuente: Sidar

Más información tambien en el blog de Olga Carreras

jueves 17 de enero de 2008

Libro recomendado: sobre Google Analytics

Os recomiendo este libro sobre Google Analytics, podrás sacar el máximo partido a esta herramienta que nos aporta información que a veces no sabemos como interpretar y nos desborda. Está escrito de forma muy clara y en un inglés que se entiende fácilmente. La lectura más o menos os puede llevar una semana o una semana y media según el tiempo que le dediquéis. En mi caso lo tuve que leer en una semana por temas laborales, dedicándole una hora al día y un poco más el fin de semana

miércoles 19 de diciembre de 2007

Paises más corruptos del mundo

¿Cual es el país más corrupto del mundo?
Según he investigado por internet el país que se considera más corrupto es Myanmar, la conocida como antigua Birmania. Si nos situamos dentro de surameríca el país más corrupto es Haití. Los menos corruptos dentro de suramerica son: Chile (pais donde existe menos corrupción que en muchos países europeos como España o Francia) y Costa Rica. En Europa los países menos corruptos son Suecia y Finlandia, y los considerados más corruptos son Bélgica y Austria.

¿Como se mide esta corrupción? Se hace a través de sondeos y encuestas a empresarios que invierten en esos países y expertos económicos.

¿De qué depende la corrupción?
La corrupción depende de varios factores destacados. El principal es la renta per capita que tiene el país, cuanto mayor sea esta menos corrupción debería de haber. Otro factor importante es la fragmentación lingüística que hay en el país, cuanto mayor sea el nº de dialectos mayor posibilidades de corrupción aparecen.

¿Cómo luchar contra la corrupción?
Una de las preguntas que se hacen todos los estados es como pueden combatir con la corrupción dentro de sus administraciones. Las opciones más sencillas son:

  • Aumentar el sueldo a los funcionarios
  • Y las importante: reducir la regulación del estado ya que cuanto más control burocrático hay más corrupción existe. Una de las características de la corrupción es que agiliza los temas legislativos ya que directamente se los salta o evita, por lo que si no existiese tanto control burocrático no habría tanta corrupción.

miércoles 4 de julio de 2007

Creación de video juegos para teléfonos móviles

A la hora de desarrollar un juego para móvil debemos tener en cuenta dos puntos muy importantes en Antes de crear un video juego para el móvil hay que tener en cuenta tres puntos importantes:


  • Pantalla

  • Potencia

Pantalla:
Los diseños líquidos se adaptan a las pantallas de los móviles, da igual el tamaño y resolución que tenga el dispositivo, hace que el juego pierda sensibilidad. Es recomendable utilizar un tamaño fijo y poner imágenes de fondo o marcos para que cubran la pantalla por la parte donde no está la interacción del juego.
Las crucetas o joystick de los móviles cumplen una función decorativa y no sirven para jugar. Los botones más usados son las teclas numéricas. También es importante entender que la opción de usar 2 botones pulsados a la vez, no es muy recomendable ya que al tener los pulsadores muy juntos es una tarea bastante incómoda. Flash lite 2, el nuevo software para crear video juegos de Adobe, no detecta 2 botones pulsados a la vez.


Potencia:
Uno de los handicaps más importantes que se presentan a la hora de realizar un juego y ser aprobado y usado por los diferentes fabricantes es el tamaño en Kb. Este peso ha de ser siempre inferior a 300 Kb. Es, por tanto, requerir el poco uso de degradados y transparencias y mapas de bits en las imágenes ya que recargan mucho. Estos últimos, además, soportan muy mal el escalado y nos podemos encontrar con desagradables sorpresas a la hora de coger móviles con altas resoluciones.
Las tipografías, también aumentan el peso de nuestra aplicación pero dan mucha vistosidad y originalidad. Tampoco es necesario usar la tipografía que usa por defecto el móvil ya que al haber muchos tipos de móviles a veces puede pasar que se descoloquen los párrafos y los textos de los botones.
En relación a la programación en Action Script, código que genera el programa de Adobe: Flash Lite 2, se debe usar pocos frames, limitar el uso de tweens, usar mejor el código para reciclar elementos y optimizar variables.
En cuanto al sonido, hay que tener en cuenta que no todos los móviles soportan mp3. Si se trabaja con midi, es más rápido y no ralentiza el juego. El formato midi, no son sonidos muy atractivos pero tienen alta compatibilidad. E recomendable evitar loops con midis ya que se nota bastante.


Uno de los ejemplos y juegos de gran éxito para móviles creado en España por la empresa PixelGo es "Feed the Monkey". Lo pudimos comprobar en el el Adobe Life 2007 celebrado en Madrid este pasado Junio

viernes 15 de junio de 2007

Conferencia sobre "Ordenación de espacios interactivos"


La pregunta que nos hacemos cuando estamos sentados en frente de esta pantalla cuasi-cuadrada de nuestro escritorio y con la que Santiago, abrió la conferencia en el Instituto Europeo di Design fue: ¿cómo tomamos las decisiones apropiadas en espacios de información digitales?

Después de varios años trabajando en proyectos experimentales, una de sus propuestas es trabajar la información y sentidos a través de una realidad virtual buscando espacios en 3D.

Unas de las diferencias significativas entre los proyectos creados a principios de siglo y los de ahora es que las personas son quienes construyen los espacios interactivos. Las señales y mensajes que aparecen en los proyectos informáticos, son construidos por los propios usuarios. Ellos tienen el control de las señales, son ahora metaseñales.

Un ejemplo claro, donde se puede apreciar esta tendencia, es en la interacción de un niño con el ordenador. Los niños, que interactúan a través de interfaces sencillos, son los especialistas en construir y descubrir la funcionalidad de una herramienta. Unos simples círculos sobre un fondo blanco inducen a una persona, sin apenas experiencia, a cliquear en ellos para ver la funcionalidad que tienen. Este círculo se convierte en una señal ya que detrás existe un mensaje.

Cuando creamos un proyecto hay que intentar evitar antiguas convenciones ya establecidas. Se debe crear un conjunto de convenciones nuevas. Me explico mejor, las metáforas, iconos que simbolizan acciones, son por ejemplo en un video juego un icono de un rayo simboliza energía o vida, si lo sacas de este conjunto de aplicaciones un usuario no tiene porqué conocer esta similitud. Lo mismo pasa en aplicaciones de escritorio donde un lápiz simboliza la acción de editar. Es por tanto que en los proyectos informáticos no se debe partir de antiguas convenciones ya que esto limita el uso de la herramienta a un conjunto de usuarios y no hacemos una herramienta de ámbito global.

En relación al diseño, los proyectos han de tener un contenido gráfico que no llegue a una estimulación visual desmesurada. El diseño, como estrategia gráfica, ha de ser sencillo y sin crear muchos adornos de estética ya que esto provoca stress en el diseñador, no sabe si será apropiado o no para el usuario, y además puede provocar stress al propio usuario.

Con el contenido pasa igual, cuanto más información tenga un proyecto más posibilidades de abandono tiene. Existe un porcentaje muy alto de impaciencia y muy pocos proyectos obtienen los logros propuestos. Lo ideal es conseguir un equilibrio, algo simple pero que se pueda hacer mucho. Cuando un proyecto es muy complejo, implementar sistemas de ayuda hace que el usuario abandone ya que un usuario no pierde el tiempo en las guías de ayuda.

Un punto importante de la conferencia, fue el futuro cercano de las webs sociales. Second life y twitter están en fase de abandono ya que son proyectos pobres en expectativas sociales. Sin embargo, los blogs, las webs de intercambio de fotos, urls de favoritos... tienen un futuro más social, donde un usuario pretende construir su sitio personal en Internet.
Actualmente en Internet, falta un proyecto que integre a todas las webs sociales. Parece que Yahoo, a diferencia de Google, se está focalizando más en este tema, pretende liderar las web sociales y relacionar todo el conjunto de información. Consistiría en una herramienta en la que se relacionasen las webs que usan tags para clasificar la información. Sería un proyecto que englobase a youtube, delicious, flickr... por decir alguno.

Os listo unas direcciones de interés que se mostraron en la conferencia:



martes 29 de mayo de 2007

Las quimeras del cielo de Paris


Después de un buen madrugón y pasar entre los manifestantes que se situaban en el epicentro de Paris, pude divisar Notre Dame, otra de las cosas que no hay que perderse en Paris.

Una vez que subimos por la torre norte pudimos contemplar el gran número de figuras de animales y humanos que cuelgan de la catedral.

Son gárgolas, esos desagües del tejado esculpidos, con forma de quimeras. Fueron construidas por Viollet-le-Duc, después de que ya en el siglo XVIII hubieran quedado desfiguradas las originales.

Una de las que más me sorprendió y quizás más belleza tenga es la que muestro en la imagen. Me pareció curioso como esta gárgola contempla el paso de los años de la ciudad de Paris y como se siente indiferente e incluso se burla de ella sin ningún complejo.

En la noche, cuando las luces pierden su identidad cuentan que el mundo de gárgolas y quimeras se anima. Que nadie lo haya visto no significa nada; ya que no vemos nunca lo único interesante de las cosas.