Date post: | 12-Sep-2014 |
Category: |
Technology |
View: | 12,138 times |
Download: | 0 times |
The Programmable Car
Brian Mulloy@landlessness
Apigee@apigee
Apps, APIs, Data and Ecosystems
groups.google.com/group/api-craft
groups.google.com/group/app-craft
youtube.com/apigee
slideshare.net/apigee
@landlessness
@apigee
http://www.entertainmentearth.com/prodinfo.asp?number=RC452#.UZuueCuAewQ
http://bentley.umich.edu/research/guides/automotive/images/gmlineworkers.jpg
http://techcrunch.com/2010/05/22/an-insiders-look-at-fords-virtual-reality-design-tools/
http://techcrunch.com/2010/05/22/an-insiders-look-at-fords-virtual-reality-design-tools/
http://www.examiner.com/slideshow/chevrolet-to-show-spark-ev-at-la-auto-show-first-pure-electric-for-gm
The amount of software in the average vehicle has grown exponentially — a typical new car has about 100 million lines of code — with the advent of sophisticated, cloud-connected infotainment systems. Software has become a competitive advantage as vital to General Motors or Toyota as it is to Apple or Google.
“
Doug Newcomb“The Next Big OS War Is in Your Dashboard”
Wired, December 3rd, 2012
http://idealab.talkingpointsmemo.com/2013/01/toyota-test-driving-autonomous-vehicles-in-michigan.php
For developers who have been making apps for smartphones…
http://afterdarkmusings.blogspot.com/2013/02/why-samsung-galaxy-siv-release-is-good.html
…and open source hardware…
http://scoolbell.wordpress.com/2012/10/30/how-arduino-is-open-sourcing-imagination/
…the car is a dream platform.
http://www.netcarshow.com/bmw/2013-4-series_coupe_concept/
Three programmable car scenarios:
1. Smartphone App within the Car2. Smartphone App without the Car3. Head Unit App
Smartphone App within the Car
Example: using the car’s display and controls to play music on the developer’s smartphone app.
Bluetooth
Head Unit Smartphone
App
Ford AppLink provides Android and iOS SDKs for developers.
For Android, the developer adds Ford’s .jar files to the app project.
For iOS, the developer imports Ford’s XCode project files and links them to the app’s project.
public void onOnButtonPress(OnButtonPress notification) { if(notification.getButtonName() == OK) { _audioDetails.startAudioPlayer(); }}
Android
Ford AppLink SDK Examples
- (void) onOnButtonPress:(FMOnButtonPress*) notification { if (notification.buttonName == [FMButtonName OK]) { [audioController startMusic]; }}
iOS
Smartphone App without the Car
Example: start the car parked at the airport parking lot while the user is at baggage claim.
Car CompanyData Center
Smartphone
App
WebWeb
Car
HTTP APIProprietarySMSMQTT
GM provides a simple web API for developers.
The developer registers at GM’s developer portal and requests an access token.
HTTP & OAuth 2.0
GM Remote API
POST /api/v1/account/vehicles/{vin}/commands/start
Authorization: Bearer 490699ea3c903790c600f82042f27947
Head Unit App
Head Unit
App
App Developer’sMobile Backend
Web
HTTP API
GM provides an HTML5 and JavaScript internet apps framework and emulator for developers.
The developer submits a developer agreement, downloads the SDK, builds the app and submits it to the GM AppShop.
gm.system.getSpeed();
gm.info.getRadioInfo(success, failure);
gm.comm.webServiceRequest(success, failure, options);
JavaScript
GM In-Vehicle JavaScript API
The progress is tangible.
What are the risks?
Traditional software platforms must account for two key vectors:
Features
Security
Three-legged auth helped us a bunch.
The car as platform must add an important third vector:
Physical safety
http://redtri.com/seattle/forget-the-sunscreen-a-cool-indoor-sand-oasis-for-seattle-kids/
There’s another inherent issue.
Car: $30,303Washing Machine: $1,012Smartphone: $200
Car: 10 yearsWashing machine: 10 yearsSmartphone: 21 months
There is a frequency mismatch between consumer electronics and automobiles.
And then there’s culture.
AppUser
Platform Company
APIAppApp
StoreApp
Developer
Customer CarCompany
Tiers of Suppliers
CarCar Dealer
Customer CarCompany
Tiers of Suppliers
CarCar Dealer
CarAPIsApp
AppDeveloper
?
CustomerCar
CompanyTiers of Suppliers
CarCarAPIs
App AppDeveloper
Car Dealer
TinkeringMechanicalEngineering
ElectricalEngineering
ConsumerElectronics
SoftwarePlatforms
FordBenz Kettering Galvin Musk
APIs make cars a software platform, not just a hardware platform. That is where the high velocity innovation is going to happen.
Running a platform is like running a small town. A lot of it is about governance and policies -- very little is about the tech. The most valuable platforms provide a large audience + user acquisition or unique data. Cars have the potential to offer both.
“
Ryan SarverProduct/BD, Platform TeamTwitter
Running a developer platform is difficult.
It’s about winning the hearts and minds of app developers.
Minds: Vehicles Sold in Q1 2013
Tesla GM
4,900 2,360,000
Hearts: ZOMG Tesla has an API!
Except they don’t.
A developer reverse-engineered the API used by Tesla’s apps.
Which is exactly what happens when you when the heart of a developer.
What is Apigee’s role in the programmable world?
OEM Data Center
Web
Smartphonewithin the Car
Smartphonewithout the CarHead Unit
Developer Channel
AppDeveloper
MAx MAx MAx
API Gateway App ServicesAPI Analytics
Bluetooth
http://bentley.umich.edu/research/guides/automotive/images/gmlineworkers.jpg
The car is a compelling component of the internet of things.
Questions?
THANK YOUSubscribe to API webinars at:
youtube.com/apigee
THANK YOUQuestions and ideas to:
groups.google.com/group/api-craft