REINVENTING THE CAR, EPISODE 5

Code, on wheels

Software will play a central role in the upcoming car revolution. Unless legacy carmakers quickly reinvent themselves, new players will fill the gap to provide an OS and an app ecosystem.

Frederic Filloux
Monday Note
Published in
10 min readAug 9, 2020

--

by Philippe Chain and Frederic Filloux

When I landed at Tesla, I hadn’t realized how much the company was impregnated by Silicon Valley’s software culture. I’m not talking only about the car itself, but also how the whole innovation process is organized.

My first conversation with software manager Craig Carlson was a telling example. Craig was vice president for firmware and electrical integration at Tesla Motors at the time. He was in charge of all software systems and low-voltage electronics for the car, from the numerous firmware to the design of hardware and software that run the center display, or the mobile apps and server-based system that connect with the car. I was first stunned by the size of Craig’s troops relative to the rest of Tesla’s engineering staff: he managed almost half of the 700 engineers at the company. To put things in perspective, in 2011, Renault and Volkswagen didn’t have a single in-house software engineer. The code was handled by suppliers.

Previous episodes:
01: The car, reinvented. From scratch.
02: Your next car will be electric
03: How Tesla cracked the code of automobile innovation
04: The Global Race for Battery Supply

That month, September 2011, as VP Quality for the Model S, I arranged a meeting with Craig to probe him on how quality was handled in his department. In the car industry, at least as I knew it, everything — including software — is managed with a set of specifications defined at an early stage of the development of the car, which will eventually be modified at each major iteration of the model.

Craig doesn’t have a clue of what I am talking about. Coming from Intuit, Craig sees his work through the lenses of a software engineer, Silicon Valley-like. Hence his puzzlement with my question. “You are asking me about firmware specs?”, he asks in surprise. “We don’t have such things. This is not the way we do things here…” I realized that, unlike the traditional car industry where every piece of code is carved in stone years ahead, Tesla is functioning as a pure software company. As Craig later explained to me, his team relies on a bucket of features, bug corrections, etc. Developers draw from the bucket, based on priorities: number 1 is for the vehicle’s critical functions such as power management, braking, steering, safety features; 2 is for key functionalities of the car; 3 is for secondary features such as the electric windows or rear-view mirrors and 4 is for the rest. At regular intervals, releases are pushed over-the-air (OTA) to the car hardware, exactly like apps are updated on a smartphone. In the early days of the Tesla program, releases were made every two weeks. I quickly came to the conclusion that, when it came to software quality, I had no choice but to trust Craig and his team.

Later, I witnessed another example of Tesla’s agility as a software company. One day at the cafeteria, I overheard a conversation between a test engineer and his colleagues. The guy was senior enough to drive a pre-series of the car on a daily basis. Each day, when arriving home, he had to manually adjust the air suspension to prevent the front spoiler from scraping its driveway. Certainly not a major nuisance, but we could do better, he thought. “Why not having the GPS ‘talk’ to the suspension of the car, then when approaching my bumpy driveway, it would automatically lift the car to prevent any damage?”, he asked. “ — Well, that’s not complicated, frankly”, replied a software engineer, “This is actually a few lines of code”. The next day, they ran the idea to Jerome Guillen, at the time the head of the Model S project, and the modification was added to the bucket, most likely with a low priority assigned to it. But the feature was also low complexity, and it was implemented in the next release. Done.

I’m sharing this anecdote to illustrate the Grand Canyon-wide gap there is between Tesla and traditional automakers like Audi or Renault. Had someone at one of the legacy companies come up with the idea of developing a feature involving the navigation system sending instructions to a vital function of the car like suspension, it would not have gone anywhere.

Again, this is based on experience. At a legacy carmaker, any new feature has to endure a tedious process before even having a chance to see the light of the day. Once documented in detail, the project would have gone through a series of meetings where sales and marketing would have been asked if the feature would be a selling point for the car; then all the subsystems managers would have been required to give their opinions, suppliers would have been summoned, and a flurry of specs would have ensued. Assuming the feature had survived this lengthy journey, it would have been put in the pipeline and scheduled for the next major upgrade of the entire model, possibly two years down the road.

In practical terms, that explains the feeling of many drivers who don’t understand why the navigation system or the interface of their car display looks so outdated compared to what they get on their smartphone, tablet, or PC. In fact, the design is likely to have been set in stone five years earlier.

Car software has little to do with computers. First, for a car, there is no centralized operating system like in a PC or a smartphone. The term we use is firmware, which is a set of instructions that controls a particular piece of hardware, like injectors, power train, collision avoidance, windows, wipers, but also critical safety elements like crash features. In the event of a shock occurring on an electric car, for instance, a set of firmware will activate belt tensors, trigger the airbags, send a distress message, turn off the power to prevent an electric shock (the Porsche Tycan carries an 800-volt battery pack — twice as much as a Tesla — that better be to be disconnected in case of a major accident to avoid frying the passengers).

Due to their complexity, Internal Combustion Engine (ICE) automobiles carry actually more firmware than EVs: while a Tesla has 50–60 different Electronic Control Units (ECUs) controlled by firmware, an Audi will have a hundred. Car electronics are managed through a specific bus called CAN (for Controller Area Network) that allows microcontrollers and devices to interact through messages sent sequentially. This clever system was invented in 1983 by Robert Bosch GmBH and first featured in a Mercedes in 1991. Later, it was extended to aviation and various automation systems, including … prosthetic arms.

The race for a car OS

Weirdly enough, the car industry has yet to invent its own operating system. Given its advanced position and agility, Tesla is likely to get it first. Some carmakers are starting to realize that the train has left the station. No one understands it better than Volkswagen Group’s CEO Herbert Diess. Last June, Diess expressed his concerns during a management meeting:

“It will be years before we have reached the necessary level of expertise in software to be able to compete at the forefront. (…) Even today, hardly a line of software code comes from us.”
About VW’s competition, he added:
“One of the unpleasant truths is that in China our market leadership is not a law of nature. (…) In China, the leader in electric cars is now called Tesla”.

A year earlier, in a presentation before the financial community, Diess had outlined the carmaker’s software strategy, dubbed Car.software, which explicitly involves VW developing an OS-like stack, as summed up in these two slides:

While the number of lines is hardly the best way to measure the true performances of a piece of software, it provides a telling metric of its evolution, as also stated by McKinsey in this paper:

“As the importance of electronics and software has grown, so has complexity. Take the exploding number of software lines of code (SLOC) contained in modern cars as an example. In 2010, some vehicles had about ten million SLOC; by 2016, this expanded by a factor of 15, to roughly 150 million lines. Snowballing complexity is causing significant software-related quality issues, as evidenced by millions of recent vehicle recalls”.

The advent of a true, robust operating system for automobiles is, in fact, a huge challenge not only for carmakers but also for the entire tech sector as they will be tempted to join the fray: the likeliest evolution for the car industry is to see a competition between traditional carmakers and tech giants — with Tesla as the maverick — to come up with a car OS that will set the standard for the entire industry.

A car OS will also pave the way for two evolutions of the business: a drastic change in the value of an automobile and the creation of a profuse application ecosystem.

On the first point, let’s consider the following. Electric cars will enjoy a long lifespan and low maintenance, thanks to reliable motors, fewer mechanical parts, and predictive failure systems. Even batteries are now aiming at a million-mile lifespan. As a consequence, the depreciation of EVs will be much lower than for ICE cars. This can be seen already: according to the research firm CarEdge, a Tesla Model S acquired in 2017 will retain 63 percent of its value, vs. 53 percent for a Mercedes Benz Class S and 48 percent for an Audi A7. This is largely due to EV technology. But the potential for valuable software updates also plays a critical role in the preservation of the value of a new generation of cars.

Elon Musk once said that all the sensors needed for Level 5 autonomous Tesla are already integrated into the car (with a Level 5 autonomy, you summon the vehicle and it takes you wherever you like, without touching anything). Time will tell if this was completely true, but the principle already exists with the smartphone: each important release of iOS or Android wakes up hardware elements that were not in use before, like AI-related chips. The same goes for the car, especially since the cost of loading the latest chipsets is almost negligible given the price of a car. Some updates will simply improve existing functionalities or the user interface, while others will be major, paid-for features like assisted driving or range improvement (during hurricanes in 2017 and 2019, Tesla unlocked an 8–24 percent range increase simply by sending over-the-air commands to its Florida customers eager to flee the storm). We can expect that expensive features like future versions of the autopilot will follow the same path.

The car app store

But the ultimate leap in value will be the creation of an application ecosystem. The limit will only be the imagination of app creators. As an example, airport operators are likely to develop apps to manage car traffic and passenger flows. Here is a use case: Your flight departing from San Jose Airport leaves in an hour. Your dual app system — one in your phone, the other in the car — checks the flight status, the gate, and the traffic. It notifies you when it’s time to leave. Once in the vicinity of the airport, the app guides you to the parking space nearest to the gate. An alternative and slightly more futuristic scenario involves you dropping your car in front of the terminal, then letting the autopilot send the car to the long-term parking lot a few miles away (this will soon become feasible as geofenced environments such as airports will be well-suited for Level 4 autonomous driving).

Again, this implies major changes in the way car software is currently handled. These scenarios require the car and the phone apps working seamlessly, exchanging data in real-time with the airlines, the airport, the navigation system of the car, the parking infrastructure, and eventually, the autopilot. We are not there yet, but by that time, the dust will have settled: either carmakers will have developed their own OS — along with the SDKs to foster the development of third-party apps — and/or, tech giants will have taken-over, leveraging their current market positions in the phone sector to impose their own norms. I always thought that Apple had that in mind when it hired legions of engineers for its Titan project and filed applications for self-driving cars to the California Department of Motor Vehicles. I doubt that they completely gave up on the idea of replicating what they achieved for the 500 billion smartphone market with the 3 trillion dollar car sector.

Philippe Chain & Frederic Filloux

In episode 6, we will explore how electric drivetrain will open the way to new physical architecture and will impact manufacturing.

--

--