← Back to context

Comment by alright2565

3 days ago

I haven't driven this particular car, but if it's anything like any other infotainment system I've seen, I'm really hoping they're able get a profiler running on there to determine the technique they use to get massive frame drops on hardware they fully control.

It went like this:

We need a team of very good sw developers.

Maybe we can have 20% of the team be cheap "developers", people that have no inclination towards sw development to do the boring stuff.

Maybe 20% of real developers is enough in a team. The rest will learn from them.

Let's have 100% cheap developers, the project only needs changes.

We can get even cheaper developers, come to us with no prior experience and in 3 months we will teach you what you need to know.

Our projects are delayed due to covid.

Oh no, the Chinese!

  • TBH a lot of devs working on this are probably really good devs, but having experience in the German car OEM market I can quite confidently say that usually it's management pushing unreasonable deadlines/stupid features/setting priorities wrong. Kinda like in most companies that treat SW as second class citizen. Lots of catch up to do.

A friend had a nice job of driving BMWs for a manufacturer of such a system (it was early 2000s and the system was more embedded than Android/Linux). One test was setting a calendar alarm (because yeah of course the BMW needs an on-board calendar), and while cruising down the highway, wait for the alarm to go off, and then open a door. He said a colleague did this and the system crashed and went dark...

I suppose even driving 20kmh should trigger the "door open!" alarm.

BMW has a talent in that space. Over engineered modules with terrible software. I recently drove a Toyota rental and they seem to have hired some former BMW software people as well.

I don't need 120hz Apple-like design, but it's crazy how they can't even keep a basic 30fps UI running smooth. And they still try to throw in more and more bad running animations.

  • Those UIs are made by embedded software engineers that have been in the automotive sector for 40 years. They have no clue how to make a modern functioning UI. The company then hires a UX expert that draws out a full plan. The software engineers implement it, it looks identical to the UX specification… but occasionally drops to 10FPS.

    Probably because an important message passed by on the CAN-bus and that got a bit more priority from the CPU than the GUI

  • Do you have a specific example of a function that exhibits this?

    Both my BMWs (one each of the last two generations of iDrive) do not in any noticeable capacity, nor did my 2009 one with what was then known as "professional" navigation.

  • It's actually a little harder than people outside the UI framework space might think (there's really not a lot of time per frame; it's easy to put too much work where it doesn't belong; it's easy to regress if you're not monitoring for it after code changes).

    It's core to usability at this point, though. They should make the effort.