The automotive software experience

The automotive software experience
Wikisympathisant, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons

I see a lot of hate for car makers that don't have CarPlay or have a substandard implementation. I've experienced that, and it is no fun. We have had very expensive cars with terrible CarPlay implementations.– connection problems, lag, screen size issues, etc.

Developing software for car head units sucks. The hardware is specified years early and is underpowered and memory-constrained. The supply chain of headunit hardware and contract software is byzantine – fractured, crazy levels of secrecy, contractual nightmares, rigid handoff processes. Oftentimes a single car has 3-4 different headunit options with different software environments. Tools, emulators, and debuggers are years behind the state of the art for mobile or for web. Bluetooth stacks and chipsets are buggy. Traditional auto manufacturers are hostile internally to software updates, the development and test cycle is pulled way early. The teams are undersized. The teams have low status within the OEM, and many requirements are dumped on them from all directions. The OEMs have made unfortunate monetization commitments with Sirius XM and other providers. The car has to function well without attaching any phone, work well with iPhones, and work well with Android devices. There are unique regulatory requirements for headunit software – for instance, low distraction loads, and fast response for rearview cameras. The team has to simultaneously support new vehicle launches while also supporting head units 7-10 years old. It is a challenging environment.

Very few of us would want to spend much of our career building this software. I spent 3-4 years in the swamp and am glad to be out. Only the new auto manufacturers have managed to break out of this by spending more on hardware, appropriately prioritizing UX and appropriately staffing teams, simplifying the architecture and matrix of configurations, and simplifying the supply chain. That is why Tesla, Rivian, and other new entrants can have credible solutions.

So I have empathy for the teams. They need stronger leadership and corporate support. They need automakers that put UX first. They need chief engineers for auto programs that are software and UX savvy. This is a sea change of thinking and culture for most automakers. It will require very strong and very committed corporate leadership to change.

In the late 80s, PC software complexity was growing dramatically as Moore’s Law delivered more and more compute power to the desktop, and network connectivity began expanding dramatically. Microsoft hired Dave Cutler and a team from DECwest to build the next version of Windows.  Much has been written about this.  Several stars aligned to allow this to happen. One, Microsoft management (Billg) realized that a dramatic step up in technology would be necessary to realize Microsoft’s ambitions. Two, the Microsoft culture at that time was welcoming of great technical talent. Three, Microsoft had the equity to attract and reward world class technical talent.

The same dynamic is at work in the car. Compute power growing, software complexity growing, connectivity expanding. Automakers need to commit to great software and UX, make sure their culture welcomes the new people and focus, and figure out how to reward the people. There is still time to do this!