Automotive android

34
Automotive Android Godfrey Nolan

description

Connecting Android apps to Ford Sync and other OEM SDKs

Transcript of Automotive android

Page 1: Automotive android

Automotive AndroidGodfrey Nolan

Page 2: Automotive android

Agenda

• The next big thing

• So many options

• Getting to market

• Sample App

• Caveats

• Predictions

Page 3: Automotive android

The Next Big Thing

Page 4: Automotive android

So Many Options

Page 5: Automotive android

Business Models

Page 6: Automotive android

Business Models

Page 7: Automotive android
Page 8: Automotive android

Head Unit Apps - examples

Page 9: Automotive android

Smartphone Link

Page 10: Automotive android

Smartphone Link - examples

Page 11: Automotive android

Smartphone Link – AppLink v1

Page 12: Automotive android

Smartphone Link – AppLink v2

Page 13: Automotive android

Lockscreen - Parkmobile

Page 14: Automotive android

Remote APIs

Page 15: Automotive android

Remote API - examples

Page 16: Automotive android

Bluetooth Dongle

Page 17: Automotive android

Bluetooth Dongle

Page 18: Automotive android

Bluetooth Dongle

Page 19: Automotive android
Page 20: Automotive android

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

Page 21: Automotive android

Other Manufacturers SDK’s

Page 22: Automotive android

Testing

Page 23: Automotive android

Ford Sync Life Cycle

Page 24: Automotive android

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

Page 25: Automotive android

AppLinkService.java

Page 26: Automotive android
Page 27: Automotive android
Page 28: Automotive android

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

Page 29: Automotive android

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

Page 30: Automotive android

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

Page 31: Automotive android

Future – Audi Street View

Page 32: Automotive android

Future – MirrorLink

Page 33: Automotive android

Contact Details

[email protected]

• @riisllc, @godfreynolan

Page 34: Automotive android

Ford Demo

• Hello World app

• Lifecycle

• Testing• SyncProxy

• Sync TDK