android auto
TRANSCRIPT
Android Auto
Developers, Start your Engines!
By:- Dhiraj Bharara
The Smartphone Realm
Phones contains our Contacts, Music, Appointments and a whole lot of information.
Phones are connected to internet and cloud.
A person checks his phone 125 times/day on an average
The Car Realm
Cars are vital for our life & indispensable
Used in trips, take us to work.
An average American spend 90 minutes daily in car.
25% of the accidents are due to fumbling with phone while driving.
Disconnected!
Car Pardigm Smartphone Paradigm
Using phone while driving: Life threatening Using phone while driving is still done, as its compelling to do. Phones provide a personlaize experience, we need to get that to the car.
Developers have Challenges to mingle the two realms
Many Auto Platforms
Distribution difficulties
Abiding Safety Regulations
Connectivity + Personalization
Googles Journey in Auto space
These are Cloud connected solutions
Geo data delivered to internet connected cars
These are available in the market and running.
Car Robust HardwareGiant Battery
6 inch Touch screen
Accessible Controls on steering
Mike
Surround speaker & Driver speakerGPS
Compass
Varied Car hardware
Control systems in cars from different manufaturers, are different.
Android Auto will handle these issues out. Application developers do not have to care about it.
Android + Car(A Personalised Experience)
Google collaborated with car manufaturers to integrate with the car Head Unit & the underlying hardware.
Android L Car Head Unit
Internal Diagram of the Integration
The low level hardware in the car communicates with the Android protocol.
On the car end: Android Auto Receiver Library
A small library in the car, Android Auto Receiver Library.
Its a protocol stack & a set of interfaces to the car hardware.
It allows automakers to consistently integrate car hardware with Android auto.
On the phone end: Car Service
The other end of the protocol stack is component called car service.
Car service is distributed in Google play service.
UI & UX The UX team at google have pondered a lot, after going through a
whole lot of legal and safety regulation documents world over.
So you don't have to go through the legal aspects involved.
No Youtube videos or no gaming on the car head unit. Minimal driver distraction.
Things taken care by UX team font size, contrast ratio, maximum task completion time etc.
UI & UX The Landing page
Mike on Top right corner to verbally interact
Activity Bar
Navigation Communication MediaCar Related Stuff
Google Voice comes to your rescue!
Connected to Google Knowledge graph. You can ask it almost anything. To navigate somewhere. To set reminders. Call somebody Text a friend. Ask it to play media. Ask anything related to Google knowledge graph. "What will be the weather tomorrow?"
Peeping Inside! To format the data while
communicating google uses Protocol Buffer.
Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data
They are an open source google Technology.
It allows to add new features, whilst retaining backward compatibility.
UI Interactions
Different Input methods viz. Touch Screens and hard rotary controllers
Routing Audio: Based on type of audio
Music is played to all speakers. Navigation instructions are played to driver's speakers. The car and android negotiate for audio focus at times. The car audio has higher priority, to ensure delivery of safety critical notifications.
More Accurate Driving Directions
More Accurate Driving Directions
Google Maps is much easier & more visible on a large screen-front & center-on the mount of dashboard.
Google has redesigned the maps, for Horizontal aspect ratio
The UI is optimized for use in car.
Biggest advatages of Google maps, is it uses Fused Location provider. Use the GPS data from the car.
We can also use Car's compass,gyroscopes, wheel speed and other positioning sensors to work out the exact position.
Apps Supported
Prerequisites
Android 5.0 (API level 21) provides new APIs for implementing audio playback and messaging that is compatible with Auto.
Set targetsdkversion to 21 in the manifest.
Install the support library: If you are building messaging apps for auto, you need the NotificationCompat.CarExtender class contained in the v4 Support Library.
Above class allows you to create notifications that are compatible with Auto devices.
Two places to make entry
Entry in an XML file
Specify the car capabilities that your app uses in an XML.
Create a file called automotive_app_desc.xml and store it under your projects’s res/xml/ folder.
The files contains the following metadata
The name attribute indicates the specific capability of your app. Allowed values are Notification & Media.
Add a manifest entry
Add a "com.google.android.gms.car.application" metadata entry under the <application> element that references the auto xml configuration file
Apps compatible
Developer Comments
"We were able to get messaging functionality for text implemented easily on Android Auto, with minimal development effort. We're excited to participate in Android Auto which provides a notification interface for the car that is both user-friendly and highly safety-minded."
"Android Auto connects NPR One listeners to a personalized stream of public radio news and stories to catch up on in the car. It's an engaging and driver-safe user experience that was developed using the media APIs provided in Android 5.0. The available development tools made the integration and testing process simple for launching in a short period of time."
Android Auto is coming soon to new cars from these manufacturers
Resources
Google I/O 2014
developer.android.com/auto
developers.google.com
Questions Please?