- From: Tobie Langel via GitHub <sysbot+gh@w3.org>
- Date: Thu, 10 Mar 2016 13:07:33 +0000
- To: public-device-apis@w3.org
re @darobin's [comment](https://github.com/w3c/sensors/issues/88#issuecomment-193281097): > @tobie I've been out of the loop for a while, but is the `rAF` example realistic (and fundamental)? Yeah, it seems like a common use case for all the device orientation stuff. > I'm presuming that it does not involve synchronous reading, so you're just getting whatever cached value there is. Yup. Basically it's a convenience for doing something like: ```js var currentReading = null; sensor.onreading = event => currentReading = event.reading; requestAnimationFrame(function frame() { console.log(currentReading); requestAnimationFrame(frame); }); ``` Are you suggesting that by abandoning this feature altogether we could instead tie permission request plus starting to poll the sensor to adding a listener? I thought another key design principle of the platform was that listening to events shouldn't cause side effects. /cc @annevk >Regarding more advanced primitives, well, you gotta keep the pressure up :) heh! >Also: you can reproduce the same behaviour with `EventTarget` (albeit more verbosely). Well, that's a really interesting question. Afaik, there's no real way to tie the event loop and the sensor polling together, so I'm not sure you could actually prevent the sensor from being polled a second time. > Other than that, I wonder if you're not mixing the caching behaviour into the sensor too much? Possibly, but some of it comes from requirements from concrete sensors (and have valid battery saving implications). > You have pretty granular caching needs, Well, not _really_. You want access to the latest reading and eventually access to a previous reading if you don't need super fresh data (i.e. geolocation might be happy with a reading that's a few seconds old in some cases). > it strikes me as strange to have them built into the sensor itself. That I buy for the current sensor reading. If you're talking about a data point that's seconds to minutes older, you want this to sit at a lower level (e.g. in the sensor hub itself), so as to be cross-origin and even cross-apps. > By splitting up the responsibility you can design both separately; you can also think about cases in which you would make the cache user-replaceable so that devs could fine-tune the caching behaviour they want. I don't think this method actually prevents API consumers to bring their own cache. It's just a convenience for the most common case. -- GitHub Notification of comment by tobie Please view or discuss this issue at https://github.com/w3c/sensors/issues/88#issuecomment-194834219 using your GitHub account
Received on Thursday, 10 March 2016 13:07:36 UTC