We've gathered in a converted warehouse in San Francisco's trendy South of Market neighborhood, home to some of biggest names in tech. Sitting at long work benches, we bend over small circuit boards with soldering guns, attaching chips and transistors while trying not to singe ourselves--or the electronics.
It may not look like it, but we're developing car apps, and we're starting from scratch. TJ Giuli and Sudipto Aich, two researchers from Ford Motor Company's Silicon Valley Lab, are showing me and a roomful of software developers how to useA OpenXC, an open-source (Linux-based) platform created by Ford for developing in-dash software.
OpenXC is meant purely "for rapid prototyping and do-it-yourself exploration," Giuli says. Unlike the SYNC infotainment platform in Ford cars, which has its own API and app development process, OpenXC is designed to encourage developers to experiment with car apps that Ford itself would never dare imagine. According to Giuli, Ford needed to "create a system that allows individuals to do something completely different than we ever would have thought of, or intended to do."
The individuals at the workshop have intentions, all right. They pepper Aich and Giuli with questions about how far OpenXC could push into the car.
"Can we get into the infotainment system?"
No, says Giuli. "Infotainment systems are typically the most complex and powerful computers in a car, and so typically if you're doing it right there's a ton of security around it." Darn.
"The data traffic is one way?" asked another.
"Yes," says Giuli.
"So what's the point?"
"There's quite a lot you can do with just knowing what the car can do in real time," Giuli counters. Still, more than one attendee looks visibly disappointed.
Apps develop faster than cars do
Automakers know they have an app challenge. As they design cars to be more connected--with infotainment systems, with people's smartphones, and with direct cellular service--drivers will naturally begin treating their cars like any other mobile device. They'll want to personalize it. They'll want to interact with it. And they'll want to use apps with it.
The fast, adventuresome world of app development doesn't mesh well with the slower, careful world of automobile development. "These companies don't make apps, they sell cars," says Mark C. Boyadjis, Senior Analyst and Manager at IHS, referring to Ford and GM, the most progressive companies when it comes to app development. Saddled with the responsibility of designing safe, reliable vehicles, automakers can take several years for new technology to see the light of day. That's eons in app time.
The automakers move cautiously for a reason, of course: If you download a bad app and it bricks your phone, it's simply annoying. But if you download a bad app and it bricks your car, it's potentially a deadly mistake.
Yet it's not a big stretch to imagine a near future when people will evaluate a car's app ecosystem the same way they would for any other mobile device. If the car doesn't support the apps users want, they might choose another car that does. "Ford and GM understand that the connected lifestyle is in the car," says Boyadjis, "and they need to adapt to it."
With the OpenXC workshops (happening nationwide through TechShop), Ford is inviting developers to tinker freely. "Ford and GM are pioneering app development in the car in a way very different from the way that other automakers have approached it," says Boyadjis. "They literally are offering up their software and their reference platforms."
"Automakers have always developed technology in-house or with a vendor, which can take years," says Edmunds.com Consumer Advice Editor Ron Montoya. "Open source will allow Ford to innovate and test technology at a faster clip."
How to build a car app
Back at TechShop in San Francisco, the circuit boards we've built will drive a tachometer-like Retro Gauge, fitted with a plastic housing and needle made by 3D printers onsite. The Retro Gauge serves as a display for various OpenXC apps, providing real-time visual feedback on everything from engine RPMs to your steering wheel angle.
OpenXC has two primary components: an Android app that you develop, and a hardware interface that plugs into the OBD-II (on-board diagnostics) port of a car. The interface uses Bluetooth to send data to the laptop or Android tablet running the OpenXC app. The Retro Gauge attaches to the laptop or tablet via USB.
The guinea pig for our apps and gauges is a Ford Focus Electric car parked nearby. Ford researchers Giuli and Aich provide some simple apps for developers to use if they haven't finished their own yet. With one of the apps, for instance, developers could turn the car's steering wheel and see the wheel's angle display on the LED readout on the Retro Gauge.
Ford's OpenXC Platform Web site currently lists 19 kinds of data that can be read by an OpenXC app, including transmission torque, windshield wiper status, and fuel level.
When asked whether additional data would become available, Giuli answers, "hell, yes." He's as eager as the rest of us are. "This is research that allows us to make a bold set of statements," Giuli says. "We're going to make this open source, expose the data." It's a statement that definitely takes Ford out of its comfort zone as a corporation, Giuli adds: "Even taking data out of the car is a huge argument [within Ford]."
Where to, app?
Spending several hours making a hardware gauge took time away from coding, but Giuli says it helps developers see the potential of OpenXC. "When people have something physical that they can plug into the car, and see that there's actual communication between the device and the car, they get excited."
Whether any of these developers' apps will end up in a Ford car is uncertain. Giuli emphasizes that OpenXC is not designed for product development. "What we do in research is develop something, go out on a limb, push boundaries, and impact product," Giuli says. "What are the lessons we can learn from OpenXC, and how can we translate that into a product?"
And that two-way communication, so forbidden, and yet so keenly desired by some workshop attendees? Giuli doesn't rule it out entirely. "Applying active behavior to in the car is something we're actively researching," Giuli says. "We're holding a hackathon at TechShop Menlo Park to actively explore writing to the car."
Once again, the geeks are leading the way.