웹에서 USB 장치에 액세스 할 수있는 API "WebUSB"의 문제점은?

웹 브라우저를 통해, PC에 연결된 USB 장치에 직접 액세스 할 수있는 API, "WebUSB"는, 2016년에 Google의 엔지니어들에 의해 개발되었다. 2017년에는 Google Chrome에서 공식적으로 지원되고 있지만, "WebUSB에 몇 가지 문제점이있다"며, 튀니지의 IT 컨설턴트 인 하템 벤 야곱 씨가 언급하고 있다.



2018년경부터 WebUSB를 사용하기 시작했다는 야곱 씨는, "WebUSB는 이미 Google Chrome에서 지원되고있고, 아주 멋진 것이라고 생각했습니다. 하지만 불행히도 잘 작동하는 장치는 드물었습니다. 2년정도 경과되었지만, 상황은 변함이 없었습니다"라고 말하고있다.




WebUSB를 사용해 보려고했지만, 2018년의 시점에서 설명서가 불완전했기 때문에, 야곱 씨는 API 제한 등 다양한 문제에 부딪쳤다. 예를 들어, Ubuntu에서 WebUSb를 사용해보려고했지만 잘되지 않았고, 메뉴얼로부터도 해결의 실마리를 얻지 못한 것 같다. 야곱 씨는 Stack Overflow에 몇 가지 질문을 게시해 어찌어찌해서 문제를 해결 할 수 있었다는.



또한, WebUSB에서 스캐너 드라이버를 시작하려고했을 때 연결이 잘되지 않고 막혀 버린 것. 해결책을 찾기위해 야곱 씨는 다시 Stack Overflow에 질문을 게시. Ubuntu의 스캐너 용 API인 SANE는 제대로 작동하고 있었기 때문에 "WebUSB도 제대로 작동하고있는 것"이라고 야곱 씨는 짐작하고 있었다. 결국, 전송 코드의 스택에 문제가 있었다는 것을 알게되었으며, WebUSB 구현 자체에 관련된 문제였던 것으로 조사되었다고 한다.


WebUSB는 등장한지 4년이 경과했음에도 불과하고, 설명서의 부족으로 Stack Overflow와 같은 커뮤니티에서 도움을 받지않으면 WebUSB를 활용할 수 없는 점을 야곱 씨는 문제삼고있다.



또한 2019년 12월 3일에 업데이트 된 초안에 대해, GitHub에 해결되지 않은 문제가 27건이나 있는것도 문제라고 야곱 씨는 지적하고있다. 야곱 씨는 WebUSB가 Google Chrome에서만 지원되고 있기 때문에, 이용자의 증가가 증가되지 못하고 WebUSB의 성장을 방해하고 있다고 생각하고있다.