Native application platforms offer developers the opportunity to integrate hardware and software in a single offering. For example, an educational product aimed at laboratory sciences might offer a data logging device and a software package for visualization and analysis of the data collected. The web platform has historically only been able to support these applications through the use of native plugins that provide access to the platform APIs necessary to integrate with peripherals. With the introduction of the Web Bluetooth and WebUSB APIs this is no longer the case. We see devices such as the PocketLab kits and NumWorks calculator taking advantage of these new capabilities to build web-first applications.
USB and Bluetooth, however, do not cover the full range of hardware interfaces commonly used by computer peripherals. Due to its simplicity and low cost to implement many devices still communicate over some type of simple serial bus. This may be an actual RS-232 cable or a virtual serial port emulated over more modern transports. It is common to find that a device that presents itself as having Bluetooth or USB is actually made of two components, a generic Bluetooth or USB interface chip connected via TTL serial to a microcontroller that implements the “brains” of the device.
We therefore propose to resume the work begun by Mozilla on the Serial API by moving the specification into the WICG. The API will be extended with a chooser-based permission model similar to what is specified for Web Bluetooth and WebUSB.