Imagine you wanted to install a system so you could pull a lever in your kitchen and have it open your front door. Would you string a wire to an electric motor controlled by your lever, or run hydraulic lines and install a pump?
Maybe it's just my bias talking as a senior software dev, but having spent a career watching software fail in inexplicable ways, and in the specific case of "if this door doesn't close, I will likely die" hand me the hydraulics please.
Also, my pinko commie ass would be remiss if I weren't to speculate about how if you fall behind on your car payments, these features among other drive-by-wire features would also allow a dealer to remotely lock out the vehicle until you pay up, and given the other shady things they already do to folks, I can't imagine this won't be an application for this tech too. Gotta fuck those poor folks till the line goes up, of course.
Edit: Or hell, doesn't even need to be if you miss payments. If you go too long for an oil change, your OEM could lock you out. If you aren't up to date on your Chevrolet+ subscription, they can make your steering wheel harder to turn. Or if you gasp try to service your own vehicle, ohhhh there could be all kinds of hell to pay.
Just, rampant opportunities to fuck with consumers just as hard as tech companies do. And isn't that what we all want in the end? Cars just as grating and irritating to use as our computers and cellphones are, in the thousand tiny ways per day they are?
The question was cost, complexity, weight, etc. Reliability is an different issue. But nothing says an electronic system can’t be extremely reliable too.
Your fear of being locked out makes no sense. That was feasible the moment you had a cellular modem and computer control of the ignition. Modern cars already have electronic control of the brakes for ABS, it’s just not in between the pedal and the calipers. Brake by wire changes nothing in terms of the ability to remotely disable a car.
When it comes to brakes, the first three priorities are reliability, reliability, and reliability. If indeed the brake-by-wire is as reliable as it's cousin, fine and dandy. But I've worked on brake systems and I, to be blunt, like the idea that if you slam on the brake pedal, oil travels through lines and closes calipers upon brake discs. You can do this with a car turned off, with it's engine disabled, with it's electrics completely dead, because the linkage between your brake pedal and the brakes is a mechanical one.
I'm not saying there aren't ways to make this equally safe with software, I can think of many ways. Do I necessarily trust the built-to-cost auto industry to do them? Ehhhhh....
Agreed. In a perfect world, wire-based systems should be cheaper and more reliable. But as a software engineer, I can tell you that current software development practices do not produce software that is reliable enough to entrust it with your life.
And when corners get cut, the software development lifecycle tends to be an easy target.
There are plenty of places where we entrust software with our lives. We don't yet have brake by wire, but we certainly have software-controlled brake actuation on any car with ABS, and that could easily kill you if it activates at the wrong time in the wrong way. Uncommanded acceleration is another possibility that might have actually killed people (or maybe it was just floor mats). Outside of cars, your microwave could burn your house down in the middle of the night with the right sort of software bug. So could any device with a lithium-ion battery. And of course numerous airliners are fly by wire and they remain the safest form of travel out there.
Now, I certainly wouldn't trust anything written with a typical app development process with my life, but it's not the only way to do things. I'm totally on board with being pessimistic about most software reliability, but it's not realistic to say that no software can be reliable enough to trust with your life.
> We don't yet have brake by wire, but we certainly have software-controlled brake actuation on any car with ABS
The software is limited to being able to flutter pressure going to the actuators within the calipers. Basically it de-pressurizes/re-pressurizes the actuator very quickly. ABS cannot engage or disengage the brakes in totality, that is exclusively done via the pedal. (In the systems I've worked on anyway)
> Uncommanded acceleration is another possibility that might have actually killed people (or maybe it was just floor mats).
Rather famously, early Prius models had issues where the drive-by-wire throttle would become stuck on due to a software malfunction.
> Outside of cars, your microwave could burn your house down in the middle of the night with the right sort of software bug.
Um... how? I could see this if something suddenly let go quite violently in the power supply maybe, but that's far likelier to happen when the unit is in use, not when it's sitting idle. And more to the point even if the computer inside had a bug that caused the magnetron to engage at full whack with nothing in the microwave... I mean it probably wouldn't be good for the microwave, but I don't see how that equals a fire.
> So could any device with a lithium-ion battery.
That one's true though. But good electronics are monitoring all the voltages across all the lithium cells involved, along with temperature, and many have perma-kill switches if anything looks too off for this exact reason.
> And of course numerous airliners are fly by wire and they remain the safest form of travel out there.
They're also absolutely drenched in aeronautics gear that is both managing the aircraft and verifying that the redundant systems are ready to take over, reporting the same data, and that all is well. And aircraft regularly get grounded if anything even seems like it might be off with it.
What is checking "if anything looks too off"? Pretty sure there's software involved there.
And yes, I know airliners have all sorts of stringent standards. But the fact remains that many of them do rely on software to keep the occupants alive.
Making software reliable enough to bet your life on it is hard, but not so hard that we should consider it to be an unattainable goal.
> What is checking "if anything looks too off"? Pretty sure there's software involved there.
It's not just software: is software running on redundant systems that can check one another for consistency and performance. You're never going to see that level of engineering in an automobile, cars would be far too expensive if they were as complex, electrically, as an aircraft. Aircraft are only getting away with it because, as you correctly observed, if the computers malfunctioned, they're going to fall out of the sky and kill all your passengers. If your car malfunctions, it just won't move/will stop moving.
That “it anything looks too off” was battery management systems. I don’t think they have redundant systems.
In any case, the sentences I was replying to was:
> But as a software engineer, I can tell you that current software development practices do not produce software that is reliable enough to entrust it with your life.
All I’m saying is that this is wrong and we do routinely trust software with our lives. If you want to explain how it’s done and why it’s done that way, go for it, but it sounds like you think you’re arguing against it.