Solucionar error desconocido relacionado con Google Play Services en Hangouts

Los servicios de Google en Android tales como: Gmail, Google Maps, Hangouts, entre otros. Funcionan a través de un servicio llamado Google Play Services, el cual se va a actualizando desde la Play Store en una ROM oficial o de fábrica del teléfono. Si eres de las personas que instalan ROMs personalizadas, resulta que los servicios de Google no pueden actualizarse directamente desde la Play Store, sino que debes esperar a una nueva actualización de tu ROM que incluya la nueva versión de Google Play Services. Por lo tanto, en algunos casos, tendrás una versión obsoleta y no podrás actualizarla, por lo que aparecerá el mensaje “Error desconocido relacionado con Google Play Services” al iniciar una aplicación de Google y se cerrara automáticamente, impidiendo su correcto funcionamiento.

Pero no te preocupes, a continuación te explicaré como arreglarlo:

  1. Primero ve a: Ajustes -> Seguridad -> Administración del dispositivo.
  2. Desmarca la opción de Admin. de dispositivo Android.
  3. Ve a Aplicaciones y desinstala todas las actualizaciones de Google Play Services.
  4. Ejecuta Hangouts y verás un mensaje que dice que debes actualizar los servicios de Google. Haz clic en actualizar.
  5. Después de actualizar, no deberías ver mas ese error.
  6. Regresa a Ajustes -> Seguridad -> Administración del dispositivo y vuelve a marcar la opción de Admin. de dispositivo Android.

Luego de esto podrás volver a disfrutar de las aplicaciones que dependen de Google Play Services sin problemas, siempre y cuando Google aún soporte la versión de tu sistema.

Todo el software está roto

Alejandro Crosa nos trae una charla llamada Todo el software está roto, donde nos comparte sus experiencias en el proceso de desarrollo de software en grandes empresas con miles de clientes, donde ocurren todo tipo de cosas (creo que todos los hemos vivido en nuestro trabajo pero a menos escala). Por ejemplo, en organizaciones como LinkedIn con mas de 200 millones de usuarios, cosas de que solo pueden pasar una vez en un millón, pues le ocurren a 200 usuarios y pues es una cifra significante, o cuando centésimas de segundo de carga por millones de visitas realmente importa.

En fin, te recomiendo ver esta charla que está en español para que disfrutes esas experiencias de Alejandro y notemos como esas empresas comenten errores, como cualquier otra organización.

¿Tienes una experiencia similar? Coméntanos.

Hace 7 años en esa fecha: Plugins recomendados para Firefox

Hace 10 años en esa fecha: Video Explicativo de Web 2.0

Certificados de Let’s encrypt en BigBlueButton

BigBlueButton es un grandioso software de código abierto que te permite ofrecer un aula virtual compuesta de diversas herramientas para dictar cursos y clases tales como: sala de chat, videoconferencias, llamadas, compartir escritorio, mostrar presentaciones, decidir quien va hablar entre otros. Al estar desarrollado para la plataforma web, muchas de estas herramientas utilizan WebRTC para realizar la transmisión de datos, pero en las últimas versiones de Firefox y Chrome para establecer conexiones directas, se requiere que la transmisión se haga por HTTPS por lo tanto requerirás un certificado para ello, hoy en día lo puedes hacer gratis con Let’s Encrypt.

¿Qué es Let’s Encrypt?

Let’s Encrypt es un servicio apoyado por múltiples organizaciones (entre ellas Mozilla), para brindar certificados de forma gratuita para que puedas ofrecer tus sitios bajo el protocolo HTTPS, el cual, permite servir páginas web de forma cifrada así nadie puede interceptar la información transmitida.

Actualmente Google premia con mejor valoración a aquellas páginas que funcionan con HTTPS y poco a poco será la norma en la web, por lo tanto, es recomendable su uso en un futuro inmediato. Para implementarlo, necesitas algo llamado “certificado”que te permite validar que tu sitio es realmente quien dice ser (evitando usurpaciones de identidad), a pesar de puedes comprar uno, puedes generar un certificado gratis con Let’s Encrypt cada 3 meses.

Let's Encrypt logo

Let’s Encrypt

Generando el certificado para BigBlueButton

Let’s Encrypt incluye una herramienta llamada certbot-auto para generar un certificado firmado por Let’s Encrypt, para validar el dominio utilice el parámetro –webroot, el cual, instala un archivo de comprobación en la raíz de tu servidor web para ser comprobado remotamente y así validar que realmente te encuentras en el servidor de ese dominio (existen otros medios como a través de DNS que omitiremos acá).

Cabe destacar, que el servidor web de BigBlueButton es nginx y posee una configuración para la raíz del dominio y otra para el servidor de BBB, en mi caso certbot no lo detectó y tuve que especificar la ruta de la raíz del servidor web utilizando el parámetro -w, ademas especificar el dominio para el cual deseas crear el certificado con el parámetro -d .

certbot-auto --webroot -w /usr/share/nginx/html -d tu-dominio.com certonly

Y el certificado se debería crear automáticamente en la ruta:

/etc/letsencrypt/live/TU_DOMINIO_WEB/fullchain.pem

Luego podrás seguir los pasos de la guía oficial sobre como Configurar HTTPS en BigBlueButton, previamente te recomiendo hacer un respaldo de cada archivo de configuración antes de modificarlo, pues me parece que es fácil equivocarse, ocasionando que BBB no arranque.

Luego, en el archivo /etc/nginx/sites-available/bigbluebutton debes especificar la ubicación del certificado y de la llave privada colocando las siguientes rutas:

ssl_certificate /etc/letsencrypt/live/tu_dominio_web/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tu_dominio_web/privkey.pem;

Una vez finalizado todos los pasos de la guía,reinicia el servicio y tendrás HTTPS en BigBlueButton, con ello podrás ofrecer la cámara web y diálogos a través de HTML5 sin depender de Flash.

Conclusiones

Espero que te sirva esta guía para tener tu certificado en el servidor de BigBlueButton, con esto asegurarás que el trafico en tu aula virtual esté cifrada y segura. Además, al realizar conexiones directas, notarás que la comunicación es mas rápida, sin retrasos porque algunas comunicaciones se harán directas y no deben pasar a través del servidor.