domingo, 27 de septiembre de 2015

Video Conferencia en tus Aplicaciones de Negocio (WebRTC)


Hace poco un cliente nos pidió desarrollar una aplicación Web pública, donde necesita atender a sus clientes mediante una video conferencia, que sea compatible con PC y smartphones y que no requiera comprar o arrendar equipamiento telefónico, además idealmente que no requiera de grandes servidores, pero si estaba dispuesto a pagar el arriendo de algún servicio en la nube para realizar la video conferencia.

Al estimar el costo del desarrollo de las funcionalidades de la aplicación Web y sumando los costos de licencias de las soluciones de video conferencia del mercado, la solución completa crecía mucho en costo, por lo que el proyecto se hacía inviable.

En cuanto a las soluciones de video conferencia en el mercado había varias alternativas, entre ellas:

  1. Soluciones altamente compatibles con diferentes sistemas operativos (windows, IOS, Android, MAC), con API's y SDK's de desarrollo muy completos, con servidores en la nube con una gran infraestructura, pero que requerían un pago de licencias y arriendo mensual de la infraestructura, además de los costos de integración de toda esta infraestuctura en la aplicación Web que íbamos a desarrollar.
  2. Soluciones de bajo costo y bastante conocidas (gotomeeting, Webex, etc.) que con precios muy accesibles permiten realizar las videoconferencias, pero que no contaban con ambiente de desarrollo (API/SDK) para integrar de forma completa las videoconferencias en los flujos de negocio de la aplicación (registro de usuarios, pagos en línea, agendar horas, etc.)
  3. Soluciones Hardware y Software, de alto costo, pero de baja flexibilidad de integración en aplicaciones de terceros.
Todas estas soluciones están probadas y son un primer camino para resolver este problema, incluso nosotros optamos por la opción 1, pero los costos se escapaban del presupuesto del cliente, por lo que investigamos una nueva opción disponible, y es la de utilizar WebRTC  directamente, un estándar impulsado por algunos de los principales actores de Internet (google, mozilla, W3C, Opera, etc.). WebRTC es parte de la especificación HTML5 y que ha sido implementado paulatinamiente por las empresas encargadas de desarrollar los navegadores (excepto Microsoft con Internet Explorer).

En estos momentos WebRTC puede ser utilizado en cualquier página Web mediante código Javascript y sin la necesidad de instalar ningún software en los computadores de Usuarios, por lo que lo hace una gran alternativa por su facilidad de implementación y compatibilidad con gran parte de los navegadores actuales (Chrome - en todas las plataformas- , Firefox y Opera), y con algunos esfuerzos adicionales se puede hacer funcionar en los navegadores restantes (IOS, Internet Explorer, Blackberry, etc.)

Por otra parte requiere de un desarrollo muy menor en el Servidor, que solo se encargue de presentar los usuarios que van a participar en la video conferencia (señalización).

Realizamos una pequeña demo para quien quiera probar, no es nada sofisticado, solo una prueba de concepto. Compatible con Chrome, Firefox y Mozilla


No hay comentarios:

Publicar un comentario