- From: Kenneth Rohde Christiansen <kenneth.christiansen@gmail.com>
- Date: Tue, 29 Nov 2016 13:27:12 +0000
- To: Felipe Nascimento de Moura <felipenmoura@gmail.com>, "Menard, Alexis" <alexis.menard@intel.com>
- Cc: Marcos Caceres <marcos@marcosc.com>, "public-device-apis@w3.org" <public-device-apis@w3.org>
- Message-ID: <CAEC208tahBw_=fSro7rcj=OXUwmyOVq4nyuR8egQ-GvzCQ=RXg@mail.gmail.com>
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