I never understood why car companies don't put more effort and resources into their MMI systems. Audi is a big offender. I've never seen a more thoughtfully designed car with an MMI interface that's more frustrating and buggy.
First is to bring the hardware and software design in-house. Except auto companies don't do well at software, they're used to letting OEM vendors write the engine control firmware etc etc. There's also the problem of the very long design cycles in car manufacturing. The new car platform being built today started its design four to five years ago. And that's when the hardware was locked down.
Volvo's platform was so old at launch that they threw in the towel and are now offering to upgrade your hardware if you complain hard enough.
The other choice is to shop it all out to a consulting firm or OEM vendor. Then you have cultural conflicts between the car maker and the programmers, communication overhead, choice of hardware conflicts, etc. And you know it's going to be shopped out to the cheapest bidder. And you're still at the mercy of launching with hardware that's way older than the smartphone in the driver's pocket.
I took a similar approach to this article on the MMI software for my 2021 Q5.
partial emulation of the user space on a near equivalent kernel. java backend w/ angular frontend for the UI.
I was exploring ripping out this terrible workflow of not being able to change the user profile unless the car is started, which means I'm often stuck craming myself into my wife's seat preset to star the car lol.
the f/w uses dm-verity however so I'm not sure what flashing would entail. I'm also afraid to try.
I'd rather try to get privilege escalation on the car itself.
Almost all hardware companies don't understand or care about software at all. They see "software" as just another line item on the BOM, like a screw or a gasket. You source it from the cheapest supplier and then attach it to the product somewhere on the assembly line. The idea that software is the interface to the user, a signal of quality, part of product differentiation, an ecosystem in which future products live... none of this even remotely occurs to most hardware companies, especially car manufacturers.
Isn't it because the nav feature is market specific? People generally don't seem to like nav software brought in from different continents, across the planet.
I'm european, recently went to Korea. The nav system was almost perfect, only complaint I have is that it signalled every single speed bump (I can see them, thanks). There probably was a setting somewhere to tell it not to, but I didn't care enough to try to find it.