Ayer finalizó mi curso 2006/2007, deja para septiembre lo que no estudies en junio. Como el curso no ha ido mal del todo, ha llegado el momento de matricular el PFC. Y ahora… qué? Dudas.

  • Me ciño a la propuesta de un profesor? De una empresa? Propongo mi propio proyecto?
  • Aplicación de escritorio? RIA?
  • Java? Python? PHP?
  • Oracle? [Postgre|My]SQL?
  • Software libre? Código abierto? Software privativo?
  • Posible público potencial? Cubrir expediente?

Mientras algunas de esas dudas simplemente son dudas porque me apetece que lo sean, y no porque realmente dude entre, por ejemplo, una aplicación de escritorio o una aplicación web. Otras ya no son dudas, sino problemas. Alguno de los puntos está estrechamente ligado con otros, la elección de uno condiciona la elección de otros.

Lo ideal sería proponer mi propia aplicación web escrita en Python, usando MySQL, bajo licencia libre y además que no se trate de algo para, simplemente, cubrir expediente. Sí, debo estar soñando.

Agradecería que alguien con experiencia previa plasme, a través de los comentarios, cómo fue su Proyecto Fin de Carrera. Si además alguno de los pocos que me leen tiene una idea sobre la que poder basar mi PFC, podría invitarle a un par de cervezas si la deja en los comentarios o me escribe un correo.

El fin de semana pasado Adal me preguntaba si conocía algún método sencillo de poner un planet en marcha, y la verdad, me pilló un poco fuera de juego. Existe Planet que es usado por muchos proyectos de Software Libre, el problema es que está escrito en Python. La mejor solución era algo escrito en PHP.

Existen varias soluciones, incluso un plugin para WordPress, en la mayoría de los casos hace falta usar Cron para actualizar las entradas y Adal quería evitar el uso de Cron. Además la mayoría de los sistemas de planet no son sencillos de poner en marcha, generalmente porque son añadidos a otras aplicaciones. He despachado todo este rollo para anunciar mi propio sistema de planet: Simple PHP Planet.

Simple PHP Planet hace uso de MagpieRSS, una estupendo parser de RSS para PHP que me ha evitado muchos dolores de cabeza, ya que facilita un sistema de caché que evita tener que leer remotamente todos los archivos RSS cada vez.

La puesta en marcha es bastante sencilla, basta con añadir unas líneas a un archivo de configuración con las URLs de los feeds RSS, y opcionalmente se puede subir una imagen representativa.

La licencia: he decidido publicar Simple PHP Planet bajo la Affero General Public License. Qué quiere decir esto? A groso modo, puedes hacer lo que te venga en gana con el código. Pero en caso de realices cambios, aunque no vayas a distribuir la aplicación y sólo la vayas a usar en tu servidor, estás obligado a publicar los cambios que hayas realizado.

Puedes visitar el planet de demostración donde podrás bajar el zip con todo lo necesario para tener tu propio planet. Escucho problemas y sugerencias en los comentarios de esta entrada y en mi dirección de correo.

Este pequeño y humilde hack se lo dedico a Adal.

Acabo de publicar una entrada sobre Twitter, en la que mi ego se ha apoderado de mi, definiendome como un early adopter (mi autoestima ha subido cinco puntos desde entonces). El concepto de early adopter me gusta.

Los early adopters son aquellas personas que se acercan a nuevas tecnologías antes que el resto: intentan hacer uso de nuevos programas/servicios antes que la mayoría.

El concepto nace en Diffusions of innovations una teoría formulada por Everett Rogers, en la que se definen grupos de población según sea su interes en adoptar nuevas tecnologías.

Según Rogers los early adopters representan el 13,5% de la población. Los early adopters no son los que se dedican a explorar la existencia de nuevas tecnologías, quedando este papel reservado a los innovators (2,5% de la población) que son más propensos a asumir riesgos a la hora de probarlas inicialmente. Los early adopters juegan sólo el papel de convencerse del valor de la innovación.

He decidido decapitar el FON Maps Liberator, el proyecto nació como parte de un reto que me propuso mi amigo Jose, yo acepté y me puse manos a la obra, en unos días Jose tenía su aplicación lista.

Pude contactar con la gente de FON gracias a Alvy de Microsiervos. Aitor, del equipo técnico de FON, tardó poco en ponerse en contacto conmigo, intercambiamos unos cuantos correos compartiendo algunas ideas. Todo esto sucedía mientras esperaba la respuesta del departamento Legal de FON, ya saben, las cosas de palacio van despacio.

Una serie de circunstancias especiales han propiciado que el proyecto pierda interés para mi, mi tiempo es muy limitado y los días siguen teniendo 24 horas. Tenía que precindir de alguna cosa y una de ellas ha sido el FON Maps Liberator. A las circunstancias especiales le tenemos que añadir las condiciones impuestas desde el departamento Legal de FON, algunas de ellas asumibles y perfectamente entedibles, otras, sin embargo y desde mi punto de vista, desproporcionadas y totalmente innecesarias. Así que la poca ilusión que me quedaba en este proyecto voló al leer las condiciones impuestas por FON.

Me hubiese gustado publicar el código del FON Maps Liberator, pero entre las condiciones de FON no se me permitía ceder la aplicación a ninguna tercera persona sin nuestro consentimiento por escrito.

En unos días tendré listo un nuevo mashup con Google Maps de por medio, he podido reaprovechar parte del código escrito para el FON Maps Liberator para hacer una aplicación muy sencillita sobre la que muy pronto podré decir de qué va.

Agradecer de nuevo la atención mostrada por Alvy de Microsiervos y Aitor de FON. Gracias a los dos.

Sobre GasGasMaps

GasGas Maps surgió para participar en el concurso de mashups de Google Maps España. La idea inicial era presentar toda la información lista para consumir, es decir, recoger la información disponible sobre el precio de los carburantes del Ministerio de Industria, almacenarla en una base de datos, localizar las gasolineras y actualizar los precios con cierta frecuencia.

En la primera fase de desarrollo usé una muestra de unas 1.000 estaciones de servicio, localizadas aleatoriamente, con centro en Madrid y una distancia perimétrica máxima de unos 100 kilómetros, ya que no podía empezar a escribir funciones usando el API de Google Maps si no tenía un conjunto mínimo de datos.

Una vez tomadas varias decisiones sobre el diseño de la intefaz, y después de varias peleas con JavaScript, parecía que la parte de programación llegaba a su fin, y al mismo tiempo que me acercaba rápidamente a la fecha tope de presentación de mashups (15 de septiembre), me dí cuenta que para una sola persona, que sólo podía dedicar unas horas al día reservadas normalmente para el descanso, era práctica y temporalmente imposible localizar todas las gasolineras disponibles en la base de datos.

Así que tuve que implementar en cuestión de una par de horas un sistema para que los propios usuarios localizasen las gasolineras en el mapa, un sistema que ralentizó e hizo pesada la aplicación de sobremanera. Cuando no tienes planeado algo, y lo intentas colocar con calzador, lo más probable no es que no consigas solucionar el problema, sino que además deteriores lo que ya estaba funcionando. Pero para entonces era demasiado tarde y no tenía tiempo para volver a diseñar una interfaz más rápida, ligera e intuitiva, porque tenía que presentarla al concurso.

Entonces llegó una pequeña desilusión, se fallaron los ganadores del concurso, si bien no esperaba ganar, conocía prácticamente el resto de los mashups, y había algunos realmente buenos, pero, y sin despreciar al resto de los participantes, tampoco esperaba estar tan mal. Desconozco el número medio de horas invertidas por el resto de los participantes, así como no se si mi idea es brillante, mediocre, inútil o mala. Pero yo creía que me había esforzado, y que ese esfuerzo no se había visto recompensado. Y amigo, cuándo tienes esa sensación, lo último que piensas es dedicar más horas a ese proyecto, porque no hay nada peor que no ver recompensado tu esfuerzo.

Después del algún tiempo, en el que prácticamente no he podido ni acordarme de GasGasMaps, recibo un aviso de que GasGasMaps está en la portada de Barrapunto, y mis mapas son notica en HispaMP3. Lo cual me produce cierta satisfacción, porque esto me indica que al menos alguien usó la aplicación y pensó que a alguien más le podría resultar útil, por lo que decide avisar en estas comunidades de su existencia.

Como ya comenté en Barrapunto, la aplicación resulta un poco lenta y sobrecargada, recibí varias contestaciones con sugerencias sobre qué mejorar y qué añadir:

  • Mejorar la interfaz para la localización de nuevas gasolineras. Quizás separandola de la parte de visualización de las estaciones ya localizadas.
  • Incorporar las fechas de las tomas de los datos.
  • No mostrar demasiadas estaciones de servicio por defecto. Ahora se mostraban tantas porque en un principio no había demasiadas, pero al crecer el número de estaciones localizadas, la aplicación se ha vuelto un poco más lenta.
  • Incorporar filtros para provincias/zonas.
  • Búsqueda de estaciones de Biodiesel.
  • Facilitar la incorporación de los datos a navegadores GPS.
  • Disgregar el mapa de estaciones de servicio y el mapa de policia
  • Liberar el código de la aplicación.

De todo lo anterior, qué te parece más importante, o qué incorporarías/modificarías?



About Raúl

Raúl Ochoa, a spaniard working for Tuenti in Madrid, Spain. More about me.

Subscribe to the feed

If you want to receive a notification when I update the website, you only have to add the feed to your reader, or submit your email address and I'll let you know.

Twitter

Raúl's Twitter: Non-tweetable RegEx(s) make me cry :'-(. 3 days ago

Categories