- From: Felipe Nascimento de Moura <felipenmoura@gmail.com>
- Date: Fri, 25 Nov 2016 11:48:17 -0200
- To: Marcos Caceres <marcos@marcosc.com>
- Cc: public-device-apis@w3.org
- Message-ID: <CAJVBkVkxuYBHuoQDWD5pQa3v_iwMQh0UUUe=YJNvKt1wVCfLGA@mail.gmail.com>
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!
Received on Friday, 25 November 2016 13:49:32 UTC