Amalgam: Hardware Hacking for Web Developers with Style (Sheets)

J Garza, DJ Merrill, S Swanson - International Conference on Web …, 2019 - Springer
International Conference on Web Engineering, 2019Springer
Web programming technologies such as HTML, JavaScript, and CSS have become a
popular choice for user interface design due to their capabilities: flexible interface, first-class
networking, and available libraries. In parallel, driven by the standards set by the mobile
companies, embedded devices manufacturers now want to replicate these capabilities. As a
result, embedded devices that use web technologies for their graphical interface have
started to emerge. However, the programming effort required to integrate web technologies …
Abstract
Web programming technologies such as HTML, JavaScript, and CSS have become a popular choice for user interface design due to their capabilities: flexible interface, first-class networking, and available libraries. In parallel, driven by the standards set by the mobile companies, embedded devices manufacturers now want to replicate these capabilities. As a result, embedded devices that use web technologies for their graphical interface have started to emerge. However, the programming effort required to integrate web technologies with embedded software hinders its adaption. In this paper, we introduce Amalgam, a system that facilitates the development of embedded devices that use web programming technologies. Amalgam does this by translating the physical interface of embedded hardware components found (e.g., a push button) directly into the HTML and CSS syntax. Our system reduces the programming effort required to develop new embedded devices that use web technologies, as well as adds new interesting capabilities to the design of these. We show Amalgam’s capabilities by exploring three embedded devices built using web programming technologies. Also, we demonstrate how Amalgam reduces programming effort by comparing two traditional approaches of building one of these devices against Amalgam. Results show our system reduces the lines of code required to integrate hardware elements into an embedded device application to a line of code per hardware component added to the device.
Springer