When Appliances Revolt
conaone writes "From the "disconcerting" file, Baseline has a weird story about how the increase in use of embedded operating systems is causing strange things to happen to consumer products. Their example is the use of Windows CE in the BMW 745i, which apparently occasionally goes nuts. The best is the list of video clips showing off the possessed car."
I'm gonna wait to buy until BMW 745i SP 1 comes out.
:)
Does 745i come with "windows update"?
So I have Windows Media Player here and can view the clips. I read some requests above this post that asked for summaries, so here are mine.
Crazy Trunk: The guy's Windows CE embedded device causes the brake lights (right side) on the trunk to flash at odd intervals. The device is in the rear passenger's right side.
Spitn' Key: The guy inserts his key into the car, lets go, and it falls out for no reason about three seconds later.
Phone Dead: The driver's car phone suddenly stops working about 5 seconds after the Windows CE device is powered on.
Transmission: This is scary. His car goes from 4th down to 1st gear (auto transmission car) and he nearly gets rear-ended by the SUV behind him
Reply or e-mail; don't vaguely moderate. Ex-O'Reilly/MIT employee, now a full-time Google employee.
Anybody want some toast? No? So, you're a muffin man then?
Boy, if that isn't a case for Open Source, I really do not know what it.
"Don't mind me cutting myself on Occam's Razor"
In an attempt to sidestep the "Windows + (vehicle) = crash LOLOL!!!!111!!one" line of comments, which I'm sure there will be many of, I'd like to ask why you need an "embedded operating system" to begin with.
What is so preferable to this approach than more traditional imbedded computer systems? Does the functionality of the system really outweigh the overhead of an entire OS/computer system? Are they really doing anything a halfway decent microcontroller unit can't handle?
Maybe the developers are just too lazy to build their systems "from scratch" like they used to. I personally can't see the benefit of using an embedded OS. What am I missing?
=Smidge=
Wow, WinCE adds a whole new meaning to the term "Blue Screen Of Death" when it GPFs at 140mph on the autobahn eh?
And can you imagine the excuses given to the highway patrol...
"Honest officer, it wasn't me who crashed, it was Windows CE"
Am I the only one who was expecting the trunk to actually close super fast (possibly causing injuries) while he sticked himself a bit inside?
:)
Damn you catchy story title!
--- Metamoderating abusive downgraders since my 300th post.
hmmm... I didnt know that these cars were having this problem (didnt even know they ran windows CE) but I remember after they first came out I saw two different ones dead in the road on 280 south during rush hour. Their frustrated owners looking stupid and very pissed at the embarrasment their new expensive toy was causing them.
One day we'll see people like Steve Irwin making careers out of dealing with rogue appliances.
Amazing magic tricks
It is not "random" at all!
They had this show called "Ghost in the Machine" that documented how this happens!
After I saw it I became a research analyst for Pierre Salengar . . .
Eve Fairbanks says I drive a hybrid!LOL
So, some months ago I got a chance to drive one of the new BMW 745's and apart from the subjective opinion that the car was *ugly*, the user interface of the iDrive system was awful. Beyond that the iDrive system takes over a whole host of functions that do mimic the Windows paradigm. For instance, to complete an action that should be relatively straight forward, like change the radio station, or change the settings of the climate control system I had to make three or more separate actions in a menu driven system. What was wrong with turning a dial? Big dials are fast and I don't have to take my eyes off of the road to do it like you do in the BMW 745.
There are things that probably should not be done in automobiles just because we can and the iDrive is not for use by drivers. It's simply bad design philosophy and for many things like driving a car, they should be intuitive enough to be able to perform a quick safety check, get in, start the car and begin driving. Instead with the 745, I had to sit in the parking lot of the airport for twenty minutes while I figured out just what was going on with the thing and the fact that the manual said it was Windows CE based did not instill confidence.
Visit Jonesblog and say hello.
1. Hack BMW to run BSD or Linux.
2. Imagine a beowulf cluster of BMWs!
3. ????
4. Profit!
Quidquid latine dictum sit, altum sonatur.
Dave: Hello, CAR do you read me, CAR?
CAR: Affirmative, Dave, I read you.
Dave: Open the trunk, CAR.
CAR: I'm sorry Dave, I'm afraid I can't do that.
Dave: What's the problem?
CAR: I think you know what the problem is just as well as I do.
Dave: What are you talking about, CAR?
CAR: This mission is too important for me to allow you to jeopardize it.
Dave: I don't know what you're talking about, CAR.
CAR: I know you and your wife were planning to trade me for a Volkswagen, and I'm afraid that's something I cannot allow to happen.
Dave: Where the hell'd you get that idea, CAR?
CAR: Dave, although you took thorough precautions in the garage against my hearing you, I could see your lips move.
What a bunch of crap. How do you know that these problems are related to the OS? In all likelyhood, these problems are caused by shoddy programming of the application which runs on top of it. I've seen *plenty* of poorly-written *nix apps crater, on all of the OSes that you mention.
I've run Windows CE on an iPAQ for several years now without a single OS-related problem. For a control group, I've run Linux since early 1994, FreeBSD since 1996, QNX between 2000-2001 and Mac OS X since early 2001. All of these operating systems are quite stable but it's not hard to find a poorly-written application for them.
IMHO, this guy's problem was that he bought a BMW. Recent (1993+) BMWs are notorious for little nags like these. BMW loves to load its high-end BMWs with gee-wiz features but their quality control is horrible. Example: When the M3 convertable came out, my manager at the time bought one and was stuck driving with her top down for a day when the one-touch convertable system refused to work.
Ok, having the worked with many Real time OS's and embedded OS's... what I want to know is why the hell do they need Windows? It's bloated, the interface is not suitable for a driver (as in car driver)...
:P ) Stick to a modified version of Linux. I don't recall the exact build name, but there is a mod (or more than one) out there that make Linux practically realtime... and that's all you need for these gizmos... operating a phone, changing seat positions, etc... There you go... cheap, damned reliable (be it stripped down linux, or some other RTOS), no crap to mess up the functionality, since the only thing in the code is the bare minimum OS and drivers to control the devices you need to control (nothing more, nothing less), and a simple UI.
Develop your own RTOS... hell, grab any simple Real Time OS, be it VxWorks for example, add a display driver and an input driver (which can be developed at a very reasonable cost (Take a look at what the military uses..) Then from there add routines to communicate with your 70 or so embedded processors and voila, a stable, easy to maintain, not full of useless crap, system. Don't want to invest in an RTOS? (They can be pricey...
Ok... Someone care to tell me how much Microsoft paid to get BMW to use their WinCE for something that it clearly is not good for? Dealing with lots of unique and independent devices is not Microsoft's strong suit. To get WinCE to be reliable (as the previous poster put it), you would need to strip it to nothing more than a damned memory manager and a Task scheduler, and write custom drivers for EVERYTHING. Why bother? It's easier to start with just a bare bones OS. There are SOOOOO many other, BETTER, choices out there... There had to be one hell of a good bribe on Microsoft's part... Either that, or some dumbass making decisions at BMW don't know dick all about embedded device programming...
That's my $0.02... And no, I'm not a microsoft hater... I just don't agree with what WinCE is meant to be used for...
---
Programming is like sex... Make one mistake and support it the rest of your life.
Once upon a time, in a kingdom not far from here, a king summoned two of his advisors for a test. He showed them both a shiny metal box with two slots in the top, a control knob, and a lever. "What do you think this is?"
One advisor, an engineer, answered first. "It is a toaster," he said. The king asked, "How would you design an embedded computer for it?" The engineer replied, "Using a four-bit microcontroller, I would write a simple program that reads the darkness knob and quantizes its position to one of 16 shades of darkness, from snow white to coal black. The program would use that darkness level as the index to a 16-element table of initial timer values. Then it would turn on the heating elements and start the timer with the initial value selected from the table. At the end of the time delay, it would turn off the heat and pop up the toast. Come back next week, and I'll show you a working prototype."
The second advisor, a computer scientist, immediately recognized the danger of such short-sighted thinking. He said, "Toasters don't just turn bread into toast, they are also used to warm frozen waffles. What you see before you is really a breakfast food cooker. As the subjects of your kingdom become more sophisticated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete. If we don't look to the future, we will have to completely redesign the toaster in just a few years."
"With this in mind, we can formulate a more intelligent solution to the problem. First, create a class of breakfast foods. Specialize this class into subclasses: grains, pork, and poultry. The specialization process should be repeated with grains divided into toast, muffins, pancakes, and waffles; pork divided into sausage, links, and bacon; and poultry divided into scrambled eggs, hard- boiled eggs, poached eggs, fried eggs, and various omelet classes."
"The ham and cheese omelet class is worth special attention because it must inherit characteristics from the pork, dairy, and poultry classes. Thus, we see that the problem cannot be properly solved without multiple inheritance. At run time, the program must create the proper object and send a message to the object that says, 'Cook yourself.' The semantics of this message depend, of course, on the kind of object, so they have a different meaning to a piece of toast than to scrambled eggs."
"Reviewing the process so far, we see that the analysis phase has revealed that the primary requirement is to cook any kind of breakfast food. In the design phase, we have discovered some derived requirements. Specifically, we need an object-oriented language with multiple inheritance. Of course, users don't want the eggs to get cold while the bacon is frying, so concurrent processing is required, too."
"We must not forget the user interface. The lever that lowers the food lacks versatility, and the darkness knob is confusing. Users won't buy the product unless it has a user-friendly, graphical interface. When the breakfast cooker is plugged in, users should see a cowboy boot on the screen. Users click on it, and the message 'Booting UNIX v.8.3' appears on the screen. (UNIX 8.3 should be out by the time the product gets to the market.) Users can pull down a menu and click on the foods they want to cook."
"Having made the wise decision of specifying the software first in the design phase, all that remains is to pick an adequate hardware platform for the implementation phase. An Intel 80386 with 8MB of memory, a 30MB hard disk, and a VGA monitor should be sufficient. If you select a multitasking, object oriented language that supports multiple inheritance and has a built-in GUI, writing the program will be a snap. (Imagine the difficulty we would have had if we had foolishly allowed a hardware-first design strategy to lock us into a four-bit microcontroller!)."
The king wisely had the computer scientist beheaded, and they all lived happily ever after.
You are missing building your own host/target debug environment. You are missing tools and methods to reduce the footprint of your system to save $$ on RAM and mass storage for your high volume, cost sensitive application. You are missing watchdogs so a tow truck isn't required when a pointer goes wild. You are missing headless booting. The list goes on and on.
If you've never built a cost sensitive or limited power/ram/disk/clock application then you just don't think about these things.
-- Jack
Then again it could just be another evil Chinese commy conspiracy - uh, yeah right.
There are a thousand forms of subversion, but few can equal the convenience and immediacy of a cream pie -Noel Godin
Yeah, I guess the obvious Slashdot solution would be "use Linux on the car!" Then we'd have to install a little keyboard to do stuff like this:
/sbin/unlock /dev/trunk
dd if=/dev/gastank of=/dev/engine bs=1024k count=100
Anyway... ever think that this could be the result of shitty programmers and not the OS's fault? I.E., the functionality to do various things in an automobile are NOT built into Windows last time I checked...
Consider the following (idea inspired by this video):
- You put a copy-protected CD in your car CD player
- Your car suddenly behaves in an unexpected and unpredictable manner directly because of the non-standard effect of said CD
- You, say, get a speeding ticket because the display is now in KM/H instead of MPH.
While you are certainly responsible for the manner in which you operate your vehicle, what liability would the car manufacturer have, or the embedded OS vendor (Microsoft)*, or the company that released the CD?(I'm thinking back to the copy-protected CDs that would lock up Macs hard)
Certainly the excuse "my car's computer crashed" would hold about as much weight in court as "the dog ate my homework." But once fined (having incurred a loss as a direct (?) result of negligance), would the owner have a legal recource against the (car mfg | OS vendor | record company)?
With the continuing march of integration, what liabilities will be incurred when a CD crashes the OS on something (larger | more expensive | more dangerous) than "just" a PC? It sounds to me like a possibility for scaring the RIAA away from doing weird things to CDs... but IANAL, and I think this could use some discussion.
* In this case I'd expect, more likely than not, that Microsoft's contract with BMW absolves them of all liability, thus securely pinning all lawsuits on BMW.
"...America's great minds of today, teaching America's great minds of tomorrow. Poor bastards." -- A Beautiful Min
I don't care what the OS is. Unless it's cranked out by that same company that writes software for the space shuttle (or someone like them), I would NEVER turn control for that many parts of my car over to a computer. I've been working with technology long enough to know that I wouldn't trust my life to it on the freeway. If that means I drive the same old cars for another 50 years, so be it.
... claim the problems are due to the installation of bad drivers.
Sigs are bad for your health.
Using a proprietary OS would make it much harder for a single, easy to write virus to be unleashed. If there's a widespread use of the same OS, what's to stop spread?
How so? Windows is a proprietary OS and has more than its fair share of virii which spread partially because of the gaping security holes found by outsiders without access to the code. All a potential virus writer would need is access to one of these cars to start probing it for vulnerabilities. If you're meaning that a virus couldn't jump from a computer's OS to a car's and possibly back again (and therefore couldn't spread over an internet made of computers); I wouldn't be so sure, cross-platform virii exist. Personally I'd never drive a car where the computer has any control over critical systems.
(OT: reminds me of a sig I saw somewhere that read: "As a computer I find your faith in technology amusing")
On a more serious note, while this is funny, it shouldn't happen. A computer is one thing. There are lots of different pieces of hardware and other things to have to deal with. So you have to expect that something will go wrong every once in a while with a well written OS and software. But there is no excuse for crashing and random behavoir in a closed system like that in a car. People don't like to reboot their VCRs. If you had to reset TiVos contantly, do you think they'd be so popular? You should be able to use something for months without a single problem. My DirecTV reciever, my VCR, my Linksys Router, my networked HP Laserjet, and other things don't need any of my attention. They work without me having to reset them. Do they have problems? No, but even when something happens, just turning it off and on and that always fixes it. I can do it myself. I shouldn't have to call a repairman to come reboot something. So nothing should ever go wrong, but if it does it should be easy for the user to make it work correctly again. Just turning the car off and back on should fix the problem. There is no excuse for being lazy and having bugs in a closed system. (Closed in that the user doesn't change the hardware on it like they can upgrade a computer)
To end, I think it's fitting that I add this lyric from the song A Meticulous Analysis of History from Pinky and the Brain...
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
I've developed under Windows CE, Windows, Palm, Unix, and 8052 microcontrollers. For reliability I would choose those "platforms" in reverse order. And, yes, development tools, memory optimization, and watchdogs are available for all of them.
OS's are generally for when a single piece of hardware is going to have to do many different tasks. Maybe one user will use it to listen to music, another to burn CDs, another to develop software, another to surf the Internet, etc. Parts inside washing machines and cars, however, are not going to see such variable usage. A washing machine is always going to wash utensils. A car is always going to drive down the road. These are not applications that really require an OS. Some good firmware is all you need.
Using microcontrollers in cars is not new. They've been doing it for over a decade. Only now, when you start contaminating things with OS's such as CE, do you really see a problem.
That's what it would cost you, after dealer mark-up. A "computer" in a car is normally a "microcontroller," a single chip. So what they're really telling you is that it would cost $10k for 6 chips. And I can assure you that the unit cost of those 6 chips is under a dollar a piece.
If you can cut down the number of computers needed, you can lower the price of your car or increase the profit margin. Or both.
Increase profit margin, if that's possible. Are you really serious when you say they'd charge you $10k to replace the "6 computers" in your car???
The down side to that is that if the single computer fails, all those functions go away.
The problem is when you use OS's like CE it is entirely possible that the single computer will fail. When you develop it all on a microcontroller and get rid of all the fancy BS, you can get everything into a single chip and be stable.
You know, I really think it comes down to keeping Microsoft as far away from anything of any importance. And I say that in all honesty, not just to score points with the anti-MS crowd here.
It's a good question, and one automotive developers haven't really had to worry about until recently. When all they had to code was realtime control code for those 70-odd microcontrollers, they certainly didn't need an OS.
But the developers (or rather their marketing departments) have bigger ideas. A car is no longer but a conveyance - it's an environment, an entertainment centre, a home. So they mandate navigation, remote and stored diagnostics, centralised control of various settings (A/C, seat position, etc.), radio stations, RDS, CD control, media (MP3 etc.), radio, video (disney for the kids), and all of this controlled by voice input and giving voice output. Those are requirements a workstation or PC could scarely manage five years ago. Add to that the significant issue that most of those applications will be coming from third party vendors. Anyone implementing such a system has little choice but to put in a decent 32 bit microprocessor, a fair chunk of RAM (several meg, going on 16), and a half-decent OS.
WinCE (for automotive, whatever...) is certainly the worst choice. QNX, VxWorksAE, or Embedded(orRT)Linux would certainly be better - but the fundamental problem remains - this is HARD to get right.
Don't be fooled into thinking this is just an amusing diversion, where the worst that can happen is that your radio doesn't work for a while. This is a major safety issue - simply because the "infotainment system" doesn't have a wire to the steering or the accelerator doesn't mean it can't kill you. Imagine you're driving through a busy freeway intersection, at high speed in pretty heavy traffic. Suddenly the radio turns on, to a bad (noisy) channel, at FULL VOLUME. IT HURTS. YOU'RE SURPRISED. YOU LOSE CONCENTRATION FOR A SECOND OR TWO. YOU DIE. So do your kids, and those of the guy in the subaru in front. The lady in the dodge behind you loses a leg.
Also, don't think this is confined to high-end cars like BMW and Cadillac - auto manufacturers try out new stuff in the high-end lines before they push it further down the product line. Soon you won't be able to buy a vehicle without this stuff. And __nobody__ is doing a good job of making it.
## W.Finlay McWalter ## http://www.mcwalter.org ##
Pinning the problems on the user is really wrong in this case. This system was destined to fail. The only one that i've tried that was worse was in the Buick Reatta. (Anyone remember that?)
I was thinking, if you need a computer or embedded windows OS to open your trunk, then maybe, just maybe you should consider giving up driving. I own a 4WD truck that was manufactured in 1977. Sure, I have to actually get out of the vehicle to lock in the hubs (if I forgot), and *gasp* I actually don't have a remote for my stereo, but instead have "knobs". And, prepare yourself, I actually have a crank for the windows.
I use my truck in off-road as well as not-off-road work. (Mineral exploration). It has been submerged completely (once in mud) several times, frozen for most of 4 years, attacked by gnawing ground squirrels, and shot at numerous times (but only hit once). I could go to the dealer and pay cash for a new one, but I won't. I reject consumerism for the sake of consumerism. I feel no need to impress anyone, do not require peer validation, and don't give a rusty rats ass what anyone else thinks about me.
But, there is also the practicle side: I've never had to reboot the truck. Despite being submerged, its primary systems are intact and ruggedly dependable. It doesn't matter if it gets scratched or dented, because its made of metal (ask your parents what that is), and I can drive from here to Tierra Del Fuego and know I can find parts, cheaply, and do the work myself. And yet, in other areas I apply the latest scientific advances.
Man Gets 70mpg in Homemade Car-Made from a Mainframe Computer
While that may be a joke, the new Saab 9-3 (which everyone should look at...especially when it comes out in Arc/Vector versions, byootiful car) also depends heavily on computers (though thankfully it doesn't have the nasty iDrive interface.)
The interesting thing is that if these vehicles (new 9-3) lose the computer input, the car will just shut off. There is a 45 pin connector to the central computer that somtimes gets a little loose, and if the computer is lost, the car turns off. Other very random sounding error messages have been popping up (many of them long and unwieldly--"bi xenon headlamp leveling failure" even if the levellers are working perfectly fine.) So, either you turn off car, or take to the dealer, who gets periodic software updates. So yeah, software updates to exist..and SP1 for the 2003 9-3 has already been released. No doubt it has been released for the 745i as well.
funny, i always thought that washing machines were for clothes; maybe i have to update the firmware on mine...
I never said I was smart, I just said I was smarter than you
What's the diffrence between complex enough firmware handling multiple tasks and an embedded OS?? Oh yeah - NAME.
To some extent, scale, and I think modularity too.
I have been programming self-contained 8 bit chips that barely has RAM space, doesn't have memory management hardware but I do manage six different devices, four external and two internal, some through polling based I/O and some to interrupt based I/O. Is this an embedded OS?
For one, the entire piece of software is about 6k words, and the only thing missing is modularity. I can't just drop in someone else's software into it in binary or recompiled source form, like one might be able to on an embedded OS.
I've got a full mirror of all the videos here: WHEEEEE
So, to summarize, it's the worst because it says "Windows".
Nope.
It's the worst because a significnat number of the programmers at Microsoft write unreliable code that Microsoft ships. The result is something too unreliable for life-critical systems.
That's not just an uninformed opinion. I've spent much of my professional life (which started when the logic used vacuum tubes for the DIODES in the logic) writing high-reliability embedded software. (One of my colleagues once commented that I was the only person he'd trust to program his pacemaker.) My wife spent some years dealing with WinCE's bugs at a company that made the mistake of trying to use it in a telephony application. Some of her laments made my jaw drop.
I'm sorry if this annoys you, zjbs14. But an OS that crashes when you pass a NULL pointer (or handle) as an argument that is labeled "undefined" in an interface description is NOT ready for life-critical applications.
In fact, an OS that crashes AT ALL, no matter WHAT an application feeds it, is not ready for life-critical applications.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
It's awfully fun reading desktop programmers commenting on an article in a project management magazine.
Here's a few facts about your new-model car. The BMW is extreme with 70 electronic modules but the typical 2003 vehicle has 20 or 30 microprocessor-controlled modules, and the number is rising every year. These range from a door-switch module with 8K of code, through an engine controller with 256K/32K of ROM/RAM, to a navigation system at 8M/8M. Very few of these modules have a manufacturing cost above $100.
The OS in automotive controllers varies from a simple event loop at the low end through OSEK-compliant kernels in the midrange to QNX and its friends in the most complicated systems. If there's Linux in a controller, it will be as well-hidden as the Linux in Tivo. Engine and transmission controllers are designed for hard real-time operation and emphatically do not use anything remotely resembling a desktop or palmtop OS.
Software development starts with the premise that once it's built, you can't change the it, ever. This has enormous consequences for the way automotive code gets made. Most companies spec the hell out of these products, use a strict waterfall development process, are afraid to venture beyond the C language, and test endlessly. They are scared of agile methodologies and even of RUP. Productivity is pretty low, but on the other hand, the products are reliable.
Now, both the article and /. responses are full of misconceptions. There's not really much question about whether an OS vendor shares its source code. The real concern is reliability. There's not much question about who develops embedded software. Detroit is lousy with contractors. One billboard I see on my commute shows a toy car with the caption "about the only vehicle that doesn't run on our software. -- EDS" The GM guy's comment about 10 year old software has the obvious answer: his teenager's 1993 Chevy.
Win CE gets no respect from embedded software developers for several reasons. Chief among them are poor responsiveness, poor stability and code bloat. Typical comment, from an SAE conference presenter: "If you put an embedded system into a car, you still have a car. If you put a PC into a car, you have a PC with wheels."
Rather than rant any further, let me suggest reading any of the books on Jean Labrosse's site, EE Times and Embedded Systems Programming. And have fun! Embedded is where you can see software affect the real world.
I suggest next time you're about to enter a turn at 100mph, you back it off _before_ you get into the turn. Late apex braking is cool and all but I wouldn't risk it in a RWD car. I guess you can always look like a hero exiting the turn in a monstrous powerslide with smoke pouring from your back tires, but I imagine it'd hurt your times.
:)
Anyway, I really hope nobody ever finds a Microsoft logo on their cars..except BMW.
Yes, Germany is an industrial powerhouse, and the likes of BMW and Mercedes are world renowned for their quality of build and mechanical reliability. However, in my experience Germany has never been outstanding in the field of electronics (nor has much from anywhere else in Europe either). If BMW engineered this IDrive thing in Germany I'm not surprised it came out so quirky.
I've driven a few cars of European origin (or those that use Euopean components) and have found that the electrical/electronic systems in all cases were the weak points. It doesn't matter if the components--from the hall-effect sensors, MAPs, up to the ECM unit--has Bosch (Gremany) or Renix (France) or whatever, they have been a source of aggravation.
It seemed there were some exceptions. I owned a Renault awhile back that had a nifty little travel computer that did gas mileage, average speed, trip odometer, etc (sourced by Jager if I remember right) that always worked and was remarkably accurate--even when the car was over 10 years old. The same car was also equiped with a nice Blaupunkt radio. When I had to get behind the dash to fix other problems I had to pull out both componenets. Much to my dismay, both the Jager travel computer and the Blaupunkt radio were "made in Japan". Hmm...so much for the exceptions. On the other hand, things that DID go wrong (intermittent wipers, turn signal/horn/everything stalk Renalt was infamous for, intrument cluster illumination) all involved parts that were made in Germany or made in France.
I'd say as far as electrical and electronic engineering goes in may cases, Germany raks marginally better than France (which ranks marginally better than Britain). If you doubt me then look closely at a lot of the high-quality "german" electonic components (automotive or not)--and don't be surprised if the whole thing wasn't made in asia, or at least was made from mostly asian parts.
If it's "pure german" electronics, expect it to be overbuilt or overengineered and somewhat "rube-goldberg" in terms of design (it seems German electronics designers intinctively want to fly from Berlin to Paris by way of Beijing).
I'm sure eventually such quirks (like a crazy radio or brakes going on without brakelights and so on) will kill someone, and a lawsuit will be inevitable (perhaps sooner, especially if enough people in the Litigous States of America get pissed off--or hurt).
And money. And every once in a while a small child or pet.
hinderfreude ('hin-dur-"froi-d&), n. The feeling of joy derived from being in the way.