Features/Network Information API
Contents
Foreword
The Network info API has recently been changed. The new draft specs an API providing the following info:
- the estimated in bandwidth in MB/s (Megabytes per seconds).
- whether or not the the current connection is metered.
- the ability to register an event handler to be able to respond to change in any of the above.
What this API does not provide:
- a way to find out which network type the user is currently using,
- a way to switch to a particular network type.
Use Cases fulfilled by the Network Info API
Warning against or avoiding downloading of large-sized files
Some of download sites such as application stores, movie download site, etc. may avoid downloading large-sized files (e.g. more than 20MB) through 3G network and encourage users to connect to wi-fi.
Link: http://lists.w3.org/Archives/Public/public-coremob/2012Jul/0011.html
Poor man's adaptive streaming
DAP Network Information API can help the video playback client to determine the start bitrate/resolution for the video stream and also adapt to underlying network dynamically when the network connection changes.
Link: http://lists.w3.org/Archives/Public/public-coremob/2012Jul/0026.html
Poor man's responsive img
Network Information API is used by some JavaScript responsive image solutions to estimate available bandwidth, falling back on actually testing it otherwise (timing the length it takes to download a picture who's size is known).
Use Cases requiring additional APIs and thus out of scope of Coremob Level 1
Visual Voicemail platforms
Visual voicemail platforms are commonly accessible only through 3G (platform access is restricted from the Internet). The Network Information APIs are required to detect the current interface, and switch to 3G if a voicemail needs to be fetched. The Orange OMTP platforms notably work like that.
Link: http://lists.w3.org/Archives/Public/public-coremob/2012Jul/0002.html
Reason for rejection: requires being able to identify currently used network and programmatically switch to a different network.
TV Services
TV services and streams are secured and encrypted and use the SIM and 3G network for the authentication process. After the authentication has been performed, it is possible to offload through the Wi-Fi connection.
Link: http://lists.w3.org/Archives/Public/public-coremob/2012Jul/0002.html
Reason for rejection: requires being able to switch to a different network.
Usage Applications
Most carriers provide applications that give real time minutes and data usage for a user, as well as the possibility to subscribe/unsubscribe to/from various options. Servers storing these information can only be accessed through 3G access.
Link: http://lists.w3.org/Archives/Public/public-coremob/2012Jul/0002.html
Reason for rejection: requires being able to switch to a different network.
International Roaming
Almost all smartphones can access the web when we go anywhere in the world, by applying international 3G roaming. Roaming services require much higher fee, so eliminating data traffic and offline functionality are desired when 3G roaming is being applied and no wi-fi connection is available. It's useful to detect which 3G carrier is currently connected to, as well as to detect/switch the type of connection.
Link: http://lists.w3.org/Archives/Public/public-coremob/2012Jul/0008.html
Reason for rejection: requires being able to switch to a different network.
Smooth handover among various network interfaces on the mobile devices
For instance, in case any of network interface is being disconnected, app should be preparing the handover (depends user setting for handover time such as jitter > 1sec, packet loss > 10%, etc...) to another available interface where API should get these available network information (enabled network interfaces and their available bandwidth and features)...In this use case, *network information API* is very useful...
Link: http://lists.w3.org/Archives/Public/public-coremob/2012Jul/0023.html
Reason for rejection: requires being able to identify currently used networks.
Multihoming use case
In case the mobile node can use multiple network interfaces (most case is both cellular and WiFi), app is able to handle its communication style, for instance; watching the movie through WiFi interface and paying something through cellular according to network security level information via API. In addition, load balancing between WiFi and cellular interfaces according to network price information (cellular is 5G/Month and WiFi is free, etc) via API is feasible, so that app can switch its ongoing services to WiFi from cellular in order to prevent user's cellular overloading (over 5G could be very expensive to user regardless of user intention).
Link: http://lists.w3.org/Archives/Public/public-coremob/2012Jul/0023.html
Reason for rejection: requires being able to identify currently used network(s) and programmatically switch to a different ones.