¡Ya puedes usar Busevici!

Bueno, ciertamente, la aplicación ya está acabada desde hace un mes aproximadamente (o al menos su primera versión). Pero es hoy que finalmente la publico abiertamente en la web.

¿Cómo surgió la idea?

Cabría pensar que alguno de nosotros es un usuario habitual de Tussam o Sevici (compañía de autobuses y de alquiler de bicicletas en Sevilla, respectivamente) pero no. No es así.

Realmente se unieron tres factores.

En primer lugar, la semilla surgió cuando me embarqué en un proyecto de traducción de un libro sobre jQuery Mobile del Inglés al Castellano. Lo hice por entretenerme y por ayudar a la comunidad hispana. Espero que pronto pueda hablar más del tema y mostraros todo el trabajo realizado al respecto. Pero lo cierto es, que trabajar sobre aquel libro me dio ganas de trabajar sobre una aplicación web para móviles y que funcionara independientemente de la plataforma en la que se utilizara. Ya fuera Android, iOS o BlackBerry OS.

En segundo lugar, la idea creció cuando llegó una nueva incorporación a la oficina de la empresa en la que trabajo. Al poco de incorporarse nos mostró una aplicación que había desarrollado para Android y que, se vendía en el Market por 0,99 €. Rápidamente accedí al Market y empecé a observar algunos comentarios de la aplicación de los usuarios… y no eran demasiado buenos. Quizá sea porque querían más características o quizá sea porque realmente tiene algún que otro fallo, el pequeño competidor que todos llevamos dentro tomó el relevo.

En último lugar y quizá fuera el más importante, hice un pequeño trabajo de investigación para ver si existía algo así y me sorprendió el saber que no era así.

Los servicios de Tussam, para los tiempos que corren, dejan bastante que desear. Me gustaría aclarar que el servicio que tienen para obtener los tiempos y las paradas es bastante robusto (aunque rudimentario) y la aplicación se aprovecha al completo de estos servicios.

Los servicios de Sevici están un poco mejor, no dan tantos problemas como los de Tussam, pero están bastante limitados en cuanto a conectividad móvil se refiere. Es decir, hay que usar una web que no es sensible, en dispositivos muy pequeños.

Las aplicaciones de terceros no cumplen con todas las metas que me gustaría haber cumplido a mi:

  • No son multi-dispositivo. Quería una aplicación web, que pudiera ser ejecutada desde cualquier dispositivo. Fuera móvil, tablet o escritorio.
  • No son multi-plataforma. Hay aplicaciones para iPhone y para Android pero nada que aune a las dos o ninguna que se acuerde de los usuarios de BlackBerry.
  • Faltan características. Después de leer muchos comentarios saqué una lista común de cosas que les gustaban a los usuarios y que no estaban.

Nace BuSeVici

Aunque tardamos unos 2 meses en acabar la aplicación, el tiempo total de desarrollo no superó la semana de trabajo. Iré publicando más artículos sobre la aplicación y sobre la API que la soporta poco a poco.

Está realizada con HTML5, jQuery, jQuery Mobile y PHP.

Principales características:

  • Mapa interactivo. Gracias a Google Maps, hemos podido colocar toda la información fácilmente, tanto de paradas de autobus como de estaciones de Sevici. Los puntos de interés se van añadiendo al mapa a petición del usuario de manera que no queden todos los puntos añadidos a la vez para evitar sobre-saturar la pequeña pantalla de un móvil.
  • Sistema de favoritos. Quizá la característica que más me gusta y que está disponible en toda la aplicación es este sistema. Gracias a localStorage se puede añadir cualquier parada o estación a Favoritos. Esto permite que éstos elementos aparezcan automáticamente sobre el mapa y nunca desaparezcan. Además, en la sección de favoritos, se puede ver automáticamente toda la información avanzada que se pueda obtener de paradas y estaciones.
  • Disponible en todos los navegadores web. ¿Tienes un navegador web? Entonces puedes usar esta aplicación. Hoy en día es muy común llevar un Smartphone en el bolsillo con conexión a internet. ¡Obtén información cuando quieras!

Mayor reto

El mayor reto sin duda fue el uso de la caché. Si tenemos un móvil es probable que la conexión 3G esté limitada en muchos puntos de la ciudad o incluso (Jobs no lo quiera) estemos disfrutando de conexión 2G/Edge.

Las primeras pruebas me llevaban a tiempos de carga enormes y bajo condiciones desfavorables de conectividad, la aplicación superaba los 10 segundos de mi barrera de comfort.

Finalmente llegué a un sistema mixto del que hablaré también en el futuro aunque, si sois curiosos, y domináis el Inglés, podéis echarle un ojo a esta pregunta que realicé en StackOverflow.

El futuro

El futuro incierto es joven padawan, pero lo cierto es que me gustaría añadirle algunas cosillas cuando el tiempo lo permita y, especialmente, si veo que la aplicación comienza a recibir uso.

  • ¿Qué tengo cerca? Desde el mapa o desde la barra inferior, me gustaría que se pudieran ver las 10 paradas y estaciones más cercanas. Muy útil para alguien que no sea de Sevilla.
  • Corrección de errores – Tanto los que surjan como un pequeño error (que no es tanto) que hace que si la aplicación es añadida a la pantalla de inicio de un dispositivo iOS, y se comienza a navegar por ésta, saltará a Safari nuevamente.
  • ¡Más recursos! Me gustaría añadir el Metro, al menos la ubicación de las paradas ya que no es posible obtener los tiempos telemáticamente, e incluso las paradas de cercanía.
  • Un nuevo nombre. BuSeVici no es el mejor nombre. Admitámoslo. No lo pensamos mucho, ¡qué le vamos a hacer! En cuanto se nos ocurra un nuevo nombre trasladaremos la aplicación a un nuevo dominio.
  • Internacionalización. Me gustaría que, en función del lenguaje del navegador, pudiera cambiar el idioma de la aplicación, al menos al inglés.
  • ¡Nuevas y emocionantes características! Los protagonistas son los usuarios. Si tienes alguna característica que te gustaría ver añadida, no dudes en contactar con nosotros.

¡Ayúdanos!

Ayúdanos a difundir la aplicación. Compártela con tus amigos y conocidos. Compártela en las redes sociales.

Programador Front-end en First + Third y Potato. Trabajando con JavaScript y HTML5 desde el corazón de Sevilla.