Automotive AndroidGodfrey Nolan
Agenda
• The next big thing
• So many options
• Getting to market
• Sample App
• Caveats
• Predictions
The Next Big Thing
So Many Options
Business Models
Business Models
Head Unit Apps - examples
Smartphone Link
Smartphone Link - examples
Smartphone Link – AppLink v1
Smartphone Link – AppLink v2
Lockscreen - Parkmobile
Remote APIs
Remote API - examples
Bluetooth Dongle
Bluetooth Dongle
Bluetooth Dongle
Manufacturer’s SDKs
• Ford • developer.ford.com
• Ford Sync, Applink v2.x now with vehicle data
• Moving to QNX in the future
• GM• developer.gm.com
• Remote APIs – Onstar data for smartphones
• In Vehicle APIs
• Accepting Remote API apps since Feb ‘14
Other Manufacturers SDK’s
Testing
Ford Sync Life Cycle
HelloWorld App
• AppLinkReceiver• SyncProxy relies on bluetooth intents• Publish BT Service Discovery so Sync can connect
• AppLinkService• Send App ID• onOnHMIStatus() - the guts of your app• Subscribe to buttons, register addcommands, send
initial show or speak command …
• LockScreen• MainActivity
• Start SyncProxy• Resets SyncProxy (crash or user reset)• Start Lockscreen
AppLinkService.java
Please fill out each of the cells under the title 'Value' where applicable
If you have any questions, please use the Community Forums or the Contact Us form
Send to: [email protected]
ESNs for development units
List all ESNs of any TDKs or vehicles, separated by commas
Find your ESN:
On MDF display: Menu button -> SYNC-Settings -> SystemInfo -> Vendor Group
This should be the full name of your company or organization, or
your name if you are a single developer
(i.e. we would use Ford Motor Company and not just Ford)
Device Platform
(Android or iOS)
*Request a different appID for each platform
Application Name & Nicknames
This should be every name, and any translated names, the
application will register with the vehicle. Please separate each
name with a Comma.Application Description
This is a short description of your app. (i.e. what is/will listed in
the app store(s))
Default HMI
This is the default HMI state your app will enter after registering
with SYNC. 'HMI_Background' enables access to notifications or
vehicle data directly after registeration as well as resuming after
an ignition cycle.
Navigation functional Group
NO
Vehicle Data - Vehicle Information
NO
Vehicle Data - Driving Characteristics
NO
Vehicle Data - GPS & SpeedNO
NotificationsYES
Notifications Priority (Alerts from HMI Level of BACKGROUND)
Choose NONE if you did not request the Notifications functional
group.
Android
AppID Request Form
Normal
Your Application
RIIS LLC
BetterDriving
Powered by TrafficLand, BetterDriving provides users with
still image snapshots of live traffic conditions in over 100
cities. BetterDriving also uses the Helios imaging system
that use the traffic cameras to provide hyper local weather
data to tell you if the weather conditions are going to
change up ahead as well as alerting you with real-time
None
RPC Permission Groups
This is specific permissions to access other than the basic RPCs
that are given to every application.
You can choose to request access for none, any, or all of the
groups to the right, but must provide all your use case(s) for each
option you request.
EQBC0035
Caveats
• Driver Distraction• Should be mostly voice activated• NHTSA 2/12 guideline, 2 second glance, 12 second total interaction• Locked Screen• Any difficult interactions take place when car is parked• My favorites type transactions
• Make the car experience better
• Only couple lines of text in Ford Sync
• Who pays for any recalls
• More Fragmentation
Future
• Gamification, e.g. Facebook challenges
• Google Projected Mode
• Android Open Automotive Alliance
• Wireless or Cloud Based ODB II
• Cloud based apps
• Mashups
• OTA Dealer recalls
• DSRC – Dedicated Short Range Communications• V2X and V2I• Autonomous cars
Future – Audi Street View
Future – MirrorLink
Ford Demo
• Hello World app
• Lifecycle
• Testing• SyncProxy
• Sync TDK