- From: Philipp Hoschka <ph@w3.org>
- Date: Thu, 17 Apr 2014 18:05:19 +0200
- To: Marc Lapierre <mlapierre@qnx.com>
- CC: "Abramski, Adam M" <adam.m.abramski@intel.com>, Tina Jeffrey <tjeffrey@qnx.com>, "public-autowebplatform@w3.org" <public-autowebplatform@w3.org>, Nik Schultz <nschultz@qnx.com>, "Vadim Draluk (vadim.draluk@gm.com)" <vadim.draluk@gm.com>, Brian Leroux <brianl@adobe.com>
- Message-ID: <534FFBBF.4050406@w3.org>
On 4/16/2014 6:10 PM, Marc Lapierre wrote: > Hi guys, > > The idea behind Cordova for us is that is that it is essentially the > main cross platform method of providing access to native > services. With the proposed implementation, the vehicle object living > inside the navigator object implies that the API will live on the web > platform directly. There's nothing wrong with this per se, however > this implies that the APIs will only be accessible on browser runtimes > on the vehicle itself. If that is the goal, then this is certainly the > more efficient way to implement this API. > > One of our goals is to take this API and make it available to remote > devices for connection to the vehicle. We don't expect those devices > to have the vehicle APIs implemented into their web platform. Cordova > allows us to add the APIs to any device, regardless of their web > platform implementation > > That said, there is nothing technically stopping us from making a > Cordova plugin that will simply add the API onto the navigator object. > It isn't really the typical way of doing thing, I'm not sure it isn't the typical say of doing things in Cordova - I'm not a great expert, but at least, quickly checking the camera API, at least the camera seems to be added to the navigator object in Cordova - quoting from http://cordova.apache.org/docs/en/3.3.0/cordova_camera_camera.md.html#Camera > |navigator.camera.getPicture <http://cordova.apache.org/docs/en/3.3.0/cordova_camera_camera.md.html#camera.getPicture>( cameraSuccess <http://cordova.apache.org/docs/en/3.3.0/cordova_camera_camera.md.html#cameraSuccess>, cameraError <http://cordova.apache.org/docs/en/3.3.0/cordova_camera_camera.md.html#cameraError>, [ cameraOptions <http://cordova.apache.org/docs/en/3.3.0/cordova_camera_camera.md.html#cameraOptions> ] );| So is compass > |navigator.compass.getCurrentHeading <http://cordova.apache.org/docs/en/3.3.0/cordova_compass_compass.md.html#compass.getCurrentHeading>(compassSuccess <http://cordova.apache.org/docs/en/3.3.0/cordova_compass_compass.md.html#compassSuccess>, compassError <http://cordova.apache.org/docs/en/3.3.0/cordova_compass_compass.md.html#compassError>, compassOptions <http://cordova.apache.org/docs/en/3.3.0/cordova_compass_compass.md.html#compassOptions>);| (won't go through all of them) > > My main comment was more to keep in mind how a typical implementation > will look in the grand scheme of things, and to start thinking about > how a remote device implementation would work. I'm not aware of Cordova being used for APIs to remote devices (but again, I'm far from an expert) - however, more generally, I've seen JS app architectures (at least on paper) where a "local api" would be proxied and any calls then redirected to the remote device - this would be transparent to the caller - I'd assume one could do the same for a vehicle API running on a phone
Received on Thursday, 17 April 2014 16:05:51 UTC