Facebook, su SDK y el email sin confirmar

Como sabréis si alguna vez habéis desarrollado una aplicación que requiera login (ya sea de escritorio, móvil o web-app), la autenticación del usuario es una de las cosas que más dolores de cabeza puede provocar. ¿Obligo al usuario a darme equis dato? ¿Cómo lo identifico de manera única? ¿Cómo almaceno en la base de datos toda su información de manera segura? Gracias a $root, en los últimos años han surgido servicios de autenticación ofrecidos por grandes redes sociales que permiten usarlos a ellos como intermediarios en este proceso.

login-facebook-button

Es decir, confiamos en que el usuario A es realmente A porque un tercero, C, garantiza a nuestro servicio, B, que A es quien dice ser. De esta manera eliminamos de nuestra responsabilidad gran parte de la gestión segura de usuarios (no toda) y nos despreocupamos. Enseñamos a nuestros usuarios botones tales como “Login with Google+”, “Login with Twitter” o “Login with Facebook”, añadimos las líneas de código necesarias a nuestra app para comunicarnos con estos servicios y nos sentamos a esperar a que amablemente nos envíen la información del usuario que hemos requerido.

Sigue leyendo

Mi primera aplicación Android

En ferebro de este año, en plenos estudios para los exámenes del primer cuatrimestre, me encontraba en el apogeo de una de mis crisis existenciales. Qué hago estudiando esto, estas asignaturas no me motivan, todos los días pasan iguales etc. etc. etc. A mí lo que me gustaba era programar, y pasarme el día entre servlets y JSP, si bien es programar, no era la gran aventura que estaba esperando. Así que me apunte a uno de estos cursos online para aprender a desarrollar para Android. Como las señoras mayores que se pasan el día en el bingo cuando sus hijos han abandonado la casa. Ni que decir tiene que lo dejé. Lo pesado del sistema de evaluación y la falta de guías que indicasen claramente qué es lo que se esperaba me desmotivaron a la mitad de las lecciones.

Captura de pantalla 2014-07-08 00.13.15

Hablando del tema con Rubén, me dijo que la mejor manera de aprender es hacer. Me propuso un proyecto que tenía aparcado, una aplicación Android para un restaurante familiar, y ahí que fui, sabiendo mucho de Java y poco de Android y sus… peculiaridades, por ser benévolo.

En un principio consistía en un cliente muy ligero de Google Cloud Messaging que avisase cuando se publicase en la Web el menú del día, para descargar el PDF en el dispositivo. La primera versión estable, ya disponible en Google Play, permite hacer login con Facebook y Google+, ver dentro de la aplicación el menú del día, los menús especiales (en fechas señaladas), la carta (con navegación por pestañas combinadas con el NavigationDrawer al estilo de Google Play, Google Play Music…), los horarios de apertura y cierre, saber si en este momento el local está abierto y hasta qué hora (o si está cerrado y cuándo abre) y escoger qué eventos quieres que te notifique la aplicación. Y lo que falta por llegar en futuras actualizaciones.

Ahora toca descansar el cerebro unos pocos días. Calmar los nervios de la puesta en producción, apartar de la mente las imágenes de los clientes encontrándose Forzar Cierre por todas partes y asumir que por muchas pruebas que se hagan, algún fallo siempre se cuela. Echar la vista atrás para ver qué he aprendido, y coger carrerilla para lo que queda por aprender.

Sigue leyendo