En un documento no oficial de la WICG (Web Incubator Community Group), dos desarrolladores de Google publicaron una API en la que podemos acceder a la USB desde la web. Estos chicos la llaman, WebUSB API.
El principal objetivo de la API es brindar un método estándar seguro al momento de exponer dispositivos USB a la web, actualmente sólo están haciendo pruebas con dispositivos como teclados, ratones, equipos audiovisuales, etc.
Reilly Grant y Ken Rockot (los editores del documento) aseguran que la conexión entre el dispositivo y la web son seguros y que los desarrolladores que han usado librerías nativas de USB no les será difícil entender y usar las del API, pues es algo muy similar a éstas.
En un futuro esperan que los fabricantes de hardware consideren esta API y tengan la capacidad de construir un SDK multiplataforma en JavaScript. Así mismo, aseguraron que es muy bueno para la web, pues en vez de esperar mucho tiempo para que un dispositivo pueda comunicarse con ésta (dado que hay que generar una API específica), se podrá construir un hardware nuevo e innovador casi al momento.
Lo que si debe quedar claro, es que la API no permite el acceso directo a cualquier dispositivo conectado por medio de USB, pues ésta sirve (por ahora) como una tecnología estándar que los desarrolladores web pueden adoptar dentro de productos y fabricantes de hardware para la construcción de dispositivos con capacidades web.
Ahora, ¿qué pasa con el lado de la seguridad? Muchos están preocupados, pues toca mucho el tema del internet de las cosas (), y tienen mucha razón. ¿Cómo no pensar en los futuros problemas que llegue a ocasionar la conexión entre USB y Web, cuando se conectan sin ningún tipo de autenticación?.
Grant y Rockot responden a éstas preocupaciones con un sistema de seguridad CORS, donde cada dispositivo USB es tratado como una fuente separada, entonces los desarrolladores envían la petición al dispositivo específico al que se tendrá acceso y automáticamente se estará generando la autenticación sólo y únicamente para el dispositivo en cuestión.
Finalmente, les decimos que WebUSB API puede operar sin un firmware personalizado y si quieren saber más de la API puedes encontrar información detallada en la página WICG. Si eres desarrollador o fabricante y quieres participar en el proyecto puedes hacerlo visitando el GitHub del API.