A lot of great publications are accompanied by great implementations that sometimes risk going almost unnoticed in favor of the more glamorous research results they helped produce. Likewise—the Web being a moving and ever-developing target—a lot of sometimes tedious and oftentimes less obvious work happens on standardization of future Web APIs and programming languages.
The Developers’ Track aims to put this implementation and standardization work front and center. It will highlight research submissions that describe technically challenging Web applications of all sorts, including (but by no means limited to) bleeding edge technologies like WebAssembly, Service Workers, or WebVR; multimedia-related topics like WebRTC, Web MIDI, Web Bluetooth, WebUSB, or Encrypted Media Extensions; and advanced Web features like Payment Request, Credential Management, or Web Share.
Apart from classic papers (that we do understand are a fixed requirement for some people in order be allowed to the conference), the Developers’ Track is not limited to formats that can be printed, but authors are encouraged to be creative in finding the most effective way to communicate their work, and we will discuss dynamic or interactive contributions.
Surfing the API Web: Web Concepts
Authors: Erik Wilde
Keywords: Web Architecture, Standards, API, Design
The Web is based on numerous standards that together make up the surface of the Web: By knowing and supporting those standards, problems can be solved in well-known ways. This general design pattern on the Web applies to APIs in the very same way as it does to the human Web: By using an (evolving) set of standards, API developers benefit by not having to reinvent the wheel, and developers benefit by the same problem being solved in the same way across a variety of APIs. The evolving set of standards for Web APIs can be regarded as a set of building blocks or vocabularies for API design. Web Concepts is a site and a repository that can be used to manage how within organizations these building blocks are used, thus helping to establish a Web API design culture. The main idea of Web Concepts is to promote reuse of existing standards and technologies, and to therefore make it easier for teams to understand which options are available generally speaking, and maybe which ones are popular choices within their organization.
Exploiting Web API Documentations for Generating User Interfaces
Authors: István Koren and Ralf Klamma
Keywords: Web Components, OpenAPI, Web Services, Internet of Things
New Web services and Internet of Things enabled device types are introduced on a daily basis. Open documentation specifications describe their functionalities in terms of possible API calls. Based on these specifications, Web-based try-out-style solutions exist that allow developers to quickly get an understanding what the services and devices do and how they work. However, the generated user interfaces are far from real-world practices of end users. We present an approach to overcome this gap, by using a model-driven methodology resulting in state-of-the-art responsive Web user interfaces. Our implementation is based on recent standards like Web Components. The resulting framework helps bridging communication gaps between end users and developers, leading to a more goal-oriented and diverse world of Web applications.
Linked Specifications, Test Suites, and Implementation Reports
Authors: Sarven Capadisli
Keywords: Evaluation and Report Language, Implementation reports, Linked Data, RDF Data Cube, Statistics, Test suite, W3C specifications
Transforming the JSON Output of SPARQL Queries for Linked Data Client
Authors: Pasquale Lisena and Raphaël Troncy
Authors: Ksenia Peguero, Nan Zhang and Xiuzhen Cheng
Components.js: A Semantic Dependency Injection Framework
Authors: Ruben Taelman and Ruben Verborgh
Toward an open standard for WebAudio plugins
Authors: Michel Buffa, Jerôme Lebrun, Stéphane Letz, Jari Kleimola and Oliver Larkin
Keywords: WebAudio, Plugin architecture, Audio effects and instruments, Web Standards, Audio processing
The Liquid User Experience API
Authors: Andrea Gallidabino and Cesare Pautasso
Keywords: Liquid Software, Web Components, API
Web applications are traditionally designed having in mind a server-centric architecture, whereby the whole persistent data, dynamic state and logic of the application are stored and executed on the Web server. The endpoint client device running the Web browser traditionally only renders pre-computed views fetched from the server. As more data, state and computations are shifted to the client, it becomes more challenging to run Web applications across multiple devices while ensuring they can synchronize their state and react in real-time to changes of the set of available devices. In this paper we present the API of the Liquid.JS framework, which allows developers to deploy their component-based rich Web applications across multiple Web-enabled devices. The framework is based on state of the art technologies such as Polymer, WebRTC DataChannel, WebWorkers, PouchDB and Yjs. Liquid.JS helps to build decentralized Web applications whose components can seamlessly flow directly between Web browsers carrying along their execution state. The Liquid.JS API deals with device discovery, the lifecycle of liquid components and the fine-grained control of the liquid user experience primitives.
Showing Promise: Prototyping a Server Push API With Service Worker and QUIC
Authors: Lucas Pardue
Keywords: HTTP, Server Push, Service Worker, WebAssembly, QUIC, MPEG-DASH, IP Multicast
What is in a Web View? An Analysis of Progressive Web App Features When the Means of Web Access is not a Web Browser
Authors: Thomas Steiner
Keywords: Progressive Web Apps, Service Workers, Web Views
Progressive Web Apps (PWA) are a new class of Web applications, enabled for the most part by the Service Workers APIs. Service Workers allow apps to work offline by intercepting network requests to deliver programmatic or cached responses, Service Workers can receive push notifications and synchronize data in the background even when the app is not running, and—together with Web App Manifests—allow users to install PWAs to their devices’ home screens. Service Workers being a Web standard, support has landed in several stand-alone Web browsers—among them (but not limited to) Chrome and its open-source foundation Chromium, Firefox, Edge, Opera, UC Browser, Samsung Internet, as well as preview versions of Safari. In this paper, we examine the PWA feature support situation in Web Views, that is, in-app Web experiences that are explicitly not stand-alone browsers. Such in-app browsers can commonly be encountered in chat applications like WeChat or WhatsApp, online social networks like Facebook or Twitter, but also email clients like Gmail, or simply anywhere where Web content is displayed inside native apps. We have developed an open-source application called PWA Feature Detector that allows for easily testing in-app browsers (and naturally stand-alone browsers as well), and have evaluated the level of support for PWA features on different devices and Web Views. On the one hand, our results show that there are big differences between the various Web View technologies and the browser engines they are based upon, but on the other hand, that the results are independent from the devices’ operating systems, which is good news given the problematic update policy of many device manufacturers. These findings help developers make educated choices when it comes to determining whether a PWA is the right approach given their target users’ means of Web access.