Re: [generic-sensor] - Sensors API - core

Hi there,

There is work ongoing to get a "global" into ES itself. It is at stage 3
now accoding to

https://github.com/tc39/proposals/commit/cd8f918003ecf510a1be70ccaff2a56488b6699e

So that looks like it will make it into the standard soon, replacing the
need for self or window and a global Sensors object.

Cheers
Kenneth

On Tue, Nov 29, 2016 at 12:33 AM Felipe Nascimento de Moura <
felipenmoura@gmail.com> wrote:

> by the way...what about self?
>
> self.sensors...
>
> On Mon, Nov 28, 2016 at 8:37 PM, Felipe Nascimento de Moura <
> felipenmoura@gmail.com> wrote:
>
> Hi.
> well, that's a good point, indeed!
> But
>
> window.addEventListener('deviceorientation', ... )  // depends on window.
> navigator.battery.level // depends on navigator
> window.addEventListener('deviceproximity', ... ) // depends on window
> navigator.getUserMedia( ... ) // depends on navigator
> window.addEventListener('devicelight', ... ) // depends on window
> navigator.geolocation.getCurrentPosition( ... ) // depends on navigator
>
> We got the same problem.
> Maybe the global `Sensors` is indeed the best option.
>
>
>
> On Mon, Nov 28, 2016 at 8:19 PM, Menard, Alexis <alexis.menard@intel.com>
> wrote:
>
> Hi,
>
> The fact also that it doesn’t depends on navigator is I believe so that it
> can address JavaScript environments where navigator is not available, think
> of NodeJS in an IoT world. This is typically a place where your NodeJS app
> will query the sensors on the board and do something with it. Depending on
> the DOM is also not really an option.
>
> Thanks.
>
> On Nov 25, 2016, at 5:48 AM, Felipe Nascimento de Moura <
> felipenmoura@gmail.com> wrote:
>
> Hi.
>
> Reading this e-mail:
> http://lists.w3.org/Archives/Public/public-device-apis/2016Nov/0024.html
> I could add now, yet a new different pattern to the list I showed in the
> first e-mail:
>
> ```
> let sensor = new Magnetometer(); // new instance of a global Constructor
> sensor.start();
>
> sensor.onchange = function(event) { ... };
> ```
>
> I think this is the moment for us to think about a `core` for sensors,
> like `navigator.sensors....` :)
>
>
> On Thu, Nov 24, 2016 at 1:06 PM, Felipe Nascimento de Moura <
> felipenmoura@gmail.com> wrote:
>
> > https://github.com/w3c/sensors  ... some are already supported in
> Chrome ;)
>
> nice, I have already done some tests with the currently supported ones,
> but even though, I think an aggregator for all the sensors is very
> important. Even for hacking and discoverability.
>
> navigator.sensors.tirePressure().then( ... )
>
> Actually, navigator.sensors could even have a "getter" for any method that
> does not exist to return a rejected promise, instead of a "undefined is not
> a function" error.
> This way, calling
> `navigator.sensors.anInexistingSensor().then(...).catch(...)` would reject
> until the sensors was created or supported.
>
> Thinking it further, we could even have a `navigator.sensors.create` with
> a pattern for developers to create their own sensors based in other
> information...let's say:
>
> ```
> navigator.sensors.create("darkRoom", function(mySensor){
>   Promise.all([
>     navigator.sensors.light(),
>     navigator.sensors.proximity()
>   ]).then(function([lightSensor, proximitySensor]){
>     // combine lightSensor and proximity to identify when the room is dark
>     // and the device is not inside a pocket, for example
>     // you can dispatch events here on mySensor
>   });
> });
>
> // then, afterwards
>
> navigator.sensors.darkRoom().then(darkRoomSensor=>{
>   darkRoomSensor.addEventListener(...);
> });
> ```
>
> Did I go too far? :p
>
>
> On Thu, Nov 24, 2016 at 3:04 AM, Marcos Caceres <marcos@marcosc.com>
> wrote:
>
> On November 24, 2016 at 3:41:07 PM, Felipe Nascimento de Moura
> (felipenmoura@gmail.com) wrote:
> > I think I should be able to type "navigator.sensors" in my console and
> see
> > even an autocomplete with the possibilities.
>
> https://github.com/w3c/sensors  ... some are already supported in Chrome
> ;)
>
>
>
>
> --
> [ ]s
>
> *--*
>
> *Felipe N. Moura*
> Web Developer, Google Developer Expert
> <https://developers.google.com/experts/people/felipe-moura>, Founder of
> BrazilJS <https://braziljs.org/> and Nasc <http://nasc.io/>.
>
> Website:  http://felipenmoura.com / http://nasc.io/
> Twitter:    @felipenmoura <http://twitter.com/felipenmoura>
> Facebook: http://fb.com/felipenmoura
> LinkedIn: http://goo.gl/qGmq
> ---------------------------------
> *Changing  the  world*  is the least I expect from  myself!
>
>
>
>
> --
> [ ]s
>
> *--*
>
> *Felipe N. Moura*
> Web Developer, Google Developer Expert
> <https://developers.google.com/experts/people/felipe-moura>, Founder of
> BrazilJS <https://braziljs.org/> and Nasc <http://nasc.io/>.
>
> Website:  http://felipenmoura.com / http://nasc.io/
> Twitter:    @felipenmoura <http://twitter.com/felipenmoura>
> Facebook: http://fb.com/felipenmoura
> LinkedIn: http://goo.gl/qGmq
> ---------------------------------
> *Changing  the  world*  is the least I expect from  myself!
>
>
>
>
>
> --
> [ ]s
>
> *--*
>
> *Felipe N. Moura*
> Web Developer, Google Developer Expert
> <https://developers.google.com/experts/people/felipe-moura>, Founder of
> BrazilJS <https://braziljs.org/> and Nasc <http://nasc.io/>.
>
> Website:  http://felipenmoura.com / http://nasc.io/
> Twitter:    @felipenmoura <http://twitter.com/felipenmoura>
> Facebook: http://fb.com/felipenmoura
> LinkedIn: http://goo.gl/qGmq
> ---------------------------------
> *Changing  the  world*  is the least I expect from  myself!
>
>
>
>
> --
> [ ]s
>
> *--*
>
> *Felipe N. Moura*
> Web Developer, Google Developer Expert
> <https://developers.google.com/experts/people/felipe-moura>, Founder of
> BrazilJS <https://braziljs.org/> and Nasc <http://nasc.io/>.
>
> Website:  http://felipenmoura.com / http://nasc.io/
> Twitter:    @felipenmoura <http://twitter.com/felipenmoura>
> Facebook: http://fb.com/felipenmoura
> LinkedIn: http://goo.gl/qGmq
> ---------------------------------
> *Changing  the  world*  is the least I expect from  myself!
>

Received on Tuesday, 29 November 2016 13:28:01 UTC