Js in Automotive - JS.everywhere(2013)
-
Upload
alexandre-morgaut -
Category
Technology
-
view
1.527 -
download
0
Transcript of Js in Automotive - JS.everywhere(2013)
![Page 1: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/1.jpg)
JS in AutomotiveJS.everywhere(2013) - Treasure Island, SFAlexandre Morgaut
![Page 2: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/2.jpg)
PresentationAlexandre Morgaut
W3C AC member
Wakanda Team
Community manager
Web Architect
JS, REST, NoSQL
W3C “jseverywhere“ community group
@amorgaut
![Page 3: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/3.jpg)
W3C Business Group
http://www.w3.org/community/autowebplatform/
![Page 4: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/4.jpg)
MembersIntelQNXVerisignOperaNokiaBlackberryVodaphoneSharp
PorscheHyundaiVolkswagenFord*Continental Automotive*KKDILG Electronics...
![Page 5: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/5.jpg)
QNX Architecture
![Page 6: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/6.jpg)
Why HTML5 for Auto
Build on something bigger than automotiveEcosystem – developers, tools, companiesStandards – no vendor lock-inFlexibility – fluid deployment and architecturesBranding – brand same app on different cars with CSSLifespan – will be supported for long timeTime to market – easy to use and leveragePowerful – rich application environmentCross-platform – deploy apps on phones and car
![Page 7: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/7.jpg)
Other SolutionsAndroid
Compatibility limited to Android devices
Android not yet automotive grade
MirrorLink
Responsiveness lacking today
Solves phone to car problem, nothing else
![Page 8: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/8.jpg)
TIZEN IVI in Jaguar LandRover
The proof of concept has been created on openly available hardware with an Intel CPU, using the Tizen open source Linux distribution as a software platform with latest HTML5 graphical user interface. Tizen was chosen as a GENIVI compliant reference.http://www.tizenexperts.com/2013/04/jaguar-land-rover-kerjasama-dengan-xchanging-dan-arynga-untuk-update-software-tizen-ivi/
http://tizentalk.com/2013/05/tizen-ivi-proof-of-concept-on-the-land-rover/
![Page 9: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/9.jpg)
JavaScript API
![Page 10: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/10.jpg)
Considered W3C APIsWeb Sockets
App Cache
Web Storage
Geolocation
Device Orientation
Web Audio
Media Capture
Proximity Sensor
Telephony API
...
http://www.w3.org/community/autowebplatform/wiki/Main_Page/CollectionOfApis
![Page 11: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/11.jpg)
API proposals
Genivi
Tizen
QNX
Webinos
http://www.w3.org/community/autowebplatform/wiki/Main_Page#Auto_and_Web_Platform__API_draft_proposals
![Page 12: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/12.jpg)
Genevi/LGE code example
// Define constants for transmissionGearTypevar TRANSMISSIONGEARTYPE_AUTO = 1;var TRANSMISSIONGEARTYPE_MANUAL = 2;// Get a transmission gear type from VehicleInfoEventvehicle.get("vehicleinfo_transmissiongeartype", handleVehicleData, handleError)
function handleVehicleData(data) { if (data.transmissionGearType == TRANSMISSIONGEARTYPE_AUTO) { console.log("Automatic transmission equipped"); } else if (data.transmissionGearType == TRANSMISSIONGEARTYPE_MANUAL) { console.log("Manual transmission equipped"); }}
![Page 13: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/13.jpg)
Tizen code example
navigator.vehicle.get("HVAC", onsuccess, onerror); function onsuccess(value) { var hvacsettings = value; value.AirflowDirection = value.AIRFLOWDIRECTION_FRONT | value.AIRFLOWDIRECTION_DEFROSTER; navigator.vehicle.set("HVAC", value, onsetsuccess, onerror);}function onerror(e) { window.console.error(e.message);}function onsetsuccess() { window.console.log("success!");}
![Page 14: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/14.jpg)
QNX code example
//define a callback functionfunction myCallback(audioMixerItems) { //iterate through the changed items for (var i = 0; i < audioMixerItems.length; i++) { console.log( //a car.audiomixer.AudioMixerSetting value "audio mixer item setting = " + audioMixerItems[i].setting + '\n' + //a car.Zone value "audio mixer item zone = " + audioMixerItems[i].zone + '\n' + //a numeric value "audio mixer item value = " + audioMixerItems[i].value + '\n\n' ); }}
var watchId = car.audiomixer.watchAudioMixer(myCallback);
![Page 15: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/15.jpg)
Webinos code example
// checking if driver door is openend. vehicleService is the vehicle service, // discovered through the webinos Discovery API, // that has been selected by the user vehicleService.vehicle.addEventListener("doors", doorHandler); function doorHandler(doors){ if(doors.driver){ document.getElementById("info").innerHTML = 'Please close driver door'; } }
![Page 16: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/16.jpg)
![Page 17: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/17.jpg)
![Page 18: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/18.jpg)
![Page 19: Js in Automotive - JS.everywhere(2013)](https://reader033.fdocuments.net/reader033/viewer/2022060107/554a0272b4c905507a8b4ff6/html5/thumbnails/19.jpg)
Thanks
http://www.w3.org/community/autowebplatform/
@amorgaut http://about.me/amorgaut