Categoria: Consultoría
El diablo está en los detalles
3rd mayo
La complejidad de la realidad es innegable, la cantidad de estímulos disponibles al ser, innumerables.
De hecho, el cerebro humano es un filtro negativo que se dedica a descartar información, de nada sirve el canto del pájaro cuando venimos manejando, del mismo modo que es innecesario pensar en el funcionamiento del motor de combustión interna para que este funcione. Pero si tuvieramos que analizar un accidente sucedido en ese preciso instante, necesitariamos saber si el canto del pájaro distrajo al conductor, o si el motor falló durante alguno de sus ciclos.
El problema es que no siempre sabemos cuando van a fallar las cosas y monitorearlo todo todo el tiempo no es rentable. Asi que tenemos que escoger y tenemos que excluir. Cuales son los detalles relevantes y cuales no.
Lo mismo sucede cuando planeamos un proyecto, nuestro cerebro solo ve pequeñas porciones … Read More »
Google “Webspam Algorithm Update” y algunas precauciones SEO
26th abril
Matt Cutts, el jefe y gurú espiritual del equipo de anti-Spam de Google comentó en el pasado SXSW que Google no tardaba en soltar una actualización en su algoritmo específicamente enfocada a detectar sitios que anden pasándose de listos exagerando en la aplicación de SEO, es decir, “Sobre optimizando”.
Aquí una nota al respecto dentro del blog oficial de Google Search
La idea detrás de todo esto es que los que hacemos SEO no nos pasemos de lanza, que quienes hacen SEO al mero estilo rudo y sucio no pasen por encima de los que tratamos de hacer las cosas al mero estilo Jedi.
Cómo este tema es muy nuevo, es cosa de esta última semana y unos día antes, estuve leyendo … Read More »
Asíncronizando tu aplicación
22nd abril
Hace unos cuantos días me tocó entrar de emergencia a un proyecto uno de los principales retos que nos encontramos fue portar el proyecto de Gears (qepd) a HTML5 usando IndexedDB.
Una de las principales características que tienen estas funciones de base de datos es que son asíncronas, esto quiere decir que se van a hacer algo y no sabemos a que hora regresan, bueno solo hasta que mandan llamar el callback correspondiente.
Aprendiendo de los horrores ajenos
20th abril
Uno de nuestros objetivos en el desarrollo de sistemas es que sean un placer de usar.
Para ello buscamos poner mucha atención a los pequeños detalles, que pueden ser casi imperceptible, pero que mejoran muchísimo la calidad de lo que entregamos. Para ilustrar esto se me ocurren los siguientes ejemplos:
1. Uso de botones correctamente etiquetados para la función que realizan.
2. Redacciones útiles de los mensajes de alerta (“Algo falló, error” vs. “Su sesión expiró y la acción no pudo ser completada”).
3. Un indicador visual de carga para mostrar al usuario que se está ejecutando una acción y que debe esperar.
Pero, nada nos invita más a cuidar los detalles en nuestros propios desarrollos que ser usuarios críticos de otros sitios web, y en este sentido lo que buscamos es identificar un error y poner mucha atención en no cometerlo nosotros. Somos una especie … Read More »
Ninjas vs Samurai
19th abril
Aunque sea sólo por fines argumentativos o de conversación. Encuentro muy útil usar símiles para explicar o analizar conceptos. Comparar un proyecto de sistemas con una casa en construcción, una empresa con un árbol, en equipo de trabajo como los tripulantes de un barco, etc.
Hasta hace poco utilizaba el nombre ninja para identificar a un miembro ideal de nuestro equipo de desarrollo. Ninja suena bien ¿no? Ninja: un guerrero cuasi-mítico de habilidades incomparables, altamente dedicado y entrenado. Comprometido 100% con su misión y decidido a llevarla a cabo a cualquier costo. Su misión es una y simple: acabar con su misión (tareas) o morir en el intento (¿abandonar el proyecto?).
Todo suena ideal hasta que empiezan a saltar algunos detalles. Los ninja operan casi siempre en las sombras o disfrazados. Su fin justifica cualquier medio para lograrlo, inclusive alguna que otra … Read More »
Información es poder… hacer las cosas bien.
16th abril
Tradicionalmente, la comunicación se ha definido como “el intercambio de sentimientos, opiniones, o cualquier otro tipo de información mediante habla, escritura u otro tipo de señales”. Todas las formas de comunicación requieren un emisor, un mensaje y un receptor destinado.
En nuestro caso, mientras mas información nos provea el emisor, mejor podemos desarrollar nuestro trabajo.
Me han tocado tareas que han llegado más o menos así:
Necesito que por favor me muevan esta imagen de aquí hacia acá.
Gracias.
Y estoy seguro que el cliente estaba señalando su monitor en ese momento.
La información (el mensaje) anterior viene mal desde el origen, desde el emisor. No sabemos cual imagen es “esta imagen”, tampoco sabemos dónde es “aquí”, y mucho menos, dónde es “acá”. Si no aclaramos inmediatamente esa información, vital para los fines de la tarea, estamos condenados a tener esa tarea en nuestro panel por … Read More »
♥ La reina de corazones
2nd abril
La semana pasada se lanzó la versión beta del sitio La reina de corazones, una revista periodística, completamente femenina y descrita por sus creadoras como “periodismo de corazón”.
En este sitio podemos encontrar diversas notas dedicadas a la mujer contemporánea que gusta de cuidar su salud, se preocupa por su belleza, le gusta la moda, está interesada en la sociedad, lee sobre política y lo que sucede en el ambiente artístico, o sólo alguna de las anteriores.
Un sitio completamente dinámico en el cuál podemos destacar que el uso de thumbnails [imágenes, muchas muchas imágenes] como parte de un elemento de la comunicación, el complemento perfecto para el lenguaje escrito de ésta.
La reina de corazones, es un proyecto que alterna diversas formas de presentar la información, siendo está una nueva propuesta de revista de entretenimiento, sin pasar por alto que … Read More »
Fachadas
29th marzo
Todo el mundo conoce los sets de madera donde se filmaban las películas del viejo oeste.
Fachadas.
Por supuesto, cuando uno solo necesita una fachada construir una casa no tiene ningún sentido. Pero si uno cree que a su fachada le puede construir un tercer piso está en un grave error.
Muchas veces nuestros clientes piensan en una página web justo como se piensa en una fachada: “Quiero que en mi página los visitantes puedan subir sus fotos”.
Las fotos son una fachada únicamente.
Me voy a explicar. En la red existen N=(no tengo idea, pero el número es grande) cantidad de lugares en donde las personas pueden subir sus fotos. Flickr, Facebook, Twitter, MySpace, Google+, Reddit, Instagram, y un sin número de sitios más pequeños todos compitiendo por esas fotos. Pero la realidad es que las fotos que … Read More »
Widget de tiempos
21st marzo
Como parte del desarrollo de manoderecha, fue necesario elegir un widget de tiempos flexible, intuitivo y fácil de usar que reemplazara al timescroller que utilizabamos anteriormente, y que en mi opinión era fastidioso. En vez de implementar alguna solución ya desarrollada, decidimos crear una nosotros mismos.
El funcionamiento es simple, se trata de una caja de texto editable en la que inicialmente aparece el valor 00:00. Las flechas del teclado nos permiten modificar el valor del campo, Flecha Arriba lo aumenta y Flecha Abajo lo disminuye, dependiendo de la posición del cursor.
Pueden verlo en acción aquí:
El widget funciona tal como está, sólo requiere dos dependencias: jQuery 1.7+ y jquery.caret.js, un interesante plugin para obtener y manipular la posición del cursor en elementos input y textarea. Los invitamos a probarlo, … Read More »
La eterna lucha contra las políticas absurdas, parte 1: con los clientes
20th marzo
Los sistemas siempre deben de reflejar los procesos organizacionales y nunca al revés.
En mi experiencia, cuando se desarrolla un sistema sin considerar lo anterior terminas entregado algo condenado a morir por falta de uso. Para evitarlo insistimos mucho en incluir una fase de consultoría previa al desarrollo del sistema que finalmente entregaremos al cliente.
Ahora bien, que un sistema se adecue a los procesos de una organización no quiere decir que esos procesos no sean susceptibles de ser mejorados. No conozco ningún caso de alguien que quiera implementar un sistema que no esté buscando un beneficio claro, ya sea en tiempos, en costos, en velocidad ó en conveniencia.
Como consultor estás en una posición ideal para proponer cambios y mejoras, sin embargo no es posible hacerlas si no dedicas tiempo y esfuerzo importantes a conocer al cliente, su operación actual y sus … Read More »
La mano que lleva la minuta es la mano que mueve al mundo
19th marzo
“¿Quién lleva la minuta?”
Todo el que ha estado en una sala de juntas y escucha esta pregunta, sabe que equivale a estar en primaria y que la maestra pregunte: “¿Quién quiere pasar al pizarrón?”. Todo el mundo guarda silencio, voltea la miranda, finge (o demuestra su) demencia, mete la cabeza en la mochila para sacar su laptop (aunque ya esté abierta en la mesa), en fin… es la tarea más tediosa en un junta. Quiere decir que, en lugar de sentarte y platicar, vas a tener que poner el 100% de tu atención, escribir y, encima, dar seguimiento.
Pero ¿qué no ves que eso te hace dueño y arquitecto del futuro?
“La historia la escriben los vencedores”.
Eso dicen por ahí, propongo: “Los vencedores son los que escriben la historia”.
Un proyecto implica siempre comunicación. La comunicación nunca está exenta de ruido.
Los errores, incumplimientos … Read More »
Sintaxis de Grails & Groovy
16th marzo
Sintaxis de Grails & Groovy
Alguna vez se imaginaron lenguajes de programación: inteligencia artificial como Prolog, del tipo orientado a objetos Java, interpretados JavaScript, pues aunque no lo crean ya es posible, en al menos su sintaxis.
Tengo sólo algunos días utilizando esta herramienta donde me llamó la atención la particular sintaxis de este nuevo Frame de Java.
La sintaxis de Prolog donde realizas declaraciones de listas que son del tipo: [a,b,c,…]. Es algo que utilizan para pasar parámetros en funciones y resulta bastante útil, aunque la mayoría de los programadores que estamos más acostumbrados a utilizar beans, para realizar tareas de este tipo habitualmente lo hacemos por medio de arreglos, listas o algún elemento del tipo de colecciones. Aquí se utiliza esta parte de Prolog para poder enviar todo lo que quieras: arreglos, variables, entre otras cosas.
Pero ni hablar de JavaScript que … Read More »
Denme un punto de apoyo y moveré al mundo
14th marzo
Decía Arquímedes en el siglo II a. c. : “Denme un punto de apoyo y moveré al mundo”. El día de hoy, yo diría “Denme los accesos y moveré tu mundo”.
Trabajar remotamente tiene sus beneficios (anteriormente expuestos aquí), pero también tiene limitantes, como depender total y absolutamente de accesos.
Para crear un sitio necesito:
Acceso al DNS para crear su Zona
Acceso al Panel de Control para crear su Hosting
Acceso al FTP para subir los archivos y editar sus archivos de configuración
Acceso a MySQL para crear la base de datos
Acceso al administrador del desarrollo para afinar los detalles
De una manera completamente simplista hemos descrito al menos cinco accesos.
¿Qué pasa cuando uno de los accesos no es entregado a tiempo? Todo se desmorona como un gran castillo de naipes. Es como un rango evolutivo donde el segundo paso depende del primero … Read More »
Compatibilidad con navegadores con Javascript deshabilitado
9th marzo
A veces en nuestro sitio tenemos elementos que necesitan de Javascript para que funcionen. Cuando estos elementos son de estilo nuestro sitio se puede ver hecho un deforme mientras carga el script o peor aun si el navegador tiene Javascript deshabilitado. Para evitar esto podemos utilizar la siguiente técnica:
En la hoja de estilo de nuestro sitio agregamos las clases .no-js (para como queremos que nuestro elemento se muestre con javascript deshabilitado) y la clase .js (para el estilo con javascript habilitado):
.no-js .una-clase{
///Aqui ponemos el estilo que queremos que nuestro elemento tenga cuando javascript esta DESHABILITADO
}
.js .una-clase{
///Aqui ponemos el estilo que queremos que nuestro elemento tenga cuando javascript esta HABILITADO
}
Luego ponemos el siguiente script en nuestro sitio (recuerden que es recomendable poner los scripts hasta el final de nuestro documento html):
<script>
document.documentElement.className = document.documentElement.className.replace(‘no-js’,'js’);
</script>
Con esto si el navegador … Read More »
5 segundos
9th marzo
Desempolvando los proyectos personales con la finalidad de concluirlos, encontré en mi respaldo del respaldo varios libros interesantes acerca de usabilidad, experiencia de usuario, composición y todo lo que tiene que ver con la web.
Uno de mis favoritos se llama Tienes cinco segundos*, un libro que nos muestra en aspectos generales en que consiste la usabilidad en web, desde el desarrollo de contenido multimedia, redacción de los textos para web, la experiencia de la entrega de la información para el usuario y la implementación de un modelo para el desarrollo y gestión de contenidos llamado “Modelo Margarita”.
Este modelo no es más que una técnica para tener una organización indispensable en el proceso de creación de un sitio, desde el inicio y definición de éste hasta el instante en el que es lanzado a los usuarios. El modelo, se nutre … Read More »