Well-deployed technologies

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.

FeatureSpecification / GroupMaturityCurrent implementations
Select browsers…
Network monitoringResource Timing Level 2
Web Performance Working Group
Candidate Recommendation
Network protocol supportWebSockets Standard
WHATWG
Living Standard
WebRTC 1.0: Real-Time Communication Between Browsers
WebRTC Working Group
Recommendation
Network controlMedia Source Extensions™
Media Working Group
Working Draft

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.

FeatureSpecification / GroupMaturityCurrent implementations
Select browsers…
Network protocol supportPush API
Web Applications Working Group
Working Draft
Network controlResource Hints
Web Performance Working Group
Retired
Service Workers 1
Service Workers Working Group
Candidate Recommendation
Browser default ICE servers in WebRTC: Real-Time Communication in Browsers
WebRTC Working Group
Recommendation
Priority and QoS Model in WebRTC: Real-Time Communication in Browsers
WebRTC Working Group
Recommendation

Exploratory work

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.

FeatureSpecification / GroupImplementation intents
Select browsers…
Network monitoringNetwork Information API
Web Platform Incubator Community Group
Network controlWeb Background Synchronization
Web Platform Incubator Community Group

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?