A unique dataset, strong coffee and a soundtrack provided by a gigantic robotic gamelan. What more could anyone want at a hackathon?
Orchestrated by Ariel Waldman, a White House Champion of Change and instigator of Science Hack Day, the hackathon is themed "Data Driven" in honor of event partner Ford, which provided an intiguing data set for participants to use through their open source Open-XC platform. The data—the digitized output of dozens of driving variables such as speed, direction, steering input, fuel consumption, weather conditions, and distance traveled—it's just the sort of stuff our vehicles now know, but which is yet to be mined for interesting uses. Made available in real-time, what cool things would detailed, finely-grained driving data be good for?
The OpenXC Platform was developed by Ford with Bug Labs, but making creative use of its output was up to the hackers.
Imagine a display installed in your car that tells you exactly how much it's worth, based on every action you've ever taken at the wheel.
Take, for example, the "Taxi Meter" devised by Steven Kryskalla and David Harris, whose early code is already accessible at "Github". The app, working on data generated by the car, will tell the driver exactly how much he or she is costing themselves with any given trip.
"There's the cost of fuel, but this also takes into account insurance costs, maintenance, and depreciation," said Harris, a science journalist at the National Academy of Sciences. Driver data offers information on car usage--fast drivers burn more rubber as well as gas--that will make it easier to calculate the long-term costs.
Another team worked on an app that would detect a certain driving pattern "to unlock a locked box carried in the vehicle."
Generating artwork from raw data was a popular theme, too, with at least two efforts searching for beauty in the bytes.
"We're thinking of integrating the data to create paintings in some way," said James Todd, who, with his daughter Sylvia, created the amazing WaterColorBot.
WaterColorBot takes a digital artist's on-screen work and sets it to canvas using real brushes and paint. But it could be keyed to any input--including driving data--once it has been parsed into pixels.
"We're thinking of basing color on engine power output, but the idea could change completely over the new few hours," Todd said. "It's completely up to our imagination."
Meanwhile, Tom Zimmerman worked on making music from the driving data, inspired by Kratwerk's Autobahn to create a machine-made "soundtrack to the way you drive."
The 31 driving variables exposed by the car can be interpreted as instruments in a musical score, he said. Converted to MIDI, the dataset represents both car and driver—and can be played as notes.
"What's cool about it is that different aspects of driving tend to occur in concert," said Zimmerman. "Acceleration and speed, for example, could act like different parts of a string section."
A musical piece representing the day's driving could be sent as an MP3 to the driver, or the app could play live at the wheel—though Zimmerman said that it might be a bad idea to encourage people to drive a certain way to get certain musical results.
Hardware hacker Matt Biddulph and software engineer Chris Martin worked on making a programmable remote-control car that retraced the real thing's steps.
"We're going to take the data and wite an arduino app that calls back the course driven and plays back the drive using a remote control car," said Martin. "In a couple of drives, you could teach it how to get your donuts for you."
Frivolous as it may be, the implications of route-matching and retracing become clear when you imagine the near-future of autonomous vehicles.
Al Linke's concept was simple: a rear-car LED display that offered more information than a brake light. Within an hour of the hack day's commencement, he had a prototype that showed not just when the driver was braking or accellerating, but also how far down his foot was on the pedal.
There are many ways to look at the data generated by vehicles, and not just as variables in an XML or JSON file. Here's raw data displayed on an oscilloscope: