It's not exactly breaking news that computers are integral components in cars these days. They've been used since the 80's to handle various tasks such as fuel-oil ratios, performance tuning, transmission control, and so forth. What's far more interesting today is that they're in the cockpit, handling nearly every aspect of the car's direct control, navigation, and entertainment systems.
Much like embedded medical computing systems, the code running in newer cars goes through a more stringent QA regimen than, say, Microsoft Excel 2007, but they aren't perfect. The bothersome issue when problems occur is that many times, they "can't be fixed" by the dealer or private service centers.
It's one thing to bring a car to the dealer with a window that won't roll down due to a failed switch or motor. It's another thing entirely if the problem with the window is a bug in the car's computer. Given my recent experiences, it's all but impossible for even a certified dealer to handle problems of a firmware variety, rather than a physical issue. As car computing gets deeper, these problems will likely get worse, until some critical mass is reached and there are Linux geeks wearing coveralls and dragging laptops around in the garage.
To a geek like me, the design and control of these systems, especially in the high-end cars is quite interesting. Audi, for instance, has arguably the best in-car computing platform, called the MMI (MultiMedia Interface). It's present in the A6, A8, and Q7 series vehicles, and controls everything from the climate control to XM/Sirius, iPod, radio, video, navigation, and all associated preferences. The main control is a jogwheel with four softkeys, and a handful of function buttons. Like any embedded system, it has a bootloader, applications, several hardware components, and a facility to handle firmware updates. Curiously, this update path is based not on a proprietary connection from a dealer service computer, but can be done through the car's CD player. Essentially, it's possible to update the code on the car by loading an update CD-ROM into the CD player, and accessing a series of hidden menus to perform the update.