martes, 13 de octubre de 2009

Desde mi oficina


Nuestras oficinas están rodeadas de verde; había una luz muy tripa en una tarde de octubre, asi que tomé la foto y la comparto.

Compromisos y Alineación

Durante la reunión mensual de seguimiento de nuestro desempeño, hice esta presentación sobre los compromisos y la alineación.



La idea de la presentación es recalcar que en Imolko creemos profundamente en el individuo como fuerza creadora; que esa fuerza se manifiesta más fácilmente en ambientes flexibles, y que esa libertad está asociada la responsabilidad para asumir las consecuencias de tus actos.

lunes, 5 de octubre de 2009

Diseño y funcionalidad

Desde que las computadoras comenzaron a popularizarse, el tema de la interacción entre las máquinas y los humanos ha sido un tema complejo. Desde el mítico trabajo de Fernando Flores hasta el iPhone, la importancia del diseño de una aplicación tiene el mismo rango que la funcionalidad que ésta ofrece.

En Internet las fronteras entre diseño y funcionalidad desaparecen casi totalmente; es muy difícil separar entre el diseño gráfico y la funcionalidad de Amazon o de facebook. Con todas las opciones existentes en Internet (o en otros medios) cualquier sitio que no cautive nuestra atención, sencillamente no me va a tener como usuario. Aunque lo que ofrezca sea muy bueno, si no tiene una forma muy sencilla e intuitiva de usarse no va a tener éxito.

El mayor obstáculo que se presenta para que funcionalidad y diseño sean armónicos y generen sinergía es que requieren dos perfiles distintos (y opuestos en muchos casos). Mientras que las funcionalidades son realizadas por desarrolladores (ingenieros, licenciados, científicos), el look es realizado por diseñadores gráficos. Y para mayor complicacion en el mundo web 2.0 ambas cosas se entrecruzan y solapan cada día mas.

En la empresa, lo que estamos haciendo en nuestra metodología es incorporar el diseño gráfico como una parte fundamental de nuestras "líneas de producción" de software. Para lograr esto, estamos:
# Trabajando con un patrón "modelo vista controlador" que nos permite separar al máximo las vistas (o pantallas) con respecto a los datos que se procesan.

# Utilizando CSS para homogeneizar como se manejan los atributos gráficos dentro de la aplicación y separar la utilidad de los elementos gráficos de su apariencia. Así por ejemplo cuando se esta desarrollando un formulario se coloca la etiqueta "titulo" y se define por separado (en una hoja de estilo) su apariencia como "fuente 18 negritas". De esta manera el desarrollador sabe que está colocando un titulo y el diseñador que debe tener fuente 18 en negritas.

# Dando acceso al diseñador para que almacene su trabajo directamente en el repositorio de código y que por cada cambio que se genere en la apariencia se genere una nueva versión del software, sin tener que depender de ningún otro miembro del equipo, lo que acelera su trabajo y disminuye las fuentes de errores.

# Trabajando cada persona con sus herramientas naturales; trabajar con standards abiertos permite que se puedan utilizar programas de distintos proveedores, y no forzar a ninguno a utilizar sistemas distintos para interactuar con el otro. Específicamente, los desarrolladores trabajan con NetBeans (desarrollo JAVA) y en diseño se trabaja con Dreamweaver, que son las herramientas que utilizan regularmente.

Recién estamos comenzando esta integración y yo creo que nos va a traer un montón de cambios en la forma en que se muestran nuestras aplicaciones. Si logramos la velocidad que espero, estos cambios se van a notar súper rápido en nuestras aplicaciones.