Ford - iOS app for OpenXC-Silicon Valley Campus - Carnegie Mellon University

Ford - iOS app for OpenXC-Silicon Valley Campus - Carnegie Mellon University

Open Source iOS Application for Ford Silicon Valley Labs OpenXC Platform

With new cars on the market now fully equipped with computers and electronics, there exists a growing interest in connecting the output from those systems to third-party applications and the web. Vehicles are indisputably becoming more connected, but until now, consumers, developers, and hobbyists have not had much control or the ability and freedom to experiment with the exact capabilities of their cars.

OpenXC is a data-focused application programming interface (API) for a car. The OpenXC platform consists of open source hardware and software used to extend vehicles with custom applications and pluggable modules. By installing a small hardware module, the vehicle data becomes accessible to mobile and desktop applications using the OpenXC library. It allows developers to make vehicle-aware applications that have better interfaces based on context, can minimize distraction while driving, are integrated with other connected services, and provides users with more insight into their car's operation.

This spring, students from the Carnegie Mellon University Silicon Valley campus worked closely with Ford Silicon Valley Labs located in Palo Alto, CA to develop an iOS application for the OpenXC open source hardware and software platform. The team consisted of part-time M.S. software engineering students Albert Pham and Mari Masuda with advising faculty Dr. Edward Katz. Albert is a software engineer at Lockheed Martin, and Mari is a technical writer at Amazon Lab126. Sudipto Aich, a researcher at Ford Silicon Valley Labs, acted as the team’s client and product owner, and supported the team’s development efforts throughout the duration of the practicum project.

iOS development

Up until this point, the OpenXC platform has been focused on Android applications. The CMUSV practicum team developed the much anticipated iOS application which will extend the use of the OpenXC platform substantially to more developers. To complete the development of the iOS application, the team adapted and applied Agile practices learned from previous courses in the CMUSV curriculum.

As the client, Sudipto expressed his satisfaction with working with the practicum team. “This project allows people to develop on iOS devices and that helps capture a huge populace of mobile phone users. Both Mari and Albert did a great job in creating a thorough work-plan, create all the necessary pieces for the API to function and document it, all relevant for an open-source project," he said.

The future goal is to make the API available for the public, once the team ensures system robustness; they are looking forward to seeing great community-developed projects for OpenXC using the iOS API.