WebinarGeek logo

De Google Hangouts a WebRTC

Image of Remy

Remy

07 de septiembre de 2017 - 7 min

Illustration related to a product update

La transición de Google Hangouts on Air a WebRTC para emitir nuestros webinars en directo ha sido, con diferencia, el mayor cambio en la corta historia de nuestra empresa, WebinarGeek.

Salir en directo con solo pulsar un botón, emitir en alta calidad y hacerlo todo sin ningún retraso. No se puede pedir más, ¿verdad? A finales de febrero por fin llegó el momento… ¡La presentación del nuevo WebinarGeek! Desde entonces, por fin caminamos solos.

Fue muy emocionante. Hasta entonces, las emisiones de los webinars en directo siempre pasaban por los servidores de Google. Pero a partir de ese momento, la responsabilidad pasó a ser totalmente nuestra. Algo que nos parece genial, no me malinterpretes. Nos gusta tener el 100 % de control sobre todos los factores que influyen, como la calidad y la estabilidad de la emisión. Pero, como es lógico, la transición no ha estado libre de problemas. En nuestro camino hacia la independencia nos encontramos con varios obstáculos. Nos caímos, pero siempre volvimos a levantarnos. Eso nos ayudó a mejorar y a aprender. En este artículo quiero compartir un vistazo «entre bastidores» a nuestra fase de lanzamiento.

¿Qué es exactamente WebRTC?

WebRTC son las siglas de WebRealTimeCommunication y es una funcionalidad de tu navegador que permite intercambiar audio y vídeo en tiempo real con otro navegador.

Un programa como Skype utiliza una tecnología similar. ¿La principal ventaja? Todas las interacciones se producen sin tener que instalar software adicional. El navegador te permite activar la cámara y el micrófono y garantiza que estén presentes las funcionalidades estándar para intercambiar datos con otro navegador.

La principal ventaja de WebRTC es la ausencia de retraso durante la emisión. Es conocido por su emisión de baja latencia (low latency streaming). Esto significa que no se produce retraso durante las emisiones, sobre todo entre navegadores Google Chrome.

Google Chrome es uno de los primeros en adoptar WebRTC. La empresa detrás del buscador y del navegador quiere crear un nuevo «estándar web» con esta tecnología moderna.

En WebinarGeek podemos leer y aplicar una parte de la funcionalidad del navegador y crear software a su alrededor. Puedes ver WebRTC como una caja de herramientas que podemos usar para crear software.

Two laptops and the WebRTC logo in the middle

WebRTC permite la comunicación en tiempo real entre navegadores

WebRTC nos abrió muchas oportunidades en comparación con Google Hangouts on Air. Por ejemplo, la posibilidad de emitir en directo sin retraso, emitir en alta calidad y hacerlo directamente desde el  navegador sin tener que instalar nada ni usar software adicional. Además, no requiere integraciones complejas con terceros.

Aplicar WebRTC a los webinars

WebRTC se diseñó originalmente para soluciones de videoconferencia. Durante una videoconferencia, un navegador se conecta con otro navegador. Hay comunicación directa entre dos navegadores, como en Skype.

Esto no es precisamente lo ideal para un webinar, porque tendrían que participar muchas personas a la vez. No quieres que tu ordenador o tu navegador se conecte a cientos de ordenadores al mismo tiempo. No solo sería potencialmente peligroso, sino también prácticamente imposible. En un webinar, los datos se emiten desde un ordenador a muchos otros, en lugar de haber una comunicación directa de ida y vuelta.

¡Aquí es donde entra en juego un poco de magia de WebinarGeek! Hicimos posible usar  WebRTC para emitir webinars. Sin necesidad de retraso ni de establecer conexiones entre todos los participantes.

Así funciona la magia: creas una conexión desde tu navegador con  WebinarGeek y nosotros nos encargamos del resto. Distribuimos tu conexión desde nuestros  servidores a todos los espectadores, de modo que todo el «trabajo pesado» de la conexión ocurre de nuestro lado. Este proceso también permite grabar todos los webinars.

Este fue, con diferencia, el reto más grande e importante durante la implementación de  WebRTC. Ya te imaginas que hicimos una pequeña fiesta en la oficina cuando por fin dimos con la clave y encontramos la solución.

Los datos son conocimiento...

Una de las cosas que más nos ayudó es el almacenamiento de información. En WebinarGeek lo registramos todo, y cuando digo todo, es todo. Las estadísticas de cada organizador y de cada espectador nos ayudan a mejorar WebinarGeek. Cada notificación que aparece en la pantalla de alguien, cada aspecto de la conexión: todo está en nuestra enorme montaña de datos. Una de las cosas que hacemos en el departamento técnico es tomar muestras de webinars para analizarlas:

  • ¿Cómo fue la emisión desde el punto de vista del organizador?

  • ¿Qué dispositivos usaron los espectadores para ver el webinar?

  • ¿Quién no pudo unirse y por qué se perdió la emisión?

  • ¿Estaba bien ajustada la calidad tanto para el organizador como para los espectadores?

  • ¿Quién vio mensajes de error y por qué?

Estos análisis periódicos se documentan y se comentan con el equipo cada semana. Lo que más miramos son las posibles adaptaciones del software para resolver un problema, o adaptaciones de la aplicación para aclarar algo. Por ejemplo, cuando un espectador tiene que realizar una acción pero no encuentra el botón.

Remy from WebinarGeek testing on several devices

Estoy en mi hábitat natural: en WebinarGeek solemos probar las cosas a fondo

Los espectadores siguen los webinars desde cientos de situaciones distintas. Desde los Países Bajos o desde otro país. Desde un ordenador, un portátil o una tableta. Por wifi o por cable. Con Internet Explorer, Edge, Safari, Chrome, Firefox, distintos navegadores, distintas versiones de navegador: las combinaciones son infinitas. Por eso el análisis y la mejora periódicos son imprescindibles.

Además de las muestras, desde agosto nuestro sistema avisa automáticamente cuando algo ha ido mal durante un webinar. Por ejemplo, un micrófono que no funciona, una mala conexión o un porcentaje (demasiado) alto de espectadores con problemas. Así podemos mejorar WebinarGeek con aún más precisión.

Notification of a WebinarGeek event

En el sistema de WebinarGeek, literalmente nos suena un aviso cuando un webinar está en directo (o lo ha estado) y requiere nuestra atención inmediata

Los retos desde la introducción de WebRTC

Desde que introdujimos nuestra nueva solución de emisión, hemos hecho cientos de mejoras y cambios. A continuación encontrarás algunos ejemplos de lo que nos encontramos durante este tiempo:

Cambiar la calidad

Tras el lanzamiento, parecía que la mayoría de nuestros clientes podían dar un webinar en alta calidad. Sin embargo, algunos clientes tuvieron problemas de calidad: fragmentos de vídeo que faltaban, audio que se cortaba. Tras investigarlo, vimos que estos problemas se debían a la inestabilidad de la red (por ejemplo, wifi desde un desván) o a una velocidad de internet inferior a la media.

A raíz de los problemas de nuestros clientes, implementamos una prueba de red automática en la página de emisión. En cuanto se carga la página, se realizan en segundo plano varias pruebas de velocidad y de red para determinar la calidad óptima del webinar.

¿Internet lento? Lo tenemos cubierto. En estos casos, bajamos ligeramente la calidad de forma automática para que tu webinar se pueda emitir sin problemas.

Girar la pantalla

Nuestro análisis de espectadores nos mostró algo interesante. Algunos usuarios de móvil abrían la página para ver el webinar, pero nunca llegaban a iniciarlo. En los dispositivos móviles, normalmente no se nos permite iniciar el vídeo. Es una limitación que el fabricante del software móvil impone a los sitios web con vídeos. Tras investigar un poco más, vimos que el problema tenía dos componentes:

  • No todos los espectadores entendían que tenían que pulsar «play» para verlo.

  • Algunos espectadores veían una imagen que les pedía girar la pantalla para ver el webinar en horizontal. Esa imagen no siempre se entendía.

Por eso añadimos en la página unas indicaciones claras e intuitivas para iniciar el vídeo. También rediseñamos desde cero la imagen para girar la pantalla. ¡Desde que cambiamos estas dos pequeñas cosas, no hemos vuelto a ver estos problemas!

Picture of rotating a mobile device

Nuestra investigación mostró que la imagen de la izquierda no era lo bastante intuitiva; la segunda funcionaba mucho mejor

Los espectadores que ven el webinar en un dispositivo Apple siempre son bienvenidos. Es bastante fácil detectar cuándo se trata de un dispositivo Apple, y casi siempre nos encontramos con el mismo tipo de navegador. Con Android es más complicado. No solo hay decenas de dispositivos y versiones, sino también una gran variedad de navegadores y versiones de navegador.

Nuestro análisis de espectadores mostró que algunos espectadores con Android tenían problemas para ver las emisiones. Conseguían reproducir el contenido, pero a veces la emisión se quedaba cargando mucho (es decir, iba con retraso) o simplemente se cortaba antes de terminar. Tras investigar más, vimos que algunos navegadores y dispositivos Android admitían nuestro tipo de emisión en directo (con HLS), pero en general tenía fama de «mediocre» o de «llena de fallos» (montones de errores).

Para controlar mejor la situación, limitamos la visualización en Android a las versiones 4.1 o superiores de Android OS. También decidimos dar soporte solo al navegador Google Chrome (incluido de serie en todos los dispositivos compatibles). En nuestro Centro de ayuda mantenemos un registro actualizado de los navegadores y versiones compatibles. 

En las próximas semanas nos centraremos en escalar y en mejorar la calidad

El soporte de WebRTC en los navegadores no deja de crecer. Esto nos permite hacer los webinars más estables y nos ayuda a ofrecer una mayor calidad de emisión. Una de las próximas versiones de Google Chrome incorporará una nueva técnica de «cancelación de ruido» que ayuda a mejorar la calidad del sonido, sobre todo de los micrófonos integrados. Nuestros oídos lo agradecen.

Pero aún hay más. En los próximos 6 meses, el soporte de WebRTC en navegadores como Firefox y Safari se implementará de forma que pueda mejorar WebinarGeek. Por ahora, aplicamos un retraso en los webinars a los espectadores que usan navegadores no compatibles. Nuestro objetivo es que en el futuro esto ya no sea necesario.

Por último, pero no menos importante, gran parte de nuestro desarrollo tecnológico actual está orientado a escalar cada vez más. Ofrecer soporte para más espectadores, con una calidad de vídeo aún mejor y de la forma más fluida posible. La combinación de los avances tecnológicos de los navegadores y los desarrollos innovadores de WebinarGeek lo hará posible. ¡Te seguiré contando novedades!

Si después de leer este artículo tienes algún comentario o pregunta, no dudes en contactar con nosotros a través del servicio de atención al cliente, que encontrarás en la esquina inferior derecha de tu pantalla.