- From: SULLIVAN, BRYAN L <bs3131@att.com>
- Date: Wed, 18 Jul 2012 17:20:20 +0000
- To: Tobie Langel <tobie@fb.com>, Core Mobile <public-coremob@w3.org>
Tobie, One of the key use cases we are exploring is opportunistic use of existing network connections, to avoid apps from needing to create a new network connection for transfer of data that can wait until there is some connection established for other purposes (i.e. by some other app or device function). Giving developers tools and guidelines to help reduce RRC (radio resource control) layer chatter on mobile networks is one of the goals of the GSMA's Application Network Efficiency (ANEFF) project and the Network Friendly App and Webapp Community Group [1]. Currently a lot of very short connections are used by apps, asynchronously/uncoordinated. The navigator.connection interface as well as the currently existing navigator.onLine interface will hopefully be valuable in enabling developers to use network connections more opportunistically, for data transfers that can be delayed until an opportunity arises. Related to that use case goal, as part of the wiki it would be useful to explain the relationship of the navigator.connection interface with the navigator.onLine interface, and point to experience testing with the current implementations of the interfaces. Below for example is some test data that I obtained by running my test of the navigator.connection interface [2], which uses addEventListener for both navigator.connection and navigator.onLine to produce a record of the changes seen. I'm just now looking into what this data tells me about the reliability of the information obtained. In this case I was in a conference, and bouncing between EDGE and 3G (deep in the ballroom of a hotel without a microcell, thus getting variable mobile network coverage) using a Galaxy Note with ICS and Firefox Beta. [1]: http://www.w3.org/community/networkfriendly/ [2]: http://bkaj.net/test/dap/connection.html +++test output+++ The navigator.connection interface is defined. navigator.onLine: true navigator.onLine events: 1. 12:41:44 offline 2. 12:41:57 online 3. 12:42:07 offline 4. 12:43:30 online 5. 12:47:09 offline 6. 12:47:22 online 7. 12:51:12 offline 8. 12:51:19 online 9. 13:24:21 offline 10. 13:25:40 online 11. 13:26:07 offline 12. 13:26:20 online 13. 13:30:45 offline 14. 13:32:39 online 15. 13:39:28 offline 16. 13:39:52 online 17. 15:18:17 offline 18. 15:18:21 online 19. 15:19:36 offline 20. 15:19:55 online Connection bandwidth: 20 Mb/s Connection is metered: false navigator.connection events: 1. 12:41:44 0 Mb/s, not metered 2. 12:41:57 20 Mb/s, not metered 3. 12:42:07 0 Mb/s, not metered 4. 12:52:26 20 Mb/s, not metered 5. 12:51:12 0 Mb/s, not metered 6. 12:51:23 0.1953125 Mb/s, not metered 7. 13:10:15 7 Mb/s, not metered 8. 13:24:21 0 Mb/s, not metered 9. 13:25:40 20 Mb/s, not metered 10. 13:26:07 0 Mb/s, not metered 11. 13:26:20 0.1953125 Mb/s, not metered 12. 13:30:45 0 Mb/s, not metered 13. 13:32:39 0.1953125 Mb/s, not metered 14. 13:39:28 0 Mb/s, not metered 15. 13:39:52 20 Mb/s, not metered 16. 15:18:17 0 Mb/s, not metered 17. 15:18:21 20 Mb/s, not metered 18. 15:18:32 20 Mb/s, not metered 19. 15:19:36 0 Mb/s, not metered 20. 15:19:55 20 Mb/s, not metered 21. 16:10:39 7 Mb/s, not metered Thanks, Bryan Sullivan > -----Original Message----- > From: Tobie Langel [mailto:tobie@fb.com] > Sent: Wednesday, July 18, 2012 9:49 AM > To: Core Mobile > Subject: Re: Network Information Use Cases > > Hi, > > In order to make progress on this issue, I've created a wiki page[1] where > I referenced all use cases submitted so far and divided them in to two > categories: those that could be met with Network info and those that > couldn't. > > I also added a section which explains what Network info provides and what > it doesn't. Worth reading as the spec has changed recently. > > I've also added a use case[2] for responsive images, as I found out there > are JavaScript libraries[3] using Network info for this purpose. > > There are three use cases that can be met with the Network Info API alone: > > - Warning against or avoiding downloading of large-sized files > - Poor man's adaptive streaming > - Poor man's responsive img > > > (Note the later ones are temporary solutions until better, dedicated > technology gets specified and implemented.) > > I suggest we concentrate our discussion around these three use cases only. > And make a decision for inclusion in L1 based on the validity of these use > cases and vendor intent to implement the spec. > > Best, > > --tobie > > --- > [1]: > http://www.w3.org/community/coremob/wiki/Features/Network_Information_API > [2]: > http://www.w3.org/community/coremob/wiki/Features/Network_Information_API#P > oor_man.27s_responsive_img > [3]: https://github.com/adamdbradley/foresight.js >
Received on Wednesday, 18 July 2012 17:21:20 UTC