HTML5 and Device Apis for Automotive: Is It Time to Power Infotainment and Car Portal Applications with Web Technologies?
Total Page:16
File Type:pdf, Size:1020Kb
“Web and Automotive: Shift into High Gear on the Web” - October 2012 W3C Workshop Diana Cheng – Vodafone Group R&D HTML5 and Device APIs for Automotive: Is it time to power Infotainment and Car Portal Applications with Web Technologies? Diana Cheng - [email protected] Introduction for directions on his PC at home before a trip and sending them to his in-car device A key advantage of HTML5 and Device APIs so they are automatically loaded before he is their potential to produce rich cross- starts his trip. Conversely, the user can platform applications with a single core continue with his in-car session (music he codebase. Although customization will be was listening to, walking directions) on his needed to make web applications run mobile phone upon leaving the vehicle. similarly enough on different devices, the development process is simplified in that Given this diversity of devices, which might only one project is managed, only one skill encompass a number of different platforms, set is required (HTML, JavaScript and CSS) web applications present a unique and developers with web expertise are one opportunity to accelerate advancement in of the biggest groups available. Web this sector and bring automotive applications are also attractive in that it is applications and platforms to the masses; easy and immediate to push updates to web applications can, for example, be them, be it new features or bug fixes. All adapted in their user interfaces to the that it takes is to update the application in device using a number of existing the hosting server and the changes are techniques in order to present the best immediately available to all users without experience for every form factor. any need for over-the-air upgrades. Moreover, there seems to be a preference amongst makers of IVI (in-vehicle We are starting to see the emergence of infotainment) systems to put non-critical complete standalone full-web OSes for both applications at a higher level in the desktop (e.g. Chrome OS) and mobile application stack, in a secure sandbox [3] (WebOS, Firefox OS [1], Tizen [2], etc.). [4] (e.g. running within the browser’s These platforms are pushing the existing sandbox) in order to restrict them of access standards implementations as well as to the rest of the system so they cannot implementing deeper integration with the interfere with critical car applications that device by eliminating the overhead of the run directly on top of the native OS. native layer and thus potentially making web applications highly performant without As of today, it is often believed that web the need for high-end devices. Automotive technologies including HTML5 and browser is a space that has seen a very fragmented implementations of Device APIs cannot technology ecosystem; there are currently a provide the same level of user experience number of line-fit systems based on and performance that native applications proprietary platforms as well as others do, but that is highly dependant on the based on Android, Windows, QNX, etc. application. Therefore, in this paper, we These platforms could be enriched and present a few use cases for In-vehicle extended with new applications and Infotainment and Car Portal applications. services but they often currently restrict any We comment on the state of web extension capabilities. This makes technologies, to which extent they can help automotive a niche where opportunities are fulfil these use cases, and for which of them still available to create a convergent more development and work is needed to platform where all parties can benefit from provide a great user experience. a standardized and open approach to application development. In-vehicle Infotainment Applications Automotive services go beyond devices and applications that are used inside the car. This section refers to applications used Each of the devices that a user owns, e.g. while the car is being driven, whether used mobile phones, tablets, TVs and PCs can by the driver himself or other passengers. enhance the experience and each of them IVI systems typically include components provide a particular ease of use for a such as turn-by-turn navigation, (Internet) specific piece of functionality of the entire radio, Bluetooth synchronization for phones automotive experience. For example, the and music devices, social media integration, user might be more comfortable searching navigation via voice commands, etc. 1 “Web and Automotive: Shift into High Gear on the Web” - October 2012 W3C Workshop Diana Cheng – Vodafone Group R&D Applications for IVI systems are nonetheless 2. Speech recognition: Voice is the main not restricted to the driver. Targeting interface for a driver to interact with an in- passengers presents other opportunities for vehicle infotainment system, as it provides monetization such as purchase of paid minimal distraction. Off-the-shelf products content like games, movies, music, etc. with different levels of accuracy are widely available. These are typically embedded 1. Session handover: an important aspect applications running on selected platforms of the user experience in automotive and hardware [8]. applications is for the user to be able to For Web applications to make use of speech continue his in-car session when leaving recognition the W3C Speech Input API spec the vehicle, e.g., the user might want to [9] was developed. Even though the spec is continue listening to his music or radio on agnostic of the underlying speech his mobile device or he might need walking recognition implementation (server-based directions to his final destination after or embedded) currently the only available having parked the car at an available implementation is in the Chrome browser location which might be far from the site he which accesses a Google backend server, really wants to reach. i.e. the captured audio is uploaded and a usable transcribed string is returned. This automatic session-handover can be This server-based mechanism is applicable realised both with native and mobile web for in-vehicle applications as long as technologies. On Android for example, a Internet connectivity (and a reasonable push notification server can send a “wake- bandwidth) can be guaranteed. Given that up” message to the mobile device which will connectivity in the car is provided by start the music or map application for it to cellular networks of variable coverage pull the necessary information to carry on according to the location (possible bad with the session, such as minute and signal in the countryside, going through second of the track being listened to, or the tunnels, etc.) and the high speed at which car’s actual and final destination locations cars move, relying 100% on backend in order to plot and present to the user the Internet services becomes unpractical, relevant walking directions. especially as a speech interface should be available at all times. At the minimum, basic Server-Sent Events [6] provide a mechanism speech recognition capabilities should be for the browser to receive standard DOM available offline, while the events from the server even when the majority and the most advanced features application is in the background so they could still rely on a backend server. We are provide a way to similarly synchronize web starting to the emergence of such offline applications for the session handover support in mobile OSes, such as in the described above. latest version of Android, 4.1 or Jelly Bean [10]. WebSockets [6] provide a full duplex communication channel between a web Text-to-speech (TTS) is also a requirement server and the browser, and this can be for tasks such as reading of incoming SMS, used as well when a bidirectional providing real-time updates and for giving communication is required, such as, besides driving directions (as discussed in the next from receiving events from the server, also item), and it encounters the same pushing the device location, for example. limitations described above for speech The downside of WebSockets is that the recognition. For example, the Google “web page” needs to be active in order for Translate API provides TTS capabilities and the bidirectional channel to remain open, it can be used to send the text via HTTP and i.e. it needs to be in the foreground and if receive back an mp3 file to be played in the it’s run within a multi-tab browser, the tab browser, both of which require Internet needs to be active, otherwise when the connectivity in order to work. There is yet timeout is reached the connection will be no currently implementable spec in the W3C lost and no further updates will be for TTS; Google previously proposed one delivered. In a session-handover scenario (see: [11]), but after the W3C HTML Speech this means that upon leaving his vehicle, Incubator Group issued its final report [12], the user needs to actively start the music or there is a new proposal which encompasses map web application and only then the both speech recognition and synthesis for session synchronization will take place via web applications [13] and the possibility of WebSockets. a Community Group being formed. So we might see this becoming standardized and Although libraries and polifylls exist, both supported in browsers in the future. Server-Sent Events and WebSockets still lack support amongst mobile browsers [6]. 3. Navigation Systems: Even though sophisticated dedicated navigation systems 2 “Web and Automotive: Shift into High Gear on the Web” - October 2012 W3C Workshop Diana Cheng – Vodafone Group R&D are becoming accessible to most drivers in widgets as self-contained packages do not mature markets, HTML5 provides today benefit from the immediate distribution and sufficient capabilities for several of the update facilities of hosted web apps which features of a purely-web navigation system.