Peak Hour 0.4

He publicado la nueva versión de Peak Hour la «0.4». En esta nueva versión se ha rediseñado el planificador de alarmas para que sea más flexible, de esta forma me va a permitir añadir otras ciudades con reglas diferentes de una forma mucho más sencilla, de momento se ha añadido Bogotá que tiene la regla de Par-Impar.

 

Peak Hour Bogotá

Otra novedad es que ahora todas las alarmas serán exactas, ya no se utiliza el sistema anterior para intentar despertar lo menos posible el móvil con la consecuencia que las alarmas podían ser inexactas. Por lo demás también se ha añadido la posibilidad de añadir el calendario de festivos de forma que Peak Hour ya no nos avisará en estos días, de momento sólo se han añadido los de Bogotá pero si queréis que se añadan los de vuestra ciudad sólo tenéis que enviarme un correo-e indicando los días.

Cheli

Cómo nunca debería diseñarse una aplicación Android

He liberado el código fuente de Peak Hour 0.1 y lo pongo como ejemplo de cómo nunca debería diseñarse una aplicación Android. Para la versión 0.2 se rediseñó completamente la app pero eso ya lo veremos cuando vaya liberando las siguientes versiones.

La licencia de Peak Hour es GPL 3, podéis echarle un ojo al código en github. Os animo a que me hagáis preguntas tanto de la parte de diseño como de algún aspecto concreto del código, estaré encantado de responderos.

 

https://youtu.be/JmzYjVeOQ_I

 

Cheli

Peak Hour 0.3 con Soporte Multi-Ciudad y la posibilidad de adelantar las alarmas

Ya tengo lista la nueva versión de Peak Hour, las novedades son las siguientes:

 

  • Soporte multi-ciudad (Colombia).
  • Posibilidad de configurar cuanto tiempo queremos adelantar las alarmas.

La idea era diseñar un sistema de reglas que me permitiera añadir, quitar o actualizar fácilmente las ciudades. De momento se ha implementado el caso 1 que consiste en que cada día de la semana (Day Of Week) se le aplica el Pico y Placa a una serie de números de placa concretos.

 

Boceto de caso 1

Este caso de uso me ha permitido añadir las siguientes ciudades:

  • Armenia
  • Barranquilla
  • Bucaramanga
  • Cali
  • Cartagena
  • Medellín
  • Pereira

 

Seleccionar Ciudad

Además ahora se permite configurar cuánto tiempo queremos adelantar las alarmas, las opciones son:

  • Apagado
  • 5 minutos
  • 15 minutos
  • 30 minutos
  • 1 hora

 

Adelantar Alarma

Os animo a que la instaléis o a que actualicéis desde Google Play.

 

Cheli

Peak Hour 0.2

Después de algunas semanas de pruebas ya tengo lista la versión 0.2 de Peak Hour, las novedades son las siguientes:

 

  • Soporte multi-auto.
  • Mejor soporte para tabletas.

 

Veámoslo con algunas capturas de pantalla.

Móvil

 

Podremos añadir tantos autos como queramos sin ningún tipo de limitación. Las notificaciones se programarán en base a los autos que tengamos definidos.

 

Peak Hour Móvil Listado

Peak Hour Móvil Añadir auto

Tableta

 

Ahora tenemos un mejor soporte para tabletas con la nueva interfaz maestro detalle en la gestión de autos.

 

Peak Hour Tableta Listado

Peak Hour Tableta Añadir auto

 

Cheli

Suspenso al SAT de BQ

Mi BQ Aquaris 5 estaba a punto ya de cumplir los dos años y perder así tanto el seguro como la garantía. A mi la verdad es que nunca me ha dado ningún problema, no había tenido que pasar ni por el SAT ni había tenido que utilizar el seguro (20 pavos adicionales por dos años que al final no he utilizado), pero desde hace 1 mes y medio le empezó a fallar el auricular y mi hermana, que es la que lo utiliza desde hace unos 10 meses, me llamó para ver que pasaba. Lo que me dijo es que cuando tenía una llamada de voz no escuchaba nada, así que me puse en contacto con el SAT de BQ y me dieron un par de indicaciones, que si probara con un auricular, etc que estuve probando unos días.

Finalmente lo envié al SAT pero la cosa no fue demasiado bien, primero el transportista perdió el paquete y tardó 10 días en llegar a BQ, luego esperé 5 días y como no me decían nada les escribí, al final me contestaron diciéndome que lo que habían detectado que estaba mal era el micrófono y que lo habían cambiado y que lo enviarían en seguida. Al día siguiente que era sábado lo enviaron pero el teléfono no llegó hasta el martes siguiente. Total que después de toda la historia han tardado casi 20 días.

Pues ahí no queda la cosa, cuando lo recibo veo que no han tenido mucho cuidado en montarlo. Yo tenía el móvil impoluto, como si acabara de salir de la caja y ahora en el interior la pegatina donde va el número de serie está hecha una mierda y el plástico que recubre el cajón donde va la batería está mal pegado. Además me han cambiado la batería porque la mía debía ser de julio de 2013 y esta pone que es de noviembre, otro detalle es que tiene todos los bordes desgastados y la mía estaba nueva. Pero bueno, espero que la hayan cambiado por otra que tuviera algo más de carga jejejejeje, lo curioso es que había un post-it pegada a la misma que decía «Calidat», que no se si significa algo especial para BQ o es que simplemente no sabían escribir correctamente la palabra «Calidad».

 

Esperemos que no vuelva a dar problemas durante una temporada.

 

Cheli

Novedades en Peak Hour 0.1.2

Hoy se ha publicado la nueva versión de Peak Hour 0.1.2, las novedades son las siguientes:

  • Navega fácilmente a los estacionamientos de borde utilizando el gps.

Puede que siempre hagamos el mismo recorrido y conozcamos el estacionamiento de borde más cercano. Por mi experiencia a veces nos toca desplazarnos a otra zona de la ciudad y no siempre sabemos dónde hay un estacionamiento disponible.

En esta nueva versión podremos ver en un pequeño mapa los estacionamientos de borde de la ciudad, además podremos posicionarlos fácilmente en nuestra aplicación de mapas (por ejemplo google maps) o incluso navegar utilizando nuestro gps simplemente aplastando el nombre del destino.

En un futuro se añadirán nuevos estacionamientos.

Cheli

Activar Proguard en Eclipse para Android

Una de las recomendaciones antes de publicar tu app Android en la Play Store es activar Proguard. Y ¿Qué es Proguard ? pues no es más que una clase Java que optimiza, verifica, comprime y ofusca el código. Es muy útil porque las app android se distribuyen en un archivo apk que permite con no mucha dificultad hacer ingeniería inversa, cosa que en mi caso al desarrollar software libre no es muy importante pero para muchos desarrolladores si lo puede ser. Además el tamaño del archivo apk termina siendo mucho menor y eso de nuevo vuelve a ser importante ya que  no está permitivo subir una app a la Play Sotre con un tamaño superior a 50MB. En mi caso el tamaño de PeakHour.apk pasó de 2.4 a 1.5 megas, como veis si se nota bastante.

 

Para activar Proguard tal y como queda el proyecto en una instalación de Eclipse para Android (el que viene en el Android Bundle) es muy sencillo, únicamente hay que descomentar una línea en el archivo «project.properties».

 

Proguard

 

Lo que va a suceder a partir de ahora es que cada vez que exportemos la aplicación para firmarla y subirla a producción esta va a ser procesada por Proguard. Las reglas que va a utilizar son las que de los archivos «${sdk.dir}/tools/proguard/proguard-android.txt» y «proguard-project.txt«. El primero viene en la instalación del sdk y trae reglas estándar, el segundo es local a nuestro proyecto y viene sin reglas con la intención de que si necesitamos añadir alguna regla personalizada la pongamos en este archivo. Además existe otro archivo en «${sdk.dir}/tools/proguard/proguard-android-optimize.txt» que es igual al anterior pero con ciertas optimizaciones activadas, así que podemos utilizar uno u otro según convenga.

 

Hay que tener en cuenta una cosa cuando utilicemos Proguard, y es que al ofuscar el código reemplaza el nombre de clases, métodos y atributos dejando un archivo de mapeo de los cambios que ha realizado. Es muy importante guardar este archivo ya que en cada nueva versión se generará un mapeo diferente y lo que es peor, el mapeo anterior quedará sobreescrito por el nuevo. Si no vas guardando el archivo de mapeo de cada versión no serás capaz de descifrar la clase, método o atributo cuando recibas una traza de un usuario al producirse algún error. Lo suyo en estos casos es utilizar el control de versiones o ir renombrándolos antes de que sean sobrescritos, por ejemplo mapping-1.txt, mapping-2.txt

Para poder descifrar una traza tendremos que utilizar esta orden:

 

retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>]

 

Por último comentar que estos archivo que genera Proguard se almacenan en el directorio «proguard» de nuestro proyecto y como veremos a parte del archivo de mapeo también nos genera algunos más como el volcado del proceso «dump.txt«, etc.

 

Cheli