- From: Mikhail Pozdnyakov via GitHub <sysbot+gh@w3.org>
- Date: Mon, 03 Oct 2016 09:52:27 +0000
- To: public-device-apis-log@w3.org
pozdnyakov has just created a new issue for https://github.com/w3c/sensors: == Sensor construction improvements == On most of the web engines, platform sensor construction requires an async call to obtain information about available sensors and their capabilities. Also in general, constructors should only create and initialize new instance of a class and set its data structures while avoid executing any tasks, therefore constructor should be a pure function without any side effects. However at the moment [sensor construction procedure](https://w3c.github.io/sensors/#construct-sensor-object) contains steps which require platform data, e.g. default sensor configuration (pls see https://github.com/w3c/sensors/issues/128) or reporting mode. Possible solutions are: 1) Explicitly mention in the specification that constructor has no data about real sensors on the platform (it will be fetched only on `start()` call, so some steps should be moved there). Ideally, we should use constructor only for initialization and not execute any tasks there. or 2) Make construction asynchronous for example using the following API proposal: - Introduce async sensor construction using promises. - Each concrete sensor specification introduces a dedicated static ‘request’ method to the Generic ‘Sensor’ API, e.g. : ``` partial interface Sensor { Promise<AmbientLightSensor> requestAmbientLight(); }; ``` - The introduced ‘request’ function might optionally accept sensor construction parameters. The ‘request’ function parameters should be specified separately for each sensor type. ``` partial interface Sensor { Promise<Accelerometer> requestAccelerometer(optional bool includeGravity); }; ``` Please view or discuss this issue at https://github.com/w3c/sensors/issues/138 using your GitHub account
Received on Monday, 3 October 2016 09:52:38 UTC