Open Source Automotive Development

Jeff Payne (OpenCar, Inc.), Sam Skjonsberg (OpenCar, Inc.)
Open Hardware, Programming
Location: Portland 255
Average rating: ***..
(3.17, 6 ratings)

Open Source Automotive Development

Subtopic slides (20 min):

Why Cars?

  • Millions of screens
  • Captive audience
  • Pristine territory (awaiting “killer apps!”)

The Existing, Broken Model

  • Automakers “job shop” to build a walled garden of specific apps for a specific car IVI system.
  • Developers hard code an app (Pandora, Bing, etc) to that car’s specs, with high touch and validationfrom a specific automaker
  • App is released on a car manufacturing schedule, can’t be updated after launch
  • Automaker has a new make or model year or region to support, so restart the expensive cycle above
  • Does not scale. Too much work costs too much money

The Upcoming, OS Approach

  • Automaker specs/systems are encapsulated by a standards-based reference platform
  • Developers adopt an open platform to
  • App is submitted to an app store, allowing drivers to discover/download what they prefer and get updates
  • Automakers future models or systems or brands or regions retain the reference platform so that existing apps can support new cars without redevelopment
  • More efficient development for both developers and automakers, more pleased customers

What do You Need to Create Car Apps?

  • UX between the app and the driver, which complies to safety and driver distraction regulations and concerns, and also automaker brand and style
  • A service layer between the app and the vehicle, to utilize the systems and vehicle information available in each car, from the tire pressure and oil temperature to the GPS location to the buttons being pressed on the dashboard
  • A cloud service layer between the app and the Internet, for ongoing app-specific data transfer from music to messages and more

Safety Issues

  • Driver distraction mitigation
  • Park mode
  • Voice command integration
  • Other contingencies

Telematics Info

  • OBD II and beyond, Industry standard powertrain, maintenance information available
  • CAN System Telematics, “everything” in the car, decoded by an automaker-provided encapsulation layer and “rosetta stone”

UX Support

  • IVI Systems, from limited, curated segments like Ford Applink textblocks to controlling embedded browsers
  • Navigation models: focus, swiping, hit targets that work in car
  • Control libraries: consistency between apps, and with embedded automaker UX such as CD player and HVAC UX
  • App frameworks: media, telematics, GPS, messaging/news frameworks

Connected Cars

  • Smartphone bridging through BT, USB, Screen scraping, H3
  • Connected services eg OnStar

Automaker “portal” Support

  • Cover approaches from Mercedes MBrace, OnStar, Pioneer AppRadio, My BMW for Android, iPhone

Demonstration

Creating an “OS” Automotive App in ten minutes

  1. Meet “Sam. ” He is an HTML5/Javascript developer
  2. He uses some SDK-installed base classes that encapsulates his app from the hardware specifics
  3. He uses a control library to quickly build a UI and fill in event handlers
  4. He uses these prebuilt APIs to simplify retrieving his MPG to the car
  5. He uses these prebuilt APIs to upload his best MPG to his facebook timeline to brag to his friends
  6. He uses the automaker provided “theme” to skin for both Automaker A and Automaker B
  7. He “packages” it up
  8. He can test his app on this system which is a linux board representing A’s IVI, and this second board represented by this iPad.

Note:

  • One app codebase, two output targets, two different skins applied.
  • Sam wrote once published “many”
  • Sam does not need handholding to rebrand his apps for different automakers
  • He already knows what to code via open, standards based docs and general purpose HTML5 skills
  • Sam doesn’t need to recode his app to work with different cars
  • Sam’s apps are “prevalidated” as safe and legal and easy to use with consistent UX
Photo of Jeff Payne

Jeff Payne

OpenCar, Inc.

Jeff Payne: Over the past 20 years, Jeff has directed systems design, operations, software and hardware development for a series of notable companies. At Spry in 1993, he helped conceive and develop the one of the first integrated Internet software products for consumers, O’Reilly’s Internet-In-a-Box. In 1996, he created the first global-scale Content Delivery Network (CDN) for multimedia, RealNetworks’ Real Broadcast Network (RBN). As co-founder of Bivio Networks in 2001, he helped create a new product category found in almost every large network today, the field-programmable packet-editing appliance. He then founded GridNetworks in 2005 and drove it to a merger in 2009 before creating OpenCar in 2011. His most recent endeavor is OpenCar, which he founded in 2011 to provide software and services for a new and highly specialized category of Internet-connected device, the modern automobile.

Sam Skjonsberg

OpenCar, Inc.

Sam Skjonsberg is an engineer on the platform team at OpenCar. He’s passionate about all things JavaScript, HTML and CSS with an extensive background in client-side development. Prior to joining OpenCar, Sam worked as a Senior UI Software Engineer for Marchex, where he was the lead engineer on an in-browser telephony solution for the Firefox browser. Before that Sam spent a few years with the digital agency, PLY, where he was the go-to resource for building highly interactive client web applications. When he’s not hacking away Sam likes to tear down the mountain on his snowboard or take his dog for a hike.

Sponsors

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or scordesse@oreilly.com.

Contact Us

View a complete list of OSCON contacts