jueves, 21 de junio de 2012

La importancia de respetar los estándares

Una discusión que tenemos de forma bastante recurrente en el equipo de iOS en Artech, es hasta donde es conveniente salirse de los estándares de la plataforma.

En ese sentido iOS es bastante particular, porque las guías de desarrollo llevan a que las aplicaciones sean bastante uniformes, lo que hace que los usuarios se acostumbren a que las cosas se hagan de determinada forma.

Por ejemplo, ¿es razonable en una aplicación sacar la barra de navegación? ¿Conviene usar un ícono no estándar para una acción estándar? ¿Vale la pena hacer una implementación "custom" de algún control que está disponible de forma nativa?

En general, la respuesta a todas estas preguntas es que NO, que lo mejor es ajustarse a lo nativo. Por supuesto existen excepciones y casos en los que sí me quiero salir de lo estándar, pero hay que hacerlo a conciencia y con mucho cuidado.

¿A qué viene todo esto? Que hace unos días actualicé una aplicación que uso todos los días, e hicieron un cambio que me complicó...

La aplicación se llama Reeder, y es un excelente lector de RSS que entre otras cosas se integra con Google Reader y permite compartir noticias muy fácilemente via Twitter.

El cambio que hicieron fue al leer una noticia, sacaron la Navigation Bar. En esta barra se encuentra el botón para volver a la pantalla anterior, es decir a la lista de noticias.

El botón de "back" que perdieron al sacar la barra de navegación, lo pusieron mediante un botón en el mismo control donde se muestra la noticia, con lo cual no queda más remedio que hacer todo el "scroll" hasta arriba para encontrarlo.


Este cambio, que en principio parece razonable para ganar espacio, complica al usuario acostumbrado a hacer las cosas de cierta manera.

Claro, hicieron esto y agregaron otra opción: hacer un "swipe" con un dedo de izquierda a derecha para volver a la pantalla anterior. El problema con esto es que hay que descubrirlo, ya que no es algo natural en la plataforma.

En conclusión: si existe un estándar de la plataforma, no conviene hacer lo mismo de otra forma, porque los usuarios no van a saber como reaccionar.

jueves, 14 de junio de 2012

TEDxMontevideo 2012

En el día de ayer, se llevó a cabo la tercera edición del TEDxMontevideo, la primera a la que puedo ir.

A la primera edición me había anotado, pero no quedé en el sorteo. En esta tampoco salí sorteado, pero a último momento quedó una entrada disponible en Artech de alguien que no podía ir.

La organización

La organización fue muy buena. La hora de comienzo era a las 17:00, y al final empezó a eso de 17:45, pero supongo que estaba previsto porque terminó en hora. Lo bueno es que no me perdí ninguna charla a pesar de llegar tarde...

El nivel de las charlas y los oradores también fue muy bueno.

La gente

De los asistentes, lo que me llamó la atención (no digo me sorprendió, porque no sería cierto), es la cantidad de gente joven que había. O capaz que me estoy volviendo viejo...

Lo otro es que había muchos "smart devices". Mucho iPhone, mucho iPad, mucho Android, etc. Creo que era esperable dado el tipo de público que va a este evento.

Las charlas

Hubo charlas de temas variados, pero sin duda el tema central del evento fue la educación. Yo diría que al menos en la mitad de las charlas se habló del tema. De como están cambiando los paradigmas; de que la educación está diseñada para acumular inforamción, cosa que con internet ya no es necesaria; de como los niños se aburren en las escuelas por el formato; de como se pueden buscar formas alternativas de enseñar que sean más atractivas.

Los videos de las charlas van a estar disponibles en el sitio de TEDxMontevideo. Si tengo que recomendar alguna charla, me quedo con las de Roberto Balaguer (sobre la relación que tenemos con el celular), Tiburcio de la Carcova (sobre como están haciendo inventos en Santiago de Chile) y Diego Golombek (sobre lo que es la ciencia).

También recomiendo la de Jorge Bafico (para los que son padres), que habló sobre los niños y sobre una moda que hay de diagnosticar hiperactividad y déficit de atención. Según dijo, en Uruguay el 30% de los niños recibe medicación (metilfenidato, o más conocido por su versión comercial: Ritalina). Aparentemente esta droga tiene muchos efectos secundarios, entre los que se encuentra generar adicción a las drogas durante la adolecencia.

Conclusión

El evento estuvo muy bueno, valió la pena ir. Ahora solo espero conseguir entrada para la edición 2013 :)

viernes, 1 de junio de 2012

Equipos: applicación iPhone y Android

En el equipo de desarrollo estuvimos haciendo un poco de dogfooding, para probar el nuevo generador para Smart Devices de la Evolution 2.

Surgieron varias aplicaciones interesantes que podrán encontrar ahí, pero que no voy a poner los links porque hay una competencia a ver quien consigue más descargas :)

En particular, la que hice yo se llama Equipos, y es un juego. Sí, un juego con GeneXus. Puede parecer raro, pero no soy el primero; ni siquiera soy el único que hizo un juego para Smart Devices en esta competencia de desarrollo.

En realidad la aplicación tiene dos juegos:
  • en el primero se debe adivinar cual es el escudo que corresponde, entre varios, a un equipo de fútbol dado su nombre
  • en el segundo se debe ingresar el nombre de un equipo viendo su escudo (para esto usé lo de la comparación de strings que comentaba en otra nota).
La aplicación está disponible para iPhone y para teléfonos Android. Los invito a que la bajen.

Con respecto a la dificultad para hacerla, fue bastante fácil. Es verdad que es una aplicación muy simple, pero de todas formas no la hubiera podido hacer en el tiempo que la hice programando "a mano".

Primero la hice para iOS con backend Ruby (que tiene seguridad con GAM), y después la pasé a Android haciendo solo algunos ajuntes de UI. Cada uno de los componentes en sí no es complicado: el front-end son 5 pantallas básicamente, y el backend son 4 tablas, pero la combinación de hacer todo junto, con GeneXus es trasparente.

Hubo tres cosas que me resultaron complicadas:
  1. obtener los datos
  2. el diseño de la aplicación
  3. la publicación en los markets.
Para los datos, tuve la suerte que ya alguien más había hecho una aplicación que usaba escudos de cuadros de fútbol, que los había sacado de Wikipedia o quien sabe donde... De todas formas no es un tema para despreciar.

Con respecto al tema del diseño, no es algo que me salga naturalmente. Les dejo dos fotos de pantalla, la primera hecha por mi y la segunda después de pasar por un disañador.


No es nada del otro mundo, con un fondo adecuado y una buena combinación de colores queda mucho mejor. El tema es saber hacerlo...

Por último, la publicación en Google Play y en el App Store lleva tiempo. Nunca lo había hecho en ninguno de los dos, y si bien involucran varios pasos (sobre todo el de Apple), la documentación que hay en el wiki está completa y se puede seguir bien.

La aprobación de Apple es el otro punto a tener en cuenta, que en mi caso llevó más de una semana...

Nuevamente los invito a que la bajen para iPhone y/o para teléfonos Android.