I like device.capabilities or directly on device. Maybe a naming convention would be a good idea for the different types of things?
Figuring out the properties might take some time. e.g. we may not need a bool for frontFacingCamera, but instead: capabilities.cameras = [ { direction = {'front'/'rear'/'external'}, 'resolution': '1.2MP' }] // an empty array if no cameras capabilities.frontCamera = ref to the first cameras entry with direction='front', or null capabilities.rearCamera = ref to the first cameras entry with direction='rear', or null Other examples: capabilities.locationSensors = [{type:'gps'},{type:'wifi'}] capabilities.gps = ref to {type:'gps'} Do we want any information about the current state of sensors? E.g. bluetooth currently enabled/disabled. My vote would be no, and that this kind of info should be the responsibility of a bluetooth plugin. On Mon, Oct 22, 2012 at 2:55 PM, Brian LeRoux <b...@brian.io> wrote: > The longer view would seem that we would want to think this through > more and give a unified API for any kind of device hardware/sensor > inquiry. I'm a fan of keeping that decoupled from interacting w/ the > objects of introspection too---this should be a core part of the > platform. > > window.device.capabilities.* bucket feels right > > > On Mon, Oct 22, 2012 at 9:06 AM, Josh Soref <jso...@rim.com> wrote: > > For his specific requirement "I need to know if there's a camera", > certainly the camera API could choose not to be available if there's no > camera, and merely: > > > > window.device.camera == false ? > > > > or wherever cordova puts the camera. > > > > A capabilities API is absolutely overkill for his requirements. > > > > (And yes, that W3 RDF monstrosity is too, but that's no reason to even > look at it...) > > > > If the requirement is "I want to be able to lazy load the camera plugin, > and only if there's a camera available", that seems to violate the plugin > model, and the response should be "we promise to try to make the camera > module load/fail quickly if there are no cameras available". > > > > --------------------------------------------------------------------- > > This transmission (including any attachments) may contain confidential > information, privileged material (including material protected by the > solicitor-client or other applicable privileges), or constitute non-public > information. Any use of this information by anyone other than the intended > recipient is prohibited. If you have received this transmission in error, > please immediately reply to the sender and delete this information from > your system. Use, dissemination, distribution, or reproduction of this > transmission by unintended recipients is not authorized and may be unlawful. >