Your car is packed with microprocessors, between 60 and 80 of them, running all manner of systems to keep you on the road and out of harm’s way. Yet not one of those processors is open for you to tinker with. Ford and Bug Labs are working to change that with OpenXC, an Android-based open-source development platform currently in beta.

While “Back to the Future”-style floating, self-driving cars have another three years to appear in our lives before Marty McFly actually arrives in one, the OpenXC project isn’t quite on the road to fulfilling those dreams just yet. OpenXC will be about only one type of application: the data-driven app. This platform will give developers access to the mountains of information that pour out of the CPUs in modern cars, but will not allow them to actually modify or manipulate any aspects of the car itself.

Bug Labs

TJ Giuli, research engineer on the Infotronics Research and Advanced Engineering team at Ford, said, “OpenXC is a platform that’s grown out of several ideas we’ve been looking at for research for a while. We did a previous platform with similar ideas: You could write code that ran on your car, and we partnered with Microsoft and the University of Michigan, and teams designed applications and had a competition. We took a lot of the things we learned from that platform and applied them to OpenXC.

“With OpenXC, we want to enable anybody to write for the platform. It’s based on Android, but it’s easier to use. It’s open-source software from the beginning. OpenXC is in private beta right now. When we do release publicly, the entire source base will be open.”

Bug Labs, a small-device startup based in New York, has been consulting with Ford to help it determine the best methods for developer interaction with their vehicles.

Peter Semmelhack, founder and CEO of Bug Labs, said he founded his company for reasons similar to Ford’s when it embarked on this project. “One of the reasons I started the company was this guy at MIT Sloan School of Management, Eric Von Hippel, had written a book called ‘Democratizing Innovation.’ He wrote about how manufacturers would have to change in the next 20 years, and let customers be involved, and customize products to their own needs. I took that to heart and applied it to electronics in 2006.

“[I was introduced to] TJ [Giuli] at Ford, when the OpenXC project had gotten going. How do car manufacturers allow their customers to be more proactive and participate in the personalization of the vehicle in a way that’s a win-win? When OpenXC came about, Bug Labs was brought in as kindred spirits. We’re trying very hard to engage communities in new ways and let them take products and turn them into something they need.”

No write turns
The first thing you should know about OpenXC is that it provides no write capabilities to the cars’ systems. The platform is all about reading the data produced by the car, and allowing applications to work with that data. Allowing those applications to actually affect the car could be dangerous, said Giuli and Semmelhack. What if, say, an attacker could use a Bluetooth antenna to shut off your car on the highway?

“New systems in vehicles are designed from the ground up to prevent exploits like this,” said Giuli. “As we’ve seen in published literature, legacy systems can be attacked in systems where security was not a concern in the design. The fact that it is a known problem and it’s much more well understood across OEMs, it’s a pretty core concern. I don’t think you would ever see a virus that could propagate itself across vehicles.”

Still, even with only the ability to listen to the vehicle, there’s a wealth of ideas the beta participants have been mining, said the pair. “In some instances,” said Giuli, “they’ve been waiting for this. Cars have been growing in complexity for years and years now. There are between 60 and 80 actual microprocessors in each car now, and a tremendous amount of features come from software. I think that no matter what happens, there was going to be this huge explosion of data.”

Giuli postulated that in-car devices would be able to talk to each other and to the Internet, providing a network of sensors around the nation’s roads. The network could report live data on traffic by recording collective vehicular velocity, or on weather conditions by recording the number of windshield wipers that are turned on in a given area.

Semmelhack is optimistic about the potential of the OpenXC platform. “Steve Jobs did not invent Angry Birds, but they sold a lot of iPhones with it,” he said. “I could see a lot of applications that would be helpful for car owners. Helping with parking is one. I live in New York City. But more than anything, it’s not one application that’s of interest here, it’s the platform that will allow third parties to share information in a safe way. It’s the opportunity to create hardware extensions to the vehicle as well.”

There’s no word yet as to when the OpenXC platform will be available in commercial vehicles. Giuli and Semmelhack said that in the closed beta, GitHub is being used as the repository for the code, so a public release will likely appear there sometime later this year.