indexante

Conectando la central de bomberos con Twitter

Con un poco de tiempo libre en la guardia y a modo de experimento conecte la central de bomberos de Lima con una cuenta en Twitter, el script publica las incidencias según van sucediendo.

La parte difícil fue obtener los datos y darles formato adecuado, hacer la conexión con Twitter es muy sencillo, puedes darte una idea leyendo Trabajando con la API de Twitter desde PHP. 2 características quedaron pendientes : recibir los datos vía SMS, funciono un tiempo pero Twitter corto los envíos y geolocalizar las emergencias, por falta de datos (longitud y latitud).

Puedes ver la emergencias en la versión web, una versión más simple para móviles o agregarlo en twitter.com/bomberos, aunque el volumen de emergencias podrían llevarte al stress.

Calidad de software : alerta de oso rojo


En el blog de last.fm cuentan como controlan la calidad de su código usando un sistema de alertas basado en ositos. Este esquema sencillo es posible usando Hudson y es solo para Java. :(

Componentes de un equipo web

Trabajar construyendo sitios web profesionales es un trabajo en equipo, así de simple.

¿Como se compone un equipo web? la respuesta siempre depende de que tan grande es el proyecto, de cuanto presupuesto manejes, la cultura de la organización o emprendimiento en el que trabajes, etc.

Para comenzar lo recomendado es manejar equipos pequeños con un equilibrio entre experiencia y talento, también en ocasiones una persona podría llevar uno o mas roles.

Una estructura básica sugerida para un equipo web :

Jefe de proyecto
Se encarga de tener claros los objetivos del proyecto y llevar al equipo adelante, es el que hace de intermediario lucha con cliente / gerencia, vigila el cronograma. Entiende de todas las áreas de la web, algunos podrían decir que es la evolución del webmaster de los tiempos idos.

Arquitecto de información
Organiza la información del sitio, estructuras de navegación, entiende clasificación y folksonomías. Mejora la “encontrabilidad” (findability) del sitio. quienessomos-nuestrosproductos-nuestrosservicios-contacto es una chapuza para el.

Consultor de usabilidad
Se tarea es vigilar la facilidad de uso del sitio, realiza pruebas heurísticas y de usuario, diseña interacción,”click aquí“ le provoca ternura.

Diseñador gráfico
Entiende de equilibrio de color, contraste, equilibrio, diseña usando un arsenal de programas, maqueta en XHTML y CSS, cumple estándares, esta al día con las tendencias del diseño en la web. “¿el sitio web tiene que verse igual en todos los navegadores?

Programador frontend
Microformatos, Javascript al revés y al derecho, compatibilidad de navegadores siempre es prioridad, AJAX, JSON, XML y nodos todos los días, todo el día. Odia internet explorer.

Programador backend
Entiende de 2 o más lenguajes de programación del lado del servidor, feeds, XML-RPC, APIs, frameworks, optimización de código, testing. Le gusta programming.reddit

Administrador de base de datos (DBA)
Esta al tanto del servidor de base de datos, entiende de SQL, mantiene las tablas y el rendimiento de las consultas : resume 5 llamadas en 1 usando un JOIN y un chicle.

Administrador de sistemas (sysadmin)
Vigila el rendimiento y seguridad de los servidores : 100% uptime es la meta, escribe scripts de mantenimiento, realiza copias de seguridad, dimensiona crecimiento de la red. Optimizar recursos y memoria es una obsesión.

Consultor de posicionamiento (SEO)
Siempre al tanto del posicionamiento de las páginas, linkbuilding, Google Webmasters Tools es su principal arma. Crees que se va de fiesta cuando los escuchas hablar del Google Dance.

El rotulo de cada componente del equipo podría ser un problema, ¿donde esta el diseñador de interacción? ¿la interfaz es responsabilidad del diseñador o el consultor de usabilidad? estas preguntas que llevan al debate se solucionan en la práctica.

Estándares de codificación en PHP

Cada forma de escribir código difiere, especialmente en PHP, así dado que el código es poesía, el verso difiere y el próximo programador que trabaje con tus módulos opinara que no es ordenado y lo formateara según su costumbre perdiendo tiempo en ello.

Ademas que es un problema no entender el código a primera vista.

Una buena propuesta son los Drupal Coding Standards (basados en los estándares de PEAR) que no solo sirven para desarrollar en este CMF sino en general cuando se programa en PHP.

Por ejemplo, en vez de escribir :

$form['title'] = array( '#type' => 'textfield', '#title' => t('Title'), '#size' => 60, '#maxlength' => 128, '#description' => t('The title of your node.'),);

Siguiendo lo dicho por Drupal deberiamos formatearlo como :
$form['title'] = array(   '#type' => 'textfield',   '#title' => t('Title'),   '#size' => 60,   '#maxlength' => 128,   '#description' => t('The title of your node.'), );

La coma al final del ultimo elemento del array también es parte del estándar de codificación ;)

Así tienes código ordenado, entendible a primera vista, digno de compartir.

Otra manera más agresiva es usar PHP Code Sniffer para revisar de forma automatizada el código cada vez que se hace un commit, pero es una opción algo agresiva para mi gusto.

Recuerda : orden es progreso

Relacionado : Guía de estilo del código Python

» tags :

Un programa debe seguir la Ley del Menor Asombro

4.1 … Es simplemente que el programa siempre debe responder al usuario de la manera que lo asombre lo menos posible.

Una perla más de sabiduría del Tao del Programador. Aplicable a los sitios web, donde la sorpresa no siempre es tomada con agrado por los visitantes.

Relacionado : Sabiduría para poder entender

» tags :
autorIndexante es la bitácora de Cesar Soplin Sánchez acerca de usabilidad, arquitectura de información, desarrollo web y ad infinitum.
Feed de indexante.comFeed RSS indexante.com