domingo, 12 de septiembre de 2010

Lecciones de Gestión de Proyectos en Youtube

Un clásico: "El castor"



Otro clásico: Tio Pepe y Tia Pepa en Barrio Sésamo



Y el último de hoy: Go that way REALLY fast.

Al desarrollar software es mejor hacer _más_ iteraciones que _mejores_ iteraciones (por ejemplo: ciclo de desarrollo de Google Chrome vs IE).


martes, 24 de noviembre de 2009

Usabilidad: Selección entre alternativas

Estas recomendaciones están extraídas del Manual de Usabilidad elaborado para guiar a los desarrolladores de mi empresa.

4.2.3. Selección entre alternativas

¿Cómo seleccionar elementos de una lista de 3, de 5, de 10, de 100, de 100.000 alternativas?

Aunque parece que elegir los controles adecuados a cada situación es sencillo, en ocasiones no es tan evidente. Para empezar, debemos ser conscientes de cuantas alternativas tendrá el usuario para elegir. A veces conocemos este dato (sabemos que hay 50 provincias) y otras veces tenemos que indagar un poco más para conocerlo (¿cuantas oficinas tiene el cliente en cada provincia 3 o 300?)

  • Si las alternativas son pocas y conocidas de antemano, la opción preferible es un grupo de checkboxes o radiobuttons, porque se muestran a primera vista todas las opciones y queda claro si podemos elegir varias opciones o solamente una de ellas.
  • Si las opciones son más numerosas pero bien conocidas para el usuario (p.ej. las provincias españolas) entonces una lista desplegable (combobox) puede ser una buena opción (¡ordenada alfabéticamente!).
  • En general, si las opciones son desconocidas para el usuario, debemos elegir un control que muestre la mayor información posible (por ejemplo un listbox) sin necesidad de desplegarlo.
  • Si las opciones son muy numerosas, debemos proporcionar un mecanismo de búsqueda y/o filtrado para que el usuario pueda ir explorando y reduciendo interactivamente las opciones disponibles hasta encontrar la que quiera.
Un fallo muy común es crear mecanismos de selección y búsqueda que funcionan bien con los datos de prueba, cuando hay poca información cargada en el sistema, pero son inadecuados para los datos del sistema en producción. Por ejemplo, poner una lista de radiobuttons para elegir una consulta predefinida puede estar bien cuando hay 5-10 consultas, pero es impracticable cuando hay 100 o 200.

sábado, 10 de octubre de 2009

Usabilidad: Números y Fechas

Adjunto una lista de recomendaciones para la presentación de números y fechas en aplicaciones informáticas (también aplicable a páginas Web). Estas recomendaciones están extraídas del Manual de Usabilidad elaborado para guiar a los desarrolladores de mi empresa.

4.4.4. Números y Fechas

[REGLA] ¡Ningún número huérfano! (sin unidades). Incluir siempre las unidades a las que se refiere el número que se presenta o que debe introducir el usuario: horas, días, km, cm, kb, personas, copias, incidencias…
En el idioma del usuario no existen números, existen conceptos y unidades del mundo real: solicitudes, personas, expedientes, minutos, kilogramos, etc.

[REGLA] Normalmente la unidad se colocará a la derecha del número. Se pueden exceptuar los números que aparezcan en una tabla, donde la unidad puede aparecer en el encabezado de la columna correspondiente.

[REGLA] Utilizar la precisión (número de cifras significativas) adecuada a la magnitud que se está mostrando. En general, ningún número con más de 4-5 cifras significativas, los porcentajes con 1-2 decimales.
Contraejemplos: 15,23231232 semanas, 3423246604353 bytes, 0.000000002321 días.
Ejemplos: 15 semanas, 3.188 GB, 200,5 microsegundos

[REGLA] Cuando se presenten varios números en columna, utilizar alineación derecha según la coma decimal. (o simplemente alineación derecha fijando el mismo número de decimales para todas las filas)

[REGLA] Poner siempre el punto de los miles (o espacios cuando poner puntos cause problemas). 1 000 000,00

[REGLA] Permitir espacios en los campos numéricos. Permitir que el usuario introduzca números con punto de separación de miles y coma decimal. (es tan sencillo como hacer str = str.Replace(“.”, “”); )

[RECOMENDACIÓN] Para cada tipo de número (capacidad, tiempo, etc.) preparar una función para formatear la cantidad de forma legible y usarla de forma consistente en toda la aplicación:

Ejemplo:


static public string SizeStr(int bytes)
{
string sizeStr = "";

if (bytes < 1024)
sizeStr = string.Format("{0} bytes", bytes);
else if (bytes < 1024 * 1024)
sizeStr = string.Format("{0:0.0} KB", bytes / 1024.0);
else //if (bytes < 1024 * 1024 * 1024)
sizeStr = string.Format("{0:#,##0.00} MB", bytes / 1024.0 / 1024.0);

return sizeStr;
}



[REGLA] Formatear todas las fechas de forma correcta y consistente.

[RECOMENDACIÓN] Anotar (añadir a continuación de) las fechas con cadenas más legibles (hoy, ayer, hace 3 semanas)

domingo, 4 de octubre de 2009

Usabilidad: ¿quién decide lo que es un bug y debería ser arreglado?

o dicho de otra manera, el peligro de atenerse únicamente a los requisitos sin fijarse en la usabilidad


cortito e interesante.

miércoles, 18 de marzo de 2009

Los 10 errores más frecuentes con los Casos de Uso

Continuando con el post anterior y bastante acertado, este post en http://parlezuml.com/blog es bastante interesante.