Fabryq: Using Phones as Smart Proxies to Control Wearable Devices from the Web
Abstract:
Wearable ubiquitous computing devices are often size- and power-constrained, which prevents them from directly connecting to the Internet. A common pattern is therefore to interpose a smart phone as a router and to deliver graphical user interfaces for such hardware. However, implementing the entire pipeline from embedded device through a phone to the Internet and back requires a disjoint set of languages and APIs accessible only to experts. In this paper, we present fabryq, a new platform that handles the complexities of creating such applications. fabryq is especially aimed at supporting field deployments of prototype ubicomp hardware, e.g. for new interactive health devices. fabryq turns a smartphone into a bridge that connects the short range wireless technology of Bluetooth Low Energy BLE with our cloud service via the Internet. We introduce a protocol proxy programming model to find and control peripheral devices from Javascript and describe a UI pushdown technique to render user interfaces on phones within reach of peripheral devices. To illustrate the utility of our platform, we also implement microfabryq a breadboard prototyping platform similar to Arduino with functionality exposed over a JavaScript API built exclusively with fabryq.