The Resource Timing API gives Web developers the tools needed to measure actual network performance on network operations.
Originally, Web applications were limited to use the client/server model of network interactions over HTTP. Web Sockets has added bidirectional network exchanges, and more recently, WebRTC datachannels have brought UDP-like data transmission.
To ensure that the variation in network conditions don't prevent users from streaming videos, Media Source Extensions bring adaptive streaming to Web applications.
Specifications in progress
The introduction of the Push API brings the possibilities for servers to be the initiator of network operators toward the client.
Resource Hints enables Web developers to give guidance to the browsers as to what network operations will be needed and in what priority.
The addition of Service Workers to the Open Web Platform brings a fully programmable client-side HTTP proxy to Web developers, enabling management of diverse network conditions, esp. offline and low-network situations.
The establishment of audio-video communications as enabled by WebRTC requires deeper integration with the network layer: for instance, WebRTC enables defining enterprise-configured network relays, and QoS settings for data transmission.
The Network Information API exposes to Web developers the type of connectivity on which the device is operating (e.g. WIFI, 3G, 4G) and the average network characteristics associated with it.
The Web Background Synchronization API makes it possible to trigger network operations beyond the traditional lifecycle of a Web application, enabling apps to fetch and download assets in the background.
Features not covered by ongoing work
- Real-time adaptative to live network conditions
- The advent of Multi-Access Edge Computing (MEC) brings perspective of networks that can measure and report their current local conditions, as explored in the Mobile Throughput Guidance Inband Signaling Protocol. How should a browser expose that data to apps?
- Adaptation to cost of network operations
- The Google Mobile Data Plan API enables some apps (e.g. YouTube) to optimize download times based on the mobile data plan of their users. Can this be generalized and combined e.g. with Background Synchronization?
- Network-provided optimizations
- WebRTC relies on application providers for identifying and resourcing relay servers to traverse NATs and firewalls. The Operator-Assisted Relay Service Architecture (OARS) paves the way for a situation where network operators provide these as a service - can this architecture be expanded to facilitate more cases where network operators are better positioned to optimize network traffic?
- Prioritization in enterprise networks
- Apple & Cisco have collaborated to bring optimized network conditions for business applications in enterprise networks - can the mechanism by which well-known apps get preferential treatments in controled environments be extended to Web applications?