Ruby on Rails - Menos es más - Parte I
Este es el primer capítulo dedicado a intentar "esclarecer" toda la filosofía de desarrollo que hay detrás de la creación de Ruby on Rails y que sin duda han marcado la forma de crear esta útil herramienta.
Ir a la Introducción
Menos es más
Creo que esta es la máxima que subyace bajo todo el desarrollo de RoR. Desde un primer momento se nos enseña que RoR favorece la convención frente a la configuración, es decir: Los nombres de los ficheros, tablas, campos, modelos, etc... todo debe seguir un patrón establecido. Si nombramos todo, tal y como el programa lo espera nos evitaremos una buena cantidad de tiempo en configuraciónes.
Desde la web de 37 Signals (los creadores de RoR) van más allá en esta idea de menos es más e incluso nos hablan de "Menos como una ventaja competitiva".
Los seis puntos principales de su argumento son los siguientes:
- Menos dinero:
No necesitas dinero para el hardware. El hardware es barato. No necesitas dinero para el software. El software es gratis.
- Menos gente.
Todo lo que necesitas para desarrollar aplicaciones basadas en web son tres personas: Un programador, un diseñador y alguien con sentido común para los negocios y el marketing.
- Menos tiempo.
La mayoría del tiempo que pasas trabajando es tiempo perdido. Demasiadas reuniones, demasiada planificación, demasiado pensar..... Cuanto más tiempo tienes, más tiempo pierdes.
- Menos abstracciónes.
La mejor manera de aprovechar el tiempo es hacer menos trabajo que no sea "real". Menos gráficos, menos documentación, menos especificaciones funcionales. Directo al grano, el producto que tus clientes realmente verán.
- Menos software.
La clase de software que es satisfactorio de emplear es aquel que es simple, útil y va directo al grano.
- Mas restricciones.
Intenta resolover cosas simples, necesidades simples. Deja a tus competidores resolver las necesidades complejas y los problemas complejos.
Creo sinceramente que este modelo de desarrollo será el que triunfe. Se acabarón los grandes desarrollos de aplicaciones a 1 ó 2 años vista. Las aplicaciones están cambiando del escritorio a la web y en la web el tiempo lo es todo. Ofrezcamos a los usuarios aplicaciones sencillas y funcionales y obtendremos información úitl que nos permitirá ofrecer a estos usuarios las soluciones y mejoras que realmente necesitan.
Evidentemente no es necesario estar de acuerdo con esta filosofía para emplear RoR como herramienta de desarrollo pero creo que aquellos que compartan este modo de ver el desarrollo de aplicaciones web encontrarán en RoR la herramienta perfecta.
Ruby on Rails ¿Solamente un framework para desarrollo web? - Introducción 1
Hace aproximadamente un
mes terminé de leer el libro "Agile web development with rails".
Desde entonces lejos de arrinconar el libro en algún rincón de mi
estantería, he pasado muchas horas probando Rails y empleando el
libro como guía y como referencia.
Desde el principio de comenzar con la lectura del libro, me enganchó. Puede parecer raro emplear ese término, más propio de novelas policíacas que de libros de informática, pero es así.
La curiosidad me ha llevado a profundizar y conocer más a los autores y a visitar sus webs. Leyendo diferentes artículos en 37 Signals, Basecamp, Loud Thinking y en el propio blog de Rails he podido comprobar que detrás de una útil y eficaz herramienta de desarrollo, hay toda una filosofía de entender la creación de programas.
En próximos post iré desgranando toda la filosofía que se esconde detrás del desarrolo de rails y que, desde luego, han sido la base para la creación de Rails del modo en que lo conocemos.
El amor es ciego... y los usuarios también

Muy interesante el comentario que Kathy Sierra hace en su web sobre la diferente forma que los usuarios tenemos de ver problemas similaes.
En su comentario habla de como un usuario de Mac percive el hecho de tener que reiniciar su ordenador como debido a un error suyo o bien a la instalación o configuración de una nueva herramienta, mientras que con Windows el hecho de reiniciar se asocia siempre con problemas.
Yo, no soy usuario de Mac, pero la misma percepción la tengo con Linux frente a Windows.
Este tipo de comportamientos nos muestran las ventajas de
desarrollar pensando en tus usuarios y no en tus accionistas. Una empresa que tiene como norma hacer las cosas bien y pensando en sus usuarios obtiene a cambio usuarios entregados y fieles y que están predispuestos a perdonarle en caso de error. Mientras que aquellas empresas que no situan a los usuarios como objetivo principal de sus productos se convierten en el blanco de todos los problemas, sean o no debidos a ellos.
¿Debería ser mi sito web accesible?
Durante las conversaciones previas al desarrollo de una web solemos hacer mucho hincapié en la necesidad de que las webs de las empresas sean estándares y accesibles. Esto hace que mucha gente nos pregunte si realmente es necesario esto.
Se puede decir más alto pero no más claro
Tu usuario más importante es ciego. La mitad de las visitas a tu sitio vienen de Google, y Google sólo ve lo que un ciego puede ver. Si tu sitio no es accesible, tendrás menos visitas. Fin de la historia.
Esta cita ha sido extraida de una presentación realizada por Jose Manuel Alonso de la oficina española del W3C durante los laboratorios que organiza Caduis.
Además de citar a Steven Pemberton suelo añadir: Las webs estándares y accesibles son más baratas de crear y mantener.
A vueltas con el dichoso flash: O por que la web de Rammstein es de lo mejor que hay 3
Se que no debería alterarme, que no merece la pena hacer mala sangre por la estulticia de quienes no tienen ni idea de hacer webs, pero no puedo evitarlo.
Tengo una debilidad, la música. Sin música no se trabajar ni conducir (ni salir por las noches). Debido a esto suelo visitar las páginas web de casi todos los grupos que me gustan. Y ME CABREO MUCHO CUANDO ESTÁN HECHAS EN FLASH. Y si encima no tienen versión html pues es cuando ya llego a los insultos.
En el ordenador de mi trabajo tengo instalado Linux. Me encanta, tengo todas las herramientas que necesito, nunca tengo virus, ni programas espía, nunca se cuelga y no hay que andar reinstalandolo. Desventajas: no hay iTunes para Linux (hasta que descubrí Amarok) y reconozcamoslo si no tienes mucha paciencia no intentes crear un DVD en Linux. Si he dicho crear, no grabar, me refiero a coger tus fotos y tus videos caseros y crear un DVD. Eso en un Mac son 20 minutos en Linux… no quiero ni pensarlo.
Bueno, que se me va la cabeza, en Linux, el plug-in de Macromedia para Flash deja bastante que desear y según con que versión hayan creado el Flash no se verá bien. Es decir que gracias a la chapuza de crear una web 100% en Flash acaban de impedir que algunos seguidores de esa banda podamos disfrutar de su página. Si voy a casa de mi madre (que tiene windows y 389 programas spyware instalados) a usar su ordenador compruebo como (juro que no he tenido nada que ver) el plug-in de Flash no funciona en su pc. Aunque descarges el plug-in una y otra vez te dice que todo ha ido ok. Entras a una web con flash y nada de nada. Conclusión solo puedo ver webs con Flash cuando cojo el portatil lo reinicio en windows (aquí tengo los dos sistemas instalados) y entonces gracias a dios ya puedo entrar en las web que tienen Flash.
Todo esto gracias a alguien que sin tener ni idea de hacer webs pensó que para que complicarse la vida haciendo un trabajo profesional. Lo hacemos todo el Flash que es muy cómodo y no hay que saber ni html, ni css ni tonterias de esas.
Si las personas que tiene la responsabilidad de desarrollar la web de un grupo de música (o cualquier tipo de web) fuesen gente profesional y que conocen el medio en el que trabajan, harían cosas como la web de Rammstein. (Si tu resolución de pantalla es 1024 ó más prueba a encoger el navegador y fijate en el menú izquierdo).
Eso es una web hecha con cabeza, de diseño agradable, se ve bien en todo tipo de navegadores, sistemas operativos e incluso resoluciones y sin usar tanto Flash y tanta po..a. Y si hay un artículo o noticia que me gusta y le doy al botón de imprimir del navegador, joder, se imprime…y no con el Flash.
¿Y si quieres publicar videos o contenido multimedia?... Pues entonces si, ha llegado la hora de emplear Flash, que para eso fue creado, para reproducir contenido multimedia. Ahora bien, una cosa es que no puedas ver un video por no tener un plug-in y otra cosa es que no puedas ver nada.
En fin que la conclusión es que la tecnología no es ni buena ni mala. Lo malo es tener que aguantar que gente no profesional y sin los debidos conocimientos sean los encargdos de crear webs.
¿Es rentable su web?
Mi trabajo consiste en crear webs para todo tipo de empresas. Para algunas de ellas es este su primer contacto con Internet, pero la gran mayoría ya dispone de web.
Cuando trato con el responsable de la web de una empresa una de mis primeras preguntas es: “¿Es rentable su web actual?”
La gran mayoría me responde que “ellos no venden nada por Internet”.
La respuesta es obvia: “Seguramente su departamento contable tampoco se encarga de la venta de los productos o servicios de su empresa y no por ello dejamos de controlar su rentabilidad”.
Las empresas deberían tratar a su web igual que a cualquier otro departamento, bajo el prisma de la rentabilidad. Si existe una manera de definir a una web que verdaderamente me irrita es: web presencial. No existen las webs presenciales, este término es totalmente incorrecto cuando hablamos de una web de una empresa. Ninguna empresa está en Internet solo por el gusto de estar. Todas las empresas buscan un objetivo para su web. Algunas se conforman con mostrar sus productos, otras facilitan el acceso a información adicional, otras venden productos y/o servicios e incluso cada día hay más empresas que desarrollan toda su actividad comercial mediante su web.
Los objetivos pueden (y deben) ser medibles y cuantificables. No parece lógico marcarse objetivos que luego no podemos saber si se van a cumplir o no.
La misión de quienes creamos webs empresariales debe ser ayudar a las empresas a definir objetivos claros acerca de la estrategia de su web. Una vez definidos estos objetivos deberemos proporcionarles la manera de comprobar, medir y valorar si se están cumpliendo. Es en este momento cuando estamos dotando a las empresas de la información necesaria para comprobar que su web es realmente rentable.