SlideShare a Scribd company logo
1 of 72
Download to read offline
Building Beautiful
High Performance
Connected Car Applications
Jason Wiener
CEO - Hyperdrive
@jasonwiener
Building Beautiful High Performance Connected Car Applications
Serial CTO since 1996
● Part of the founding team or a first-hire
● Assist or lead fundraising (VC/Angel/Revenue)
● Build the POC & technical team
● Launch
● Grow to steady state
● Handoff
● What’s next?
Open wheel racer
Grand Prize Winner of 2015 Toyota Onramp Smart
Mobility Challenge
CEO - Hyperdrive
About Me
Building Beautiful High Performance Connected Car Applications
Hyperdrive
Think: part activity tracker, part driving coach,
part social game.
Hyperdrive makes you a better driver by
making driving fun
Lowest time with the highest MPG owns the
section of road
Profitable & privately-held company
Building Beautiful High Performance Connected Car Applications
● MPG race @ Sonoma Raceway - March 3, 2017
● 20 Teams of 3-5 members
● Build strategies using a web-based telemetry editor
● Test strategies using simulations
● Race w/ real-time in-car feedback
● Team with the best avg MPG over 9 laps wins
SIGN UP at
http://toyotaonramp.com
Toyota
Research
Institute
Toyota Onramp
Driver Strategy Editor
● Use “clips” of captured vehicle data
● Edit like iMovie or Adobe Premiere to
build your race strategy
● Playback on Race Day against
real-time performance using an
onboard iPad
What we’ll
cover
1. Getting car data
2. Storing & retrieving data
by use case
3. Visualizing data
Building Beautiful High Performance Connected Car Applications
Data Capture
Building Beautiful High Performance Connected Car Applications
Data
Capture
> Where do we start?
Adapters or APIs?
Workflow
Sample code
First thing’s first…
What do you want to get your
hands on?
● Telemetry
● Error/Trouble codes
● Location
● YES!
Building Beautiful High Performance Connected Car Applications
Data
Capture
> Where do we start?
Adapters or APIs?
Workflow
Sample code
Telemetry
● Get the current operating values for the car
● Core to data-driven connected car apps
● PIDs
A “go to” reference is the OBD-II PIDs page on Wikipedia
https://en.wikipedia.org/wiki/OBD-II_PIDs
Building Beautiful High Performance Connected Car Applications
Data
Capture
> Where do we start?
Adapters or APIs?
Workflow
Sample code
Error/Trouble Codes
● Get warning indicators
● Useful for notifications
● Drive commerce
Building Beautiful High Performance Connected Car Applications
Data
Capture
> Where do we start?
Adapters or APIs?
Workflow
Sample code
Location
● Get where the car is right now
● Logging activity
● Routing/Directions
● Traffic
● Needs some thinking ahead of time
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
Now the how
● Rely on hardware or software?
● Adapters
○ High-end vs low-end
○ Connectivity options
○ Documentation
● APIs
○ Platforms
○ Availability on vehicles
Building Beautiful High Performance Connected Car Applications
Adapters
● High-end/Best of Breed
○ Automatic
○ GoPoint
○ Vinli
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
Adapters: High-end/Best of Breed
● Pros
○ MFi + Android
○ Location (kinda)
○ Security
○ Higher refresh rates
○ Awesome documentation
○ Example source
○ Great technical support
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
Adapters: High-end/Best of Breed
● Cons
○ Price
○ Pairing
○ Tied to an account elsewhere
○ Adapter-specific integrations
○ If you use it, will they come?
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
Adapters
● Low-end
○ Amazon
○ eBay
○ Alibaba
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
Adapters: Low-End
● Pros
○ Plug and play
○ Cheap (as little as $3)
○ Good adapter for $15
○ Low POC costs
○ Standard chipset (ELM327)
○ Open source community
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
Adapters: Low-End
● Cons
○ Less secure
○ Lower refresh rates
○ No device documentation
○ No technical support
○ Spotty Quality Control
○ BLE 5-10x 2.1 adpater costs
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
APIs
● Vehicle:
○ Smart Device Link
● Cloud:
○ Automatic
○ Vinli
○ Mojio
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
APIs: Vehicle (SmartDeviceLink)
● Pros
○ No adapter necessary
○ Excellent APIs
○ Location
○ Backed by Ford & Toyota
○ Supported by Mazda, Suzuki & more
○ Great documentation
○ Awesome support via Slack
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
APIs
● Cons
○ Only Ford & Toyota right now
○ Presentation limitations
○ App store review process
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
APIs: Cloud
● Pros
○ No hardware integration
○ REST APIs
○ Speed to market
○ Minimal costs
○ Great documentation
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
APIs: Cloud
● Cons
○ Only Vinli has a telemetry API
○ Refresh rate is low
○ Reliance on adapter users
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
> Adapters or APIs?
Workflow
Sample code
Location
● How do we get it?
○ Mobile device
○ Laptop
○ Some adapters
○ SDL
○ Why you have to consider your use case
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
Adapters or APIs?
> Workflow
Sample code
How to approach it
● Start small
● Get something easy working
● Then add complexity
● Mercedes-Benz Hackathon 2015
○ MacBook Pro + Garmin 510 + ieGeek WIFI
● Moved to iOS + WIFI (POC)
● Moved to BLE, Automatic, Vinli, GoPoint
Building Beautiful High Performance Connected Car Applications
Data
Capture
Where do we start?
Adapters or APIs?
Workflow
> Sample code
Sample code
● Python 2.7 + gevent
● Data:
○ Mass Airflow Sensor (MAF)
○ RPM
○ Vehicle Speed (VSS)
● ieGeek OBD II WIFI adapter
http://amzn.to/2jtHn5W
● code: /capture/
Building Beautiful High Performance Connected Car Applications
Data Storage
Building Beautiful High Performance Connected Car Applications
Data
Storage
> How will we use it?
Real-time
Trailing
Session
Snapshots
Now, we have data…
How will we be using it?
● Real-time
● Trailing
● Session
● Snapshots
Building Beautiful High Performance Connected Car Applications
Data
Storage
> How will we use it?
Real-time
Trailing
Session
Snapshots
Do we need to know what’s going
on?
● Will our app update based what’s
happening in the vehicle?
● Will our users consume the data as it
happens?
● What happens to the data after we’ve used
it or our users have seen it?
Building Beautiful High Performance Connected Car Applications
Data
Storage
> How will we use it?
Real-time
Trailing
Session
Snapshots
Do we need to know what’s
happened recently?
● Will we be providing summary data for
users?
○ Week, month, year
i.e. Last week you drove 45 miles at an average of 37 MPG
● Will real-time data interact with recent
data?
i.e. You’re currently driving at 37 MPG, +4 MPG over your last trailing
20-min average
Building Beautiful High Performance Connected Car Applications
Data
Storage
> How will we use it?
Real-time
Trailing
Session
Snapshots
We’re saving everything once the
user finishes driving, right?
● We don’t know what we don’t know, yet.
● Persist for future use
○ New features
○ Trends
○ Machine learning
○ #becausedata
Building Beautiful High Performance Connected Car Applications
Data
Storage
> How will we use it?
Real-time
Trailing
Session
Snapshots
Will user need to browse and
search their data?
● Trips
● Activities
● Cases when we don’t need to whole
session capture
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
> Real-time
Trailing
Session
Snapshots
Real-time
● Enter/exit geofences
● Major events
● Monitoring
● Diagnostics
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
> Real-time
Trailing
Session
Snapshots
Real-time: 2 approaches
● Polling
○ Make a request periodically
○ Old-School
● Long-polling (socket.io)
○ Open a connection, receive updates,
close on quit
○ Popularized by modern activity feeds
and chat clients
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
> Real-time
Trailing
Session
Snapshots
Real-time: Polling
● Pros
○ Existing tool kit
○ Easy to add
○ Just a timer firing a REST request
● Cons
○ Lots of overhead
○ Adds latency to your app
○ Can hammer your servers
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
> Real-time
Trailing
Session
Snapshots
Real-time: Socket.IO
● Pros
○ Better memory management
○ Can support more traffic
○ Built in lifecycle/presence
● Cons
○ Learning curve
○ Different usage pattern over traditional
network calls
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
> Real-time
Trailing
Session
Snapshots
Real-time: Sample code
use with the Capture code
● Polling
○ Python 2.7 + gevent
● Socket.IO
○ Python 2.7
○ HTML+JS (Client)
○ PubNub
https://www.pubnub.com/socket.io/
● code: /storage/real-time/
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
Real-time
> Trailing
Session
Snapshots
Trailing
● Time spans rollups
● Time series
● Can also power real-time stats
● Common uses:
○ Drives this week
○ MPH between 10am - 11am
○ Times you went through the Taco Bell
drive in this month
Building Beautiful High Performance Connected Car Applications
Trailing: Graphite
● Best in class
● Created at Orbitz in 2006
● Hardened/Bombproof
● Solid documentation
http://graphite.readthedocs.org/
● #awesome
Data
Storage
How will we use it?
Real-time
> Trailing
Session
Snapshots
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
Real-time
> Trailing
Session
Snapshots
Trailing: Graphite
● Pros
○ Easy to PUT/GET data
○ Flexible ad hoc metrics
● Cons
○ Django
○ PITA to setup
■ Solution: Hosted Graphite #ftw
https://www.hostedgraphite.com
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
Real-time
> Trailing
Session
Snapshots
Trailing: Sample code
● Python 2.7
● code: /storage/trailing/
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
Real-time
Trailing
> Session
Snapshots
Session Logs
● Text or BLOBs
● Dumping everything you’ve captured from
the user and vehicle during the session
● @ Hyperdrive:
○ Compartmentalized by time
○ Vehicle OFF & no updates for > 5 mins
○ Compressed JSON object
Building Beautiful High Performance Connected Car Applications
Session Logs
● Amazon S3 or Microsoft Azure Storage
● Quickest & easiest
● Write once/read forever
● Use it to create snapshots
● Don’t need SQL or even NoSQL
● Just need a performant key/value store
Data
Storage
How will we use it?
Real-time
Trailing
> Session
Snapshots
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
Real-time
Trailing
> Session
Snapshots
Session Logs: Sample code
● Python 2.7
● boto
● code: /storage/session/
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
Real-time
Trailing
Session
> Snapshots
Snapshots
● Indexed data for common use-cases
● You don’t always need the whole log
● You only need the META
○ Small, cacheable, easy-to-consume
● @ Hyperdrive:
○ Drive summary
■ Distance, MPG, time, etc.
■ Avg 20x smaller than the log
Building Beautiful High Performance Connected Car Applications
Snapshots: How to store them
● MySQL, PostgreSQL, MongoDB
● This way you can also query values
● The model is still write once/read forever,
but who cares
Data
Storage
How will we use it?
Real-time
Trailing
Session
> Snapshots
Building Beautiful High Performance Connected Car Applications
Data
Storage
How will we use it?
Real-time
Trailing
Session
> Snapshots
Snapshots: Sample code
● Python 2.7
● MySQL
● code: /storage/snapshots/
Building Beautiful High Performance Connected Car Applications
Data Visualization
Building Beautiful High Performance Connected Car Applications
Data Viz
> Making data beautiful
Maps
Real-time
History
Now, we’ve captured and stored
the data…
Let’s make it beautiful!
● Maps
● Real-time
● History
Building Beautiful High Performance Connected Car Applications
Data Viz
> Making data beautiful
Maps
Real-time
History
Applying the decisions that lead
up to this point.
● Depending on
○ The data you’ve captured
○ What you want your users to see
○ How they’ll interact with it
● Defines
○ The metaphors you’ll leverage for data
visualization
Building Beautiful High Performance Connected Car Applications
Data Viz
> Making data beautiful
Maps
Real-time
History
Maps
● They’re everywhere now
● All are simple to integrate for the most part
● Top picks:
○ Mapbox
○ Google Maps
○ Apple Maps
○ OpenStreetMap
○ Here
Building Beautiful High Performance Connected Car Applications
Data Viz
> Making data beautiful
Maps
Real-time
History
Maps: deck.gl
● Gorgeous library
● Like d3.js for map data
● Designed for large data sets
● Maintained by Uber
http://uber.github.io/deck.gl/#/
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
> Maps
Real-time
History
Maps
● @ Hyperdrive we use Mapbox
○ Vector maps
○ Killer theme editor
○ Turf.js
https://github.com/turfjs
○ Ability to keep themes on static and
dynamic maps
Building Beautiful High Performance Connected Car Applications
Building Beautiful High Performance Connected Car Applications
Mapbox
Data Viz
Making data beautiful
> Maps
Real-time
History
Mapbox Example:
Sonoma Raceway Map
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
> Maps
Real-time
History
Maps: Sample code
● HTML + JS
● Mapbox library
● code: /dataviz/maps/
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
> Real-time
History
Real-time
● Gauges
● Line graphs
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
> Real-time
History
Real-time: Gauges
● Awesome for expressing a single channel
of data
○ Speed, RPM, MPG, etc
● @ Hyperdrive we use:
○ Raphael.js (web)
http://dmitrybaranovskiy.github.io/raphael/
○ RYO (native mobile)*
Tons of OS libraries on GitHub
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
> Real-time
History
Real-time: Gauges
● How we wire them to work:
○ Shared method for polling, function or
sockets updates
○ Trigger an animated update of the
value
○ ease-in-out @ 0.25 sec = sweet spot for
update durations
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
> Real-time
History
Gauges Example
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
> Real-time
History
Real-time: Line Graphs
● Gives a sense of trends and history
● Updates as it happens
● @ Hyperdrive we use d3.js
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
> Real-time
History
Real-time: Sample code
● HTML + JS
● d3.js
● RaphaelJS
● code: /dataviz/real-time/
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
Real-time
> History
History Data
● Trailing
● Telemetry
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
Real-time
> History
History: Trailing
● Line charts
● Multiplex data together
● @ Hyperdrive we use:
○ d3.js (web)
https://d3js.org/
○ RYO (native mobile)*
Tons of OS libraries on GitHub
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
Real-time
> History
History: Trailing - Approach
● Rolled-up queries from SQL, NoSQL
and/or Graphite
● A single JSON response
● Cacheable
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
Real-time
> History
History: Telemetry
● Line charts
● Stack channels to add context
● Ability to sync cursor interactions
● @ Hyperdrive we use:
○ d3.js (web)
https://d3js.org/
○ RYO (native mobile)*
Tons of OS libraries on GitHub
Building Beautiful High Performance Connected Car Applications
Data Viz
Making data beautiful
Maps
Real-time
> History
History: Telemetry - Approach
● Index data into arrays on time or distance
depending on the use case
● On user interaction (ala mouseover):
○ Handle the cursor position (very simple
math) to get the array position
○ Lookup the data in each channel
○ Display & update readouts
Building Beautiful High Performance Connected Car Applications
Toyota Onramp
Driver Strategy Editor
● Use “clips” of captured vehicle data
● Edit like iMovie or Adobe Premiere to
build your race strategy
● Playback on Race Day against
real-time performance using an
onboard iPad
Data Viz
Making data beautiful
Maps
Real-time
> History
History: Sample code
● HTML + JS
● d3.js
● RaphaelJS
● code: /dataviz/history/
Building Beautiful High Performance Connected Car Applications
What we’ve
covered
1. Getting car data
2. Storing & retrieving data
by use case
3. Visualizing data
Building Beautiful High Performance Connected Car Applications
https://github.com/hyperdriveme
repo: building-beautiful-connected-car-apps
Code
Building Beautiful High Performance Connected Car Applications
http://hyperdrive.me
Thank you!

More Related Content

What's hot

Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Symphony Teleca - The Connected Car Revolution @ Cebit 2014Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Symphony Teleca - The Connected Car Revolution @ Cebit 2014Peter Decker
 
Connected Cars - Use Cases for Indian Scenario
Connected Cars - Use Cases for Indian ScenarioConnected Cars - Use Cases for Indian Scenario
Connected Cars - Use Cases for Indian ScenarioHCL Technologies
 
Enabling the Connected Car Revolution

Enabling the Connected Car Revolution
Enabling the Connected Car Revolution

Enabling the Connected Car Revolution
Cloudera, Inc.
 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...CA API Management
 
WSO2 @ Connected Car
WSO2 @ Connected CarWSO2 @ Connected Car
WSO2 @ Connected CarWSO2
 
Emocon 2015 - 웹 앱 개발자가 모르는 임베디드세상(오토모티브 월드)
Emocon 2015 - 웹 앱 개발자가 모르는 임베디드세상(오토모티브 월드)Emocon 2015 - 웹 앱 개발자가 모르는 임베디드세상(오토모티브 월드)
Emocon 2015 - 웹 앱 개발자가 모르는 임베디드세상(오토모티브 월드)이상한모임
 
Connected Car Services - Generalizing and Simplifying Telematics
Connected Car Services - Generalizing and Simplifying TelematicsConnected Car Services - Generalizing and Simplifying Telematics
Connected Car Services - Generalizing and Simplifying TelematicsToralf Richter
 
How to Make Cars Smarter: A Step Towards Self-Driving Cars
How to Make Cars Smarter: A Step Towards Self-Driving CarsHow to Make Cars Smarter: A Step Towards Self-Driving Cars
How to Make Cars Smarter: A Step Towards Self-Driving CarsVMware Tanzu
 
Startup InsurTech Award - Waypals
Startup InsurTech Award - WaypalsStartup InsurTech Award - Waypals
Startup InsurTech Award - WaypalsThe Digital Insurer
 
Connected Vehicle Webinar for Training
Connected Vehicle Webinar for Training Connected Vehicle Webinar for Training
Connected Vehicle Webinar for Training Elaina Farnsworth
 
IoT services in the automotive sector
IoT services in the automotive sectorIoT services in the automotive sector
IoT services in the automotive sectorPRIME
 
connected car is mobile, social, big data, cloud
connected car is mobile, social, big data, cloudconnected car is mobile, social, big data, cloud
connected car is mobile, social, big data, cloudJoe Speed
 
Automotive Exploitation Techniques by Craig Smith
Automotive Exploitation Techniques by Craig SmithAutomotive Exploitation Techniques by Craig Smith
Automotive Exploitation Techniques by Craig SmithShakacon
 
How to Create a Custom Skill
How to Create a Custom SkillHow to Create a Custom Skill
How to Create a Custom SkillEmily (Hong) Lam
 
Smart Parking Concept - An Internet of Things Solution
Smart Parking Concept - An Internet of Things SolutionSmart Parking Concept - An Internet of Things Solution
Smart Parking Concept - An Internet of Things SolutionrapidBizApps
 

What's hot (20)

Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Symphony Teleca - The Connected Car Revolution @ Cebit 2014Symphony Teleca - The Connected Car Revolution @ Cebit 2014
Symphony Teleca - The Connected Car Revolution @ Cebit 2014
 
Developing for the Connected Car
Developing for the Connected CarDeveloping for the Connected Car
Developing for the Connected Car
 
Connected Cars - Use Cases for Indian Scenario
Connected Cars - Use Cases for Indian ScenarioConnected Cars - Use Cases for Indian Scenario
Connected Cars - Use Cases for Indian Scenario
 
Future Of Driving
Future Of DrivingFuture Of Driving
Future Of Driving
 
Enabling the Connected Car Revolution

Enabling the Connected Car Revolution
Enabling the Connected Car Revolution

Enabling the Connected Car Revolution

 
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
APIs Fueling the Connected Car Opportunity - Scott Morrison, SVP & Distinguis...
 
Big Data Analytics for the Car of the Future
Big Data Analytics for the Car of the FutureBig Data Analytics for the Car of the Future
Big Data Analytics for the Car of the Future
 
WSO2 @ Connected Car
WSO2 @ Connected CarWSO2 @ Connected Car
WSO2 @ Connected Car
 
Emocon 2015 - 웹 앱 개발자가 모르는 임베디드세상(오토모티브 월드)
Emocon 2015 - 웹 앱 개발자가 모르는 임베디드세상(오토모티브 월드)Emocon 2015 - 웹 앱 개발자가 모르는 임베디드세상(오토모티브 월드)
Emocon 2015 - 웹 앱 개발자가 모르는 임베디드세상(오토모티브 월드)
 
Connected Car Services - Generalizing and Simplifying Telematics
Connected Car Services - Generalizing and Simplifying TelematicsConnected Car Services - Generalizing and Simplifying Telematics
Connected Car Services - Generalizing and Simplifying Telematics
 
How to Make Cars Smarter: A Step Towards Self-Driving Cars
How to Make Cars Smarter: A Step Towards Self-Driving CarsHow to Make Cars Smarter: A Step Towards Self-Driving Cars
How to Make Cars Smarter: A Step Towards Self-Driving Cars
 
The Connected Car is Here
The Connected Car is HereThe Connected Car is Here
The Connected Car is Here
 
Startup InsurTech Award - Waypals
Startup InsurTech Award - WaypalsStartup InsurTech Award - Waypals
Startup InsurTech Award - Waypals
 
Connected Vehicle Webinar for Training
Connected Vehicle Webinar for Training Connected Vehicle Webinar for Training
Connected Vehicle Webinar for Training
 
IoT services in the automotive sector
IoT services in the automotive sectorIoT services in the automotive sector
IoT services in the automotive sector
 
connected car is mobile, social, big data, cloud
connected car is mobile, social, big data, cloudconnected car is mobile, social, big data, cloud
connected car is mobile, social, big data, cloud
 
Automotive Exploitation Techniques by Craig Smith
Automotive Exploitation Techniques by Craig SmithAutomotive Exploitation Techniques by Craig Smith
Automotive Exploitation Techniques by Craig Smith
 
How to Create a Custom Skill
How to Create a Custom SkillHow to Create a Custom Skill
How to Create a Custom Skill
 
Software Defined Car
Software Defined CarSoftware Defined Car
Software Defined Car
 
Smart Parking Concept - An Internet of Things Solution
Smart Parking Concept - An Internet of Things SolutionSmart Parking Concept - An Internet of Things Solution
Smart Parking Concept - An Internet of Things Solution
 

Viewers also liked

Social Media Marketing Case Study - Ford
Social Media Marketing Case Study - FordSocial Media Marketing Case Study - Ford
Social Media Marketing Case Study - FordKreata Global
 
Human Computer Interaction - Final Report of a concept Car Infotainment System
Human Computer Interaction - Final Report of a concept Car Infotainment SystemHuman Computer Interaction - Final Report of a concept Car Infotainment System
Human Computer Interaction - Final Report of a concept Car Infotainment SystemRam G Athreya
 
MONETIZING THE CONNECTED CAR, Citi 2013 Connected Car Symposium
MONETIZING  THE CONNECTED CAR, Citi 2013 Connected Car SymposiumMONETIZING  THE CONNECTED CAR, Citi 2013 Connected Car Symposium
MONETIZING THE CONNECTED CAR, Citi 2013 Connected Car SymposiumArynga
 
Ford car on the cloud
Ford car on the cloudFord car on the cloud
Ford car on the cloudBala Iyer
 
The connected car 2011
The connected car 2011The connected car 2011
The connected car 2011Fjord
 
Automobile UX: Emerging Infotainment Systems and In-Car Apps From a User Expe...
Automobile UX: Emerging Infotainment Systems and In-Car Apps From a User Expe...Automobile UX: Emerging Infotainment Systems and In-Car Apps From a User Expe...
Automobile UX: Emerging Infotainment Systems and In-Car Apps From a User Expe...Robert Gardner-Sharp
 
Digital Lifestyle: Car Infotainment & Public Safety Crisis
Digital Lifestyle: Car Infotainment & Public Safety CrisisDigital Lifestyle: Car Infotainment & Public Safety Crisis
Digital Lifestyle: Car Infotainment & Public Safety CrisisNurul Ashikin Ibrahim
 
Predictive Innovations within In-Car Infotainment, Jaguar Land Rover
Predictive Innovations within In-Car Infotainment, Jaguar Land RoverPredictive Innovations within In-Car Infotainment, Jaguar Land Rover
Predictive Innovations within In-Car Infotainment, Jaguar Land RoverInnovation Enterprise
 
In-Car Infotainment Market is Expected to Reach $33.8 Billion, Globally by 2022
In-Car Infotainment Market is Expected to Reach $33.8 Billion, Globally by 2022In-Car Infotainment Market is Expected to Reach $33.8 Billion, Globally by 2022
In-Car Infotainment Market is Expected to Reach $33.8 Billion, Globally by 2022Allied Market Research
 
Your partner for the connected car evolution
Your partner for the  connected car evolutionYour partner for the  connected car evolution
Your partner for the connected car evolutionprhaskitt
 

Viewers also liked (13)

Social Media Marketing Case Study - Ford
Social Media Marketing Case Study - FordSocial Media Marketing Case Study - Ford
Social Media Marketing Case Study - Ford
 
Human Computer Interaction - Final Report of a concept Car Infotainment System
Human Computer Interaction - Final Report of a concept Car Infotainment SystemHuman Computer Interaction - Final Report of a concept Car Infotainment System
Human Computer Interaction - Final Report of a concept Car Infotainment System
 
MONETIZING THE CONNECTED CAR, Citi 2013 Connected Car Symposium
MONETIZING  THE CONNECTED CAR, Citi 2013 Connected Car SymposiumMONETIZING  THE CONNECTED CAR, Citi 2013 Connected Car Symposium
MONETIZING THE CONNECTED CAR, Citi 2013 Connected Car Symposium
 
Ford car on the cloud
Ford car on the cloudFord car on the cloud
Ford car on the cloud
 
The connected car 2011
The connected car 2011The connected car 2011
The connected car 2011
 
Automobile UX: Emerging Infotainment Systems and In-Car Apps From a User Expe...
Automobile UX: Emerging Infotainment Systems and In-Car Apps From a User Expe...Automobile UX: Emerging Infotainment Systems and In-Car Apps From a User Expe...
Automobile UX: Emerging Infotainment Systems and In-Car Apps From a User Expe...
 
Virtual Assistant for car owners | Interactive manual for infotainment & conn...
Virtual Assistant for car owners | Interactive manual for infotainment & conn...Virtual Assistant for car owners | Interactive manual for infotainment & conn...
Virtual Assistant for car owners | Interactive manual for infotainment & conn...
 
Digital Lifestyle: Car Infotainment & Public Safety Crisis
Digital Lifestyle: Car Infotainment & Public Safety CrisisDigital Lifestyle: Car Infotainment & Public Safety Crisis
Digital Lifestyle: Car Infotainment & Public Safety Crisis
 
Connected Vehicle Data Platform
Connected Vehicle Data PlatformConnected Vehicle Data Platform
Connected Vehicle Data Platform
 
Predictive Innovations within In-Car Infotainment, Jaguar Land Rover
Predictive Innovations within In-Car Infotainment, Jaguar Land RoverPredictive Innovations within In-Car Infotainment, Jaguar Land Rover
Predictive Innovations within In-Car Infotainment, Jaguar Land Rover
 
Infotainment system of car
Infotainment system of carInfotainment system of car
Infotainment system of car
 
In-Car Infotainment Market is Expected to Reach $33.8 Billion, Globally by 2022
In-Car Infotainment Market is Expected to Reach $33.8 Billion, Globally by 2022In-Car Infotainment Market is Expected to Reach $33.8 Billion, Globally by 2022
In-Car Infotainment Market is Expected to Reach $33.8 Billion, Globally by 2022
 
Your partner for the connected car evolution
Your partner for the  connected car evolutionYour partner for the  connected car evolution
Your partner for the connected car evolution
 

Similar to Building Beautiful High Performance Connected Car Applications

Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and UpdateChris Schalk
 
Connected Fleet with SAP IoT - Webinar - Westernacher Consulting
Connected Fleet with SAP IoT - Webinar - Westernacher ConsultingConnected Fleet with SAP IoT - Webinar - Westernacher Consulting
Connected Fleet with SAP IoT - Webinar - Westernacher ConsultingWesternacher Consulting AG
 
MongoDB .local London 2019: The Tech Behind Connected Car
MongoDB .local London 2019: The Tech Behind Connected CarMongoDB .local London 2019: The Tech Behind Connected Car
MongoDB .local London 2019: The Tech Behind Connected CarMongoDB
 
AppDynamics User Group
AppDynamics User GroupAppDynamics User Group
AppDynamics User GroupMike Ruangutai
 
Elite EXTRA Routing and Tracking for Deliveries System Overview
Elite EXTRA Routing and Tracking for Deliveries System OverviewElite EXTRA Routing and Tracking for Deliveries System Overview
Elite EXTRA Routing and Tracking for Deliveries System Overviewsusanmarcott1
 
DE - Smart Parking System.pptx
DE - Smart Parking System.pptxDE - Smart Parking System.pptx
DE - Smart Parking System.pptxBhavikSanghar
 
How BiggerPockets runs experiments faster with performance edge
How BiggerPockets runs experiments faster with performance edgeHow BiggerPockets runs experiments faster with performance edge
How BiggerPockets runs experiments faster with performance edgeOptimizely
 
My Researches in VEOLIA
My Researches in VEOLIAMy Researches in VEOLIA
My Researches in VEOLIAamanideutsch
 
Magento vs cs-cart
Magento vs cs-cartMagento vs cs-cart
Magento vs cs-cartBeehexa
 
Anypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetupAnypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetupMergeStack
 
Sidiq Permana - Building For The Next Billion Users
Sidiq Permana - Building For The Next Billion UsersSidiq Permana - Building For The Next Billion Users
Sidiq Permana - Building For The Next Billion UsersDicoding
 
Techprom presentation 1 6-18-10
Techprom presentation 1 6-18-10Techprom presentation 1 6-18-10
Techprom presentation 1 6-18-10Videotomsk
 
TRACKMATE GPS BUSINESS SOLUTIONS
TRACKMATE GPS BUSINESS SOLUTIONSTRACKMATE GPS BUSINESS SOLUTIONS
TRACKMATE GPS BUSINESS SOLUTIONSJon Hererra
 
Company presentation english 1 2015
Company presentation english 1 2015Company presentation english 1 2015
Company presentation english 1 2015Locanisag
 
Techprom presentation 1 6-18-8
Techprom presentation 1 6-18-8Techprom presentation 1 6-18-8
Techprom presentation 1 6-18-8Videotomsk
 

Similar to Building Beautiful High Performance Connected Car Applications (20)

Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Connected Fleet with SAP IoT - Webinar - Westernacher Consulting
Connected Fleet with SAP IoT - Webinar - Westernacher ConsultingConnected Fleet with SAP IoT - Webinar - Westernacher Consulting
Connected Fleet with SAP IoT - Webinar - Westernacher Consulting
 
MongoDB .local London 2019: The Tech Behind Connected Car
MongoDB .local London 2019: The Tech Behind Connected CarMongoDB .local London 2019: The Tech Behind Connected Car
MongoDB .local London 2019: The Tech Behind Connected Car
 
AppDynamics User Group
AppDynamics User GroupAppDynamics User Group
AppDynamics User Group
 
Maneat USA Corporation
Maneat USA CorporationManeat USA Corporation
Maneat USA Corporation
 
Elite EXTRA Routing and Tracking for Deliveries System Overview
Elite EXTRA Routing and Tracking for Deliveries System OverviewElite EXTRA Routing and Tracking for Deliveries System Overview
Elite EXTRA Routing and Tracking for Deliveries System Overview
 
DE - Smart Parking System.pptx
DE - Smart Parking System.pptxDE - Smart Parking System.pptx
DE - Smart Parking System.pptx
 
How BiggerPockets runs experiments faster with performance edge
How BiggerPockets runs experiments faster with performance edgeHow BiggerPockets runs experiments faster with performance edge
How BiggerPockets runs experiments faster with performance edge
 
My Researches in VEOLIA
My Researches in VEOLIAMy Researches in VEOLIA
My Researches in VEOLIA
 
Magento vs cs-cart
Magento vs cs-cartMagento vs cs-cart
Magento vs cs-cart
 
Anypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetupAnypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetup
 
SAP Vehicle Insights
SAP Vehicle InsightsSAP Vehicle Insights
SAP Vehicle Insights
 
Sidiq Permana - Building For The Next Billion Users
Sidiq Permana - Building For The Next Billion UsersSidiq Permana - Building For The Next Billion Users
Sidiq Permana - Building For The Next Billion Users
 
Techprom presentation 1 6-18-10
Techprom presentation 1 6-18-10Techprom presentation 1 6-18-10
Techprom presentation 1 6-18-10
 
TRACKMATE GPS BUSINESS SOLUTIONS
TRACKMATE GPS BUSINESS SOLUTIONSTRACKMATE GPS BUSINESS SOLUTIONS
TRACKMATE GPS BUSINESS SOLUTIONS
 
Easy drive presentation
Easy drive presentationEasy drive presentation
Easy drive presentation
 
Company presentation english 1 2015
Company presentation english 1 2015Company presentation english 1 2015
Company presentation english 1 2015
 
Techprom presentation 1 6-18-8
Techprom presentation 1 6-18-8Techprom presentation 1 6-18-8
Techprom presentation 1 6-18-8
 

Recently uploaded

Dubai Call Girls Services Call 09900000000
Dubai Call Girls Services Call 09900000000Dubai Call Girls Services Call 09900000000
Dubai Call Girls Services Call 09900000000Komal Khan
 
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一F La
 
Building a Budget by Cat Plein and Josh Rodriguez
Building a Budget by Cat Plein and Josh RodriguezBuilding a Budget by Cat Plein and Josh Rodriguez
Building a Budget by Cat Plein and Josh RodriguezForth
 
Pros and cons of buying used fleet vehicles.pptx
Pros and cons of buying used fleet vehicles.pptxPros and cons of buying used fleet vehicles.pptx
Pros and cons of buying used fleet vehicles.pptxjennifermiller8137
 
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdfkushkruthik555
 
办理阿德莱德大学毕业证Adelaide毕业证留信学历认证
办理阿德莱德大学毕业证Adelaide毕业证留信学历认证办理阿德莱德大学毕业证Adelaide毕业证留信学历认证
办理阿德莱德大学毕业证Adelaide毕业证留信学历认证jdkhjh
 
Equity & Freight Electrification by Jose Miguel Acosta Cordova
Equity & Freight Electrification by Jose Miguel Acosta CordovaEquity & Freight Electrification by Jose Miguel Acosta Cordova
Equity & Freight Electrification by Jose Miguel Acosta CordovaForth
 
英国Bradford学位证,布拉德福德大学毕业证书1:1制作
英国Bradford学位证,布拉德福德大学毕业证书1:1制作英国Bradford学位证,布拉德福德大学毕业证书1:1制作
英国Bradford学位证,布拉德福德大学毕业证书1:1制作yjvk25x9
 
办理科廷科技大学毕业证Curtin毕业证留信学历认证
办理科廷科技大学毕业证Curtin毕业证留信学历认证办理科廷科技大学毕业证Curtin毕业证留信学历认证
办理科廷科技大学毕业证Curtin毕业证留信学历认证jdkhjh
 
(办理学位证)(Toledo毕业证)托莱多大学毕业证成绩单修改留信学历认证原版一模一样
(办理学位证)(Toledo毕业证)托莱多大学毕业证成绩单修改留信学历认证原版一模一样(办理学位证)(Toledo毕业证)托莱多大学毕业证成绩单修改留信学历认证原版一模一样
(办理学位证)(Toledo毕业证)托莱多大学毕业证成绩单修改留信学历认证原版一模一样gfghbihg
 
907MTAMount Coventry University Bachelor's Diploma in Engineering
907MTAMount Coventry University Bachelor's Diploma in Engineering907MTAMount Coventry University Bachelor's Diploma in Engineering
907MTAMount Coventry University Bachelor's Diploma in EngineeringFi sss
 
原版定制copy澳洲查尔斯顿大学毕业证UC毕业证成绩单留信学历认证保障质量
原版定制copy澳洲查尔斯顿大学毕业证UC毕业证成绩单留信学历认证保障质量原版定制copy澳洲查尔斯顿大学毕业证UC毕业证成绩单留信学历认证保障质量
原版定制copy澳洲查尔斯顿大学毕业证UC毕业证成绩单留信学历认证保障质量sehgh15heh
 
Mastering Mercedes Engine Care Top Tips for Rowlett, TX Residents
Mastering Mercedes Engine Care Top Tips for Rowlett, TX ResidentsMastering Mercedes Engine Care Top Tips for Rowlett, TX Residents
Mastering Mercedes Engine Care Top Tips for Rowlett, TX ResidentsRowlett Motorwerks
 
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证jdkhjh
 
Electric Nation Upper Midwest Inter-Tribal Electric Vehicle (EV) Charging Com...
Electric Nation Upper Midwest Inter-Tribal Electric Vehicle (EV) Charging Com...Electric Nation Upper Midwest Inter-Tribal Electric Vehicle (EV) Charging Com...
Electric Nation Upper Midwest Inter-Tribal Electric Vehicle (EV) Charging Com...Forth
 
Program Design by Prateek Suri and Christian Williss
Program Design by Prateek Suri and Christian WillissProgram Design by Prateek Suri and Christian Williss
Program Design by Prateek Suri and Christian WillissForth
 
Centering Equity Panel by Samantha Bingham
Centering Equity Panel by Samantha BinghamCentering Equity Panel by Samantha Bingham
Centering Equity Panel by Samantha BinghamForth
 
-The-Present-Simple-Tense.pdf english hh
-The-Present-Simple-Tense.pdf english hh-The-Present-Simple-Tense.pdf english hh
-The-Present-Simple-Tense.pdf english hhmhamadhawlery16
 
办理阳光海岸大学毕业证成绩单原版一比一
办理阳光海岸大学毕业证成绩单原版一比一办理阳光海岸大学毕业证成绩单原版一比一
办理阳光海岸大学毕业证成绩单原版一比一F La
 
Trent engineer.pptx presentation reports
Trent engineer.pptx presentation reportsTrent engineer.pptx presentation reports
Trent engineer.pptx presentation reportsbasant11731
 

Recently uploaded (20)

Dubai Call Girls Services Call 09900000000
Dubai Call Girls Services Call 09900000000Dubai Call Girls Services Call 09900000000
Dubai Call Girls Services Call 09900000000
 
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
 
Building a Budget by Cat Plein and Josh Rodriguez
Building a Budget by Cat Plein and Josh RodriguezBuilding a Budget by Cat Plein and Josh Rodriguez
Building a Budget by Cat Plein and Josh Rodriguez
 
Pros and cons of buying used fleet vehicles.pptx
Pros and cons of buying used fleet vehicles.pptxPros and cons of buying used fleet vehicles.pptx
Pros and cons of buying used fleet vehicles.pptx
 
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
248649330-Animatronics-Technical-Seminar-Report-by-Aswin-Sarang.pdf
 
办理阿德莱德大学毕业证Adelaide毕业证留信学历认证
办理阿德莱德大学毕业证Adelaide毕业证留信学历认证办理阿德莱德大学毕业证Adelaide毕业证留信学历认证
办理阿德莱德大学毕业证Adelaide毕业证留信学历认证
 
Equity & Freight Electrification by Jose Miguel Acosta Cordova
Equity & Freight Electrification by Jose Miguel Acosta CordovaEquity & Freight Electrification by Jose Miguel Acosta Cordova
Equity & Freight Electrification by Jose Miguel Acosta Cordova
 
英国Bradford学位证,布拉德福德大学毕业证书1:1制作
英国Bradford学位证,布拉德福德大学毕业证书1:1制作英国Bradford学位证,布拉德福德大学毕业证书1:1制作
英国Bradford学位证,布拉德福德大学毕业证书1:1制作
 
办理科廷科技大学毕业证Curtin毕业证留信学历认证
办理科廷科技大学毕业证Curtin毕业证留信学历认证办理科廷科技大学毕业证Curtin毕业证留信学历认证
办理科廷科技大学毕业证Curtin毕业证留信学历认证
 
(办理学位证)(Toledo毕业证)托莱多大学毕业证成绩单修改留信学历认证原版一模一样
(办理学位证)(Toledo毕业证)托莱多大学毕业证成绩单修改留信学历认证原版一模一样(办理学位证)(Toledo毕业证)托莱多大学毕业证成绩单修改留信学历认证原版一模一样
(办理学位证)(Toledo毕业证)托莱多大学毕业证成绩单修改留信学历认证原版一模一样
 
907MTAMount Coventry University Bachelor's Diploma in Engineering
907MTAMount Coventry University Bachelor's Diploma in Engineering907MTAMount Coventry University Bachelor's Diploma in Engineering
907MTAMount Coventry University Bachelor's Diploma in Engineering
 
原版定制copy澳洲查尔斯顿大学毕业证UC毕业证成绩单留信学历认证保障质量
原版定制copy澳洲查尔斯顿大学毕业证UC毕业证成绩单留信学历认证保障质量原版定制copy澳洲查尔斯顿大学毕业证UC毕业证成绩单留信学历认证保障质量
原版定制copy澳洲查尔斯顿大学毕业证UC毕业证成绩单留信学历认证保障质量
 
Mastering Mercedes Engine Care Top Tips for Rowlett, TX Residents
Mastering Mercedes Engine Care Top Tips for Rowlett, TX ResidentsMastering Mercedes Engine Care Top Tips for Rowlett, TX Residents
Mastering Mercedes Engine Care Top Tips for Rowlett, TX Residents
 
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
原版1:1复刻俄亥俄州立大学毕业证OSU毕业证留信学历认证
 
Electric Nation Upper Midwest Inter-Tribal Electric Vehicle (EV) Charging Com...
Electric Nation Upper Midwest Inter-Tribal Electric Vehicle (EV) Charging Com...Electric Nation Upper Midwest Inter-Tribal Electric Vehicle (EV) Charging Com...
Electric Nation Upper Midwest Inter-Tribal Electric Vehicle (EV) Charging Com...
 
Program Design by Prateek Suri and Christian Williss
Program Design by Prateek Suri and Christian WillissProgram Design by Prateek Suri and Christian Williss
Program Design by Prateek Suri and Christian Williss
 
Centering Equity Panel by Samantha Bingham
Centering Equity Panel by Samantha BinghamCentering Equity Panel by Samantha Bingham
Centering Equity Panel by Samantha Bingham
 
-The-Present-Simple-Tense.pdf english hh
-The-Present-Simple-Tense.pdf english hh-The-Present-Simple-Tense.pdf english hh
-The-Present-Simple-Tense.pdf english hh
 
办理阳光海岸大学毕业证成绩单原版一比一
办理阳光海岸大学毕业证成绩单原版一比一办理阳光海岸大学毕业证成绩单原版一比一
办理阳光海岸大学毕业证成绩单原版一比一
 
Trent engineer.pptx presentation reports
Trent engineer.pptx presentation reportsTrent engineer.pptx presentation reports
Trent engineer.pptx presentation reports
 

Building Beautiful High Performance Connected Car Applications

  • 1. Building Beautiful High Performance Connected Car Applications Jason Wiener CEO - Hyperdrive @jasonwiener Building Beautiful High Performance Connected Car Applications
  • 2. Serial CTO since 1996 ● Part of the founding team or a first-hire ● Assist or lead fundraising (VC/Angel/Revenue) ● Build the POC & technical team ● Launch ● Grow to steady state ● Handoff ● What’s next? Open wheel racer Grand Prize Winner of 2015 Toyota Onramp Smart Mobility Challenge CEO - Hyperdrive About Me Building Beautiful High Performance Connected Car Applications
  • 3. Hyperdrive Think: part activity tracker, part driving coach, part social game. Hyperdrive makes you a better driver by making driving fun Lowest time with the highest MPG owns the section of road Profitable & privately-held company Building Beautiful High Performance Connected Car Applications
  • 4. ● MPG race @ Sonoma Raceway - March 3, 2017 ● 20 Teams of 3-5 members ● Build strategies using a web-based telemetry editor ● Test strategies using simulations ● Race w/ real-time in-car feedback ● Team with the best avg MPG over 9 laps wins SIGN UP at http://toyotaonramp.com Toyota Research Institute
  • 5. Toyota Onramp Driver Strategy Editor ● Use “clips” of captured vehicle data ● Edit like iMovie or Adobe Premiere to build your race strategy ● Playback on Race Day against real-time performance using an onboard iPad
  • 6. What we’ll cover 1. Getting car data 2. Storing & retrieving data by use case 3. Visualizing data Building Beautiful High Performance Connected Car Applications
  • 7. Data Capture Building Beautiful High Performance Connected Car Applications
  • 8. Data Capture > Where do we start? Adapters or APIs? Workflow Sample code First thing’s first… What do you want to get your hands on? ● Telemetry ● Error/Trouble codes ● Location ● YES! Building Beautiful High Performance Connected Car Applications
  • 9. Data Capture > Where do we start? Adapters or APIs? Workflow Sample code Telemetry ● Get the current operating values for the car ● Core to data-driven connected car apps ● PIDs A “go to” reference is the OBD-II PIDs page on Wikipedia https://en.wikipedia.org/wiki/OBD-II_PIDs Building Beautiful High Performance Connected Car Applications
  • 10. Data Capture > Where do we start? Adapters or APIs? Workflow Sample code Error/Trouble Codes ● Get warning indicators ● Useful for notifications ● Drive commerce Building Beautiful High Performance Connected Car Applications
  • 11. Data Capture > Where do we start? Adapters or APIs? Workflow Sample code Location ● Get where the car is right now ● Logging activity ● Routing/Directions ● Traffic ● Needs some thinking ahead of time Building Beautiful High Performance Connected Car Applications
  • 12. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code Now the how ● Rely on hardware or software? ● Adapters ○ High-end vs low-end ○ Connectivity options ○ Documentation ● APIs ○ Platforms ○ Availability on vehicles Building Beautiful High Performance Connected Car Applications
  • 13. Adapters ● High-end/Best of Breed ○ Automatic ○ GoPoint ○ Vinli Data Capture Where do we start? > Adapters or APIs? Workflow Sample code Building Beautiful High Performance Connected Car Applications
  • 14. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code Adapters: High-end/Best of Breed ● Pros ○ MFi + Android ○ Location (kinda) ○ Security ○ Higher refresh rates ○ Awesome documentation ○ Example source ○ Great technical support Building Beautiful High Performance Connected Car Applications
  • 15. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code Adapters: High-end/Best of Breed ● Cons ○ Price ○ Pairing ○ Tied to an account elsewhere ○ Adapter-specific integrations ○ If you use it, will they come? Building Beautiful High Performance Connected Car Applications
  • 16. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code Adapters ● Low-end ○ Amazon ○ eBay ○ Alibaba Building Beautiful High Performance Connected Car Applications
  • 17. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code Adapters: Low-End ● Pros ○ Plug and play ○ Cheap (as little as $3) ○ Good adapter for $15 ○ Low POC costs ○ Standard chipset (ELM327) ○ Open source community Building Beautiful High Performance Connected Car Applications
  • 18. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code Adapters: Low-End ● Cons ○ Less secure ○ Lower refresh rates ○ No device documentation ○ No technical support ○ Spotty Quality Control ○ BLE 5-10x 2.1 adpater costs Building Beautiful High Performance Connected Car Applications
  • 19. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code APIs ● Vehicle: ○ Smart Device Link ● Cloud: ○ Automatic ○ Vinli ○ Mojio Building Beautiful High Performance Connected Car Applications
  • 20. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code APIs: Vehicle (SmartDeviceLink) ● Pros ○ No adapter necessary ○ Excellent APIs ○ Location ○ Backed by Ford & Toyota ○ Supported by Mazda, Suzuki & more ○ Great documentation ○ Awesome support via Slack Building Beautiful High Performance Connected Car Applications
  • 21. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code APIs ● Cons ○ Only Ford & Toyota right now ○ Presentation limitations ○ App store review process Building Beautiful High Performance Connected Car Applications
  • 22. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code APIs: Cloud ● Pros ○ No hardware integration ○ REST APIs ○ Speed to market ○ Minimal costs ○ Great documentation Building Beautiful High Performance Connected Car Applications
  • 23. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code APIs: Cloud ● Cons ○ Only Vinli has a telemetry API ○ Refresh rate is low ○ Reliance on adapter users Building Beautiful High Performance Connected Car Applications
  • 24. Data Capture Where do we start? > Adapters or APIs? Workflow Sample code Location ● How do we get it? ○ Mobile device ○ Laptop ○ Some adapters ○ SDL ○ Why you have to consider your use case Building Beautiful High Performance Connected Car Applications
  • 25. Data Capture Where do we start? Adapters or APIs? > Workflow Sample code How to approach it ● Start small ● Get something easy working ● Then add complexity ● Mercedes-Benz Hackathon 2015 ○ MacBook Pro + Garmin 510 + ieGeek WIFI ● Moved to iOS + WIFI (POC) ● Moved to BLE, Automatic, Vinli, GoPoint Building Beautiful High Performance Connected Car Applications
  • 26. Data Capture Where do we start? Adapters or APIs? Workflow > Sample code Sample code ● Python 2.7 + gevent ● Data: ○ Mass Airflow Sensor (MAF) ○ RPM ○ Vehicle Speed (VSS) ● ieGeek OBD II WIFI adapter http://amzn.to/2jtHn5W ● code: /capture/ Building Beautiful High Performance Connected Car Applications
  • 27. Data Storage Building Beautiful High Performance Connected Car Applications
  • 28. Data Storage > How will we use it? Real-time Trailing Session Snapshots Now, we have data… How will we be using it? ● Real-time ● Trailing ● Session ● Snapshots Building Beautiful High Performance Connected Car Applications
  • 29. Data Storage > How will we use it? Real-time Trailing Session Snapshots Do we need to know what’s going on? ● Will our app update based what’s happening in the vehicle? ● Will our users consume the data as it happens? ● What happens to the data after we’ve used it or our users have seen it? Building Beautiful High Performance Connected Car Applications
  • 30. Data Storage > How will we use it? Real-time Trailing Session Snapshots Do we need to know what’s happened recently? ● Will we be providing summary data for users? ○ Week, month, year i.e. Last week you drove 45 miles at an average of 37 MPG ● Will real-time data interact with recent data? i.e. You’re currently driving at 37 MPG, +4 MPG over your last trailing 20-min average Building Beautiful High Performance Connected Car Applications
  • 31. Data Storage > How will we use it? Real-time Trailing Session Snapshots We’re saving everything once the user finishes driving, right? ● We don’t know what we don’t know, yet. ● Persist for future use ○ New features ○ Trends ○ Machine learning ○ #becausedata Building Beautiful High Performance Connected Car Applications
  • 32. Data Storage > How will we use it? Real-time Trailing Session Snapshots Will user need to browse and search their data? ● Trips ● Activities ● Cases when we don’t need to whole session capture Building Beautiful High Performance Connected Car Applications
  • 33. Data Storage How will we use it? > Real-time Trailing Session Snapshots Real-time ● Enter/exit geofences ● Major events ● Monitoring ● Diagnostics Building Beautiful High Performance Connected Car Applications
  • 34. Data Storage How will we use it? > Real-time Trailing Session Snapshots Real-time: 2 approaches ● Polling ○ Make a request periodically ○ Old-School ● Long-polling (socket.io) ○ Open a connection, receive updates, close on quit ○ Popularized by modern activity feeds and chat clients Building Beautiful High Performance Connected Car Applications
  • 35. Data Storage How will we use it? > Real-time Trailing Session Snapshots Real-time: Polling ● Pros ○ Existing tool kit ○ Easy to add ○ Just a timer firing a REST request ● Cons ○ Lots of overhead ○ Adds latency to your app ○ Can hammer your servers Building Beautiful High Performance Connected Car Applications
  • 36. Data Storage How will we use it? > Real-time Trailing Session Snapshots Real-time: Socket.IO ● Pros ○ Better memory management ○ Can support more traffic ○ Built in lifecycle/presence ● Cons ○ Learning curve ○ Different usage pattern over traditional network calls Building Beautiful High Performance Connected Car Applications
  • 37. Data Storage How will we use it? > Real-time Trailing Session Snapshots Real-time: Sample code use with the Capture code ● Polling ○ Python 2.7 + gevent ● Socket.IO ○ Python 2.7 ○ HTML+JS (Client) ○ PubNub https://www.pubnub.com/socket.io/ ● code: /storage/real-time/ Building Beautiful High Performance Connected Car Applications
  • 38. Data Storage How will we use it? Real-time > Trailing Session Snapshots Trailing ● Time spans rollups ● Time series ● Can also power real-time stats ● Common uses: ○ Drives this week ○ MPH between 10am - 11am ○ Times you went through the Taco Bell drive in this month Building Beautiful High Performance Connected Car Applications
  • 39. Trailing: Graphite ● Best in class ● Created at Orbitz in 2006 ● Hardened/Bombproof ● Solid documentation http://graphite.readthedocs.org/ ● #awesome Data Storage How will we use it? Real-time > Trailing Session Snapshots Building Beautiful High Performance Connected Car Applications
  • 40. Data Storage How will we use it? Real-time > Trailing Session Snapshots Trailing: Graphite ● Pros ○ Easy to PUT/GET data ○ Flexible ad hoc metrics ● Cons ○ Django ○ PITA to setup ■ Solution: Hosted Graphite #ftw https://www.hostedgraphite.com Building Beautiful High Performance Connected Car Applications
  • 41. Data Storage How will we use it? Real-time > Trailing Session Snapshots Trailing: Sample code ● Python 2.7 ● code: /storage/trailing/ Building Beautiful High Performance Connected Car Applications
  • 42. Data Storage How will we use it? Real-time Trailing > Session Snapshots Session Logs ● Text or BLOBs ● Dumping everything you’ve captured from the user and vehicle during the session ● @ Hyperdrive: ○ Compartmentalized by time ○ Vehicle OFF & no updates for > 5 mins ○ Compressed JSON object Building Beautiful High Performance Connected Car Applications
  • 43. Session Logs ● Amazon S3 or Microsoft Azure Storage ● Quickest & easiest ● Write once/read forever ● Use it to create snapshots ● Don’t need SQL or even NoSQL ● Just need a performant key/value store Data Storage How will we use it? Real-time Trailing > Session Snapshots Building Beautiful High Performance Connected Car Applications
  • 44. Data Storage How will we use it? Real-time Trailing > Session Snapshots Session Logs: Sample code ● Python 2.7 ● boto ● code: /storage/session/ Building Beautiful High Performance Connected Car Applications
  • 45. Data Storage How will we use it? Real-time Trailing Session > Snapshots Snapshots ● Indexed data for common use-cases ● You don’t always need the whole log ● You only need the META ○ Small, cacheable, easy-to-consume ● @ Hyperdrive: ○ Drive summary ■ Distance, MPG, time, etc. ■ Avg 20x smaller than the log Building Beautiful High Performance Connected Car Applications
  • 46. Snapshots: How to store them ● MySQL, PostgreSQL, MongoDB ● This way you can also query values ● The model is still write once/read forever, but who cares Data Storage How will we use it? Real-time Trailing Session > Snapshots Building Beautiful High Performance Connected Car Applications
  • 47. Data Storage How will we use it? Real-time Trailing Session > Snapshots Snapshots: Sample code ● Python 2.7 ● MySQL ● code: /storage/snapshots/ Building Beautiful High Performance Connected Car Applications
  • 48. Data Visualization Building Beautiful High Performance Connected Car Applications
  • 49. Data Viz > Making data beautiful Maps Real-time History Now, we’ve captured and stored the data… Let’s make it beautiful! ● Maps ● Real-time ● History Building Beautiful High Performance Connected Car Applications
  • 50. Data Viz > Making data beautiful Maps Real-time History Applying the decisions that lead up to this point. ● Depending on ○ The data you’ve captured ○ What you want your users to see ○ How they’ll interact with it ● Defines ○ The metaphors you’ll leverage for data visualization Building Beautiful High Performance Connected Car Applications
  • 51. Data Viz > Making data beautiful Maps Real-time History Maps ● They’re everywhere now ● All are simple to integrate for the most part ● Top picks: ○ Mapbox ○ Google Maps ○ Apple Maps ○ OpenStreetMap ○ Here Building Beautiful High Performance Connected Car Applications
  • 52. Data Viz > Making data beautiful Maps Real-time History Maps: deck.gl ● Gorgeous library ● Like d3.js for map data ● Designed for large data sets ● Maintained by Uber http://uber.github.io/deck.gl/#/ Building Beautiful High Performance Connected Car Applications
  • 53. Data Viz Making data beautiful > Maps Real-time History Maps ● @ Hyperdrive we use Mapbox ○ Vector maps ○ Killer theme editor ○ Turf.js https://github.com/turfjs ○ Ability to keep themes on static and dynamic maps Building Beautiful High Performance Connected Car Applications
  • 54. Building Beautiful High Performance Connected Car Applications Mapbox
  • 55. Data Viz Making data beautiful > Maps Real-time History Mapbox Example: Sonoma Raceway Map Building Beautiful High Performance Connected Car Applications
  • 56. Data Viz Making data beautiful > Maps Real-time History Maps: Sample code ● HTML + JS ● Mapbox library ● code: /dataviz/maps/ Building Beautiful High Performance Connected Car Applications
  • 57. Data Viz Making data beautiful Maps > Real-time History Real-time ● Gauges ● Line graphs Building Beautiful High Performance Connected Car Applications
  • 58. Data Viz Making data beautiful Maps > Real-time History Real-time: Gauges ● Awesome for expressing a single channel of data ○ Speed, RPM, MPG, etc ● @ Hyperdrive we use: ○ Raphael.js (web) http://dmitrybaranovskiy.github.io/raphael/ ○ RYO (native mobile)* Tons of OS libraries on GitHub Building Beautiful High Performance Connected Car Applications
  • 59. Data Viz Making data beautiful Maps > Real-time History Real-time: Gauges ● How we wire them to work: ○ Shared method for polling, function or sockets updates ○ Trigger an animated update of the value ○ ease-in-out @ 0.25 sec = sweet spot for update durations Building Beautiful High Performance Connected Car Applications
  • 60. Data Viz Making data beautiful Maps > Real-time History Gauges Example Building Beautiful High Performance Connected Car Applications
  • 61. Data Viz Making data beautiful Maps > Real-time History Real-time: Line Graphs ● Gives a sense of trends and history ● Updates as it happens ● @ Hyperdrive we use d3.js Building Beautiful High Performance Connected Car Applications
  • 62. Data Viz Making data beautiful Maps > Real-time History Real-time: Sample code ● HTML + JS ● d3.js ● RaphaelJS ● code: /dataviz/real-time/ Building Beautiful High Performance Connected Car Applications
  • 63. Data Viz Making data beautiful Maps Real-time > History History Data ● Trailing ● Telemetry Building Beautiful High Performance Connected Car Applications
  • 64. Data Viz Making data beautiful Maps Real-time > History History: Trailing ● Line charts ● Multiplex data together ● @ Hyperdrive we use: ○ d3.js (web) https://d3js.org/ ○ RYO (native mobile)* Tons of OS libraries on GitHub Building Beautiful High Performance Connected Car Applications
  • 65. Data Viz Making data beautiful Maps Real-time > History History: Trailing - Approach ● Rolled-up queries from SQL, NoSQL and/or Graphite ● A single JSON response ● Cacheable Building Beautiful High Performance Connected Car Applications
  • 66. Data Viz Making data beautiful Maps Real-time > History History: Telemetry ● Line charts ● Stack channels to add context ● Ability to sync cursor interactions ● @ Hyperdrive we use: ○ d3.js (web) https://d3js.org/ ○ RYO (native mobile)* Tons of OS libraries on GitHub Building Beautiful High Performance Connected Car Applications
  • 67. Data Viz Making data beautiful Maps Real-time > History History: Telemetry - Approach ● Index data into arrays on time or distance depending on the use case ● On user interaction (ala mouseover): ○ Handle the cursor position (very simple math) to get the array position ○ Lookup the data in each channel ○ Display & update readouts Building Beautiful High Performance Connected Car Applications
  • 68. Toyota Onramp Driver Strategy Editor ● Use “clips” of captured vehicle data ● Edit like iMovie or Adobe Premiere to build your race strategy ● Playback on Race Day against real-time performance using an onboard iPad
  • 69. Data Viz Making data beautiful Maps Real-time > History History: Sample code ● HTML + JS ● d3.js ● RaphaelJS ● code: /dataviz/history/ Building Beautiful High Performance Connected Car Applications
  • 70. What we’ve covered 1. Getting car data 2. Storing & retrieving data by use case 3. Visualizing data Building Beautiful High Performance Connected Car Applications