More Apple Car Thoughts: Software Culture
mondaynote.com
mondaynote.com
Car companies are incentivized through their engineering know-how, massive supply chains and complex dealership relations to keep optimizing complex gas engines that require significant maintenance. The software folks, having no burden of legacy on the other hand are incentivized to make the engine and car platform as simple as possible, basically an electric motor (or 2, or 4...) with virtually no serviceable parts. The cost and profit structures of the two sides will look very different, and that is going to make the customer experience much better on the "innovative" side (no more haggling the price of a car for example, 1st party servicing, etc).
Forget the Palm quote. Look at Nokia in 2007, when the iPhone was introduced: 50%+ marketshare, 100,000+ employees, 100 million+ devices/year, they already had "advanced" features like app stores and web browsers. But they were fundamentally a hardware company and supply chain oriented, optimizing the bill of materials and crippling their products to death, and could not make the transition. Not even 10 years later, they are extinct! That is what BMW and friends should be worried about.
A single messed OTA (or heaven forbid maliciously corrupted) could inflict some serious pain.
Why would you assume the software they wrote for a smart-phone would be the same software they'd write for a car?
Take the Android Hangouts App for instance. In using it for a year, I've yet to have a non-buggy experience. First, the phone would stop ringing for incoming calls. Recently half of my outgoing calls will fail to open the audio device, so the other end can hear me but I can't hear them. Nevermind the everpresent dropped calls where the app just disappears. If your response is to say "yeah, but that's a downmarket VOIP app" then you've proven my point, given that it is published by one of the largest web companies around.
Bell engineers made reliability a design goal. Internet engineering assumed poor reliability could be compensated by endpoint software - this works really well for layer 3, but by the time you get to layer 6 and 7 you should really stop kicking that can down the road!
Your landline keeps working in a power outage because every CO is full of lead acid batteries, all the equipment runs off of a 48VDC rail, and power is even supplied to end-user devices so they continue to work as well. From the SV viewpoint this is obviously a complete and utter waste, but it's awfully nice to be able to communicate in a power outage (especially as emergencies tend to compound).
Nevermind the modern standard of ridiculous UI latency. The general guideline for an imperceptible delay is 10ms - that's 10 million instructions at 1GHz. Yet anything that gets "modernized" with a touchscreen inevitably has input lag 10 to 100 times that - amateur hour!
Yet these horrid devices are invading everywhere you'd traditionally have a simple well thought out interface with tactile feedback - including cars. Why bother spending design time up front when you can punt to soft controls, and then release "updates" if you're ever taken to task?
So no, I have little faith that our self driving car future won't involve a lot of abrupt stopping (because presumably the motor controllers will be engineered [correctly]) due to some undiagnosable error, and then a 2 minute wait while the system reboots. I can only hope the windows aren't LCD panels that turn dark for the process.
The insurance company totals the car then passes it off to a hustler who dries it out, replaces the major electronics, and sells it as "lightly used".
For possibly being not able to roll windows down, that ship sailed a long time ago. Although there is a huge reliability difference between a simple switch on a direct battery rail, and relying on two microprocessors plus a likely DC/DC converter.
But the traditional car manufacturers do no have this will. It does not fit their world view. The idea of an OTA that changes the car is abhorrent to them. They looked at bemusement when Tesla did UI feature updates OTA, confusion/doubt when Tesla changed driving dynamics OTA last year, and horrification at the "self driving" features recently deployed. And they have no plans in this regard either, they are entirely convinced they are right and the rest of the world is going mad and will surely self-correct. The luxury 2015 model German sedan you buy today will NEVER receive a new feature, or even bugfixes except at a dealer, while Google and Apple are all about creating new platforms spanning multiple products & years. And that is why the Germans will lose.
The question at core of the post is: how simple is possible?
When iPhone launched it didn't have copy and paste. That was fine because you can iterate on software and user expectations are different. But you can't launch a car without airbags.
What complexity can the software folks eliminate and still have a viable product? The internal combustion drivetrain is a good example, though replacing it with electric has its own complexities (e.g. batteries and their control systems). But is there much more? Software-culture companies are having problems being clever with just door handles. Will you convince users they don't need reliable cup holders - a plain old boring mechanical part?
If you can't simplify much more, will just IC to electric swap make enough of a difference?
Unless you were holding it wrong ;)
> Copy/paste wasn't a core part of that functionality.
So, what complex car functionality do you reckon is non-core and can be cut by Apple?
[0] http://www.techsite.io/2015/10/16/ericsson-engineers-thought... [1] http://www.pencomputing.com/reviews/apple_iphone_3months.htm... [2] http://www.washingtonpost.com/wp-dyn/content/article/2009/07...
That's the same thing today too.
I still think that complexity of everything else actually required is not to be underestimated though.
This is a very insightful comment. Take as an example the recent 1.0L three-cylindre 120hp Ecoboost petrol engine by Ford. It's so small the entire thing fully assembled fits onto an A4 sheet of paper. It's not actually a very big part of the car.
Meanwhile, the Ford Fiesta which this goes into has increased its total weight by almost 50% since 1980. Factoring in weight reductions in the engine, that's 350+ kg worth of increased safety and comfort, none of which is particularly simple engineering, and none of which can be eliminated in a modern electric car.
But maybe the game changes when using something like Gordon Murray's iStream manufacturing or how BMW is building the i3 & i8.
Who knows. Airbags are reliable, well understood technology. But maybe there is something better. With an active collision detection system, something else might work better.
It turns out, when you have 100 models, it's really hard to engage in "platform thinking". When the iPhone came out, it provided a single unified platform to target for the first time; despite all the effort other players had poured into their developer offerings they were organizationally not setup to succeed in providing a single target.
As a customer, do I even really want to have to research and pick between the BMW 328d Xdrive and 335i Xdrive Gran Turismo? If I use the configurator on BMW.com, can I even get the exact car I spec? No, of course not, at the end of playing with the tool I get a phone number for some shady dealer who's going to sell me what he has in stock unless I want to wait 3 months. If Apple releases the "iCar 2018" as a single model (customizable online, just check the box for 4WD), it will have all sorts of implications for the third party services and parts market. Just look at the whole ecosystem that has sprung up around Apple already. It's so much easier to buy fancy third party tires or whatever when you know it will be compatible with your car.
Question your assumptions. Why does Tesla need more than 3 models? Why does the tires need changing twice a year? Could a value prop be made where these concerns are just eliminated, which would be a competitive advantage for Apple and good for customers, while for traditional manufacturers and their dealers "fixing" this would cause a negative impact. Again, look at the incentives at play.
Most Silicon Valley "cultures" are geared towards constant rapid innovation at the expense of more bugs. Apple for instance tends to favor adding groundbreaking new features as quickly as possible, followed by a big stability-oriented cleanup release once every few years or so (e.g. Snow Leopard, El Capitan). This results in complaints about software quality, but people deal with the bugs since the features are so desirable.
It's a different proposition when bugs = people get hurt.
Not a ton of SV companies have operated in those critical environments and those that do (medical) tend to be really "boring" and enterprise-y. This is going to be AS MUCH OR MORE of a shift as learning how to engineer a different kind of hardware.
The people who would build car brains for Apple would be hired from Car manufacturers.
The analogy would be any non-car software made by car manufacturers. It usually stinks, but isn't made by the same people who build car sw. It stinks because it can, which is because it's cheaper and no one dies because the www build-your-car configurator has bugs.
As for actually manufacturing a car: If I was Apple I'd buy a facility like the recently closed Saab plant in Sweden, where there are lots of skilled people and a factory ready to use (It's actually still making cars at small scale for various small manufacturers)
From the perspective of the car makers they too can hire software brains from software companies.
Do you seriously think, a motor, chassis and four wheels are all there is to make a car? Or its easy to manufacture cars in bulk.
By any reasonable argument, learning how to write software(skills for which are common place today) is far easy than learning to build and manufacture millions of cars.
I don't think it's that easy, but I do think that once you are at the bulk manufacturing step you have already reached most of the way to the goal. If you have a working car prototype that passes all the regulations in dozens of countries, you have a network of retailers that can sell it and service it and so on (Not a small feat!) then the biggest problem has been overcome already.
It keeps getting repeated that Apple can't just "go to Foxconn" to get their car built, but that seems to overlook that "car brains" have essentially been produced by the likes of Bosch for most cars for ages, and that there are manufacturers like Magna-Steyr that have manufactured cars for the highest bidder for a long time. So again: there are huge hurdles to overcome to launch a new car, but two that I don't think apple should worry so much about are 1) Bulk manufacturing and 2) "software development culture".
That is arguably a harder change than just learning about a new type of hardware. It means every release is a stability release (times ten).
It's true that this sector is not generally associated with Silicon Valley. However, the programmers exist, and there's a large body of accumulated lore in how to write bug-free software. The big question is: can Apple/Google/Tesla hire them? It's not like the guys who build iCalendar are suddenly going to be working on self-driving cars, it's more that Apple's going to import people that have worked in similar industries to form the nucleus of their self-driving car groups. And my money is that they'll be successful: working conditions and compensation are much better at SV giants than at your typical enterprisey software consultancy that subcontracts for Boeing and Detroit.
Come to think of it, I wonder if Google's Alphabet restructuring was largely to enable the groups within it that need to work in a bug-free environment to develop bug-free cultures.
"I am one of the many who believe culture always wins. Culture eats strategy for breakfast, it causes mergers and acquisitions to fail and, above all, it resists virile executive calls to change. Culture evolves slowly, as if having its own independent will, or not at all."
How do you think the culture of those safety-critical companies compares to Apple's today? (But yes, like Alphabet maybe Apple is restructuring internally to better cultivate this culture.)
Android had a very Apple flavor before Sundar took it over (Andy Rubin started his career at Apple, then worked at Apple spin-off General Magic). Google+ had a very Microsoft flavor under former Microsoft exec Vic Gundotra. Both of these moderated as they came in closer contact with the rest of the organization, but in their early days, there were pretty steep walls protecting them from the rest of the company.
To succeed in the marketplace, the software in new cars just needs to be no worse than the car software currently in the marketplace. That is a much lower bar.
It's worth remembering that people made the exact same arguments about the iPhone: "this isn't a desktop computer that you can just reboot, a phone is safety critical--a 911 call MUST go through." Not a concern anymore.
With bulk of the people out there having no infrastructure to charge their electric cars. And needless to say if we know we are generating enough electricity to have countries full of electric cars.
… but does Apple’s personal computing software knowhow
translate into the high-reliability real-time code
required for a safe, reliable and, of course, elegant
electric car?
It doesn't have to. Not all the software in a car is high-reliability real-time code. My prediction is that Apple will make all the user facing software and buy all the rest.
The reason I think so is that it's not enough to write the
high-reliability real-time code. Besides thoroughly testing it you will have to get it approved by authorities - worldwide. Proud incumbent automakers look down on the interlopers. Dr.-Ing. Dieter
Zetsche, head of century-old Daimler-Benz, has no patience for Silicon Valley
companies intruding on his turf:
“What is important for us is that the brain of the car, the operating system, is
not iOS or Android or someone else but it’s our brain […] We do not plan to
become the Foxconn of Apple,” Mr. Zetsche said, referring to the Chinese company
that manufactures iPhones.
That sounds like a Daimler car had a Daimler brain but that's just not true.
The most important ECUs are made by companies like Bosch, Continental or TRW.
These suppliers sell to all car manufacturers and they will be more than happy to
supply one more.Thinking about it this makes me really curious how Tesla handles this. Has anyone an idea which third party ECUs from which suppliers they use?
That's actually a very interesting point in light of the Foxconn comment - it seems to make a lot of sense for Apple to get the car hardware from a Chinese manufacturer, e.g. Geely.
That would only make sense if there was no further development of high-reliability, real-time functions. But a lot of the opportunity for advancement involves software controlling key driving functions, not just the user interface.
There is no way to get around having to engineer bug-free code in new assisted driving features. Which are about to get a lot more complex than they've ever been before.
A few days later, I found myself at a BBQ filled with other fellow German ex-pats and basically all of them were working for Mercedes [1], VW, Bosch [3] ... As it turns out, all of the big German car companies are conducting research out here.
It seems like a lot of the interesting UI and Autonomous Vehicle research is being done out here. From what I gather, they seem to think that the mechanical engineering going into these cars can be done in Germany at a level that they are happy with, but anything to do with the UI/UX and Software that controls the vehicle would be a better fit over here.
I am originally from Stuttgart, which is where Bosch, Porsche and Mercedes were founded and have their headquarters and I tend to agree. Germany is a great place to optimize an existing technology or come up with interesting mechanical changes, but dealing with something as fluent and user-centric like on-screen interfaces or the Software running e.g. the Navigation, doesn't particularly play to the slow moving German company mindset. I think that as long as there's a problem that can be measured exactly (torque, gas milage, ability to withstand mechanical pressure, ...) a German company will do a great job. For the "softer" qualities, I can see a good symbiosis with the culture out here in the valley.
That being said, meeting all of these people and seeing the companies within a 20 minute drive was an entertaining turn of events.
[0] https://www.google.com/maps/@37.3866231,-122.0357596,3a,15y,...
From a software engineer perspective, if you work at a car manufacturer, you usually do not write software yourself, you're hired to write specs for external companies and verify that the results are conformant. Which honestly is boring.
The car manufacturers should react to the influx of new competitors (like Apple, Google) by becoming software companies themselves, but management is too stupid to see that. S1nn is a perfect example: Apple or Google would have bought the company right away, so should have Porsche. Guess who bought them instead? Harman.
Sounds like a hilarious game of chinese whispers / telephone. :)
Messrs. Zetsche and Lutz might want to meditate on Palm CEO Ed Colligan’s infelicitous words mocking the newborn iPhone in 2006 [emphasis mine]: “We’ve learned and struggled for a few years here figuring out how to make a decent phone. PC guys are not going to just figure this out. They’re not going to just walk in.”
Apple was able to use the wedge of UX to convince customers to but their devices and gave them time to fix the gaps in their hardware and software.
Google first bought a software team and then partnered with HTC to get hardware for the first Android phone on the market - again it wasn't a pure "PC guys" "just figuring it out."
But the Colligan quote is well on its way to becoming historic out of context, like Olsen's and Gates's.
IMO, Apple will need another wedge and that car makers screw up in order to repeat their iPhone success. This is a possibility, but not a certainty, as some here proclaim.
The advantage of the incumbents is that cars, as long as they have to be driven manually, are not entertainment machines and cannot really be entertainment machines. Passengers already have their own phones etc.
I think Tesla's on to something, but it's not software. I don't think it will necessarily transfer well to Apple.
They have set the bar pretty low, despite their myriad of experience.
Pretty sure a technology company that designs cpu's for a living can do better than toyotas example of what not to do, at least in an electronics sense.
They have already hired staff that has a lot of experience in this field, and already had all the engineering chops and bank account to fund this.
While they have a lot of experience to catch up on in the auto industry, I don't think it will be amateur hour.
Has Apple ever released a cpu that had the same quality control issues as Apple maps?
He had an excellent run in the motor industry, but now he seems to be sadly outdated on what is happening. So I think we should all be happy to take the opposite side of his position. Which is that huge wrenching changes are coming. And not from the incumbents.
But I don't think Apple's products tend to win because of better engineering. They somehow do OK on making the product and a stellar job of selling it. They've built a cult around their nice looking things with simple interfaces. Whenever they make something new, you can always find a friend (non technical) who praises their stuff. Undoubtedly, when they build this car, that same friend will be praising the 8th wonder of the world.
Look at finder its worse than windows 95's file explorer
Do you really want the company that created iTunes for windows to drive your car?
PayPal was a merger of two companies BTW.
Judging by the work Google put into WebKit before the fork, Apple didn't even have a rigorous testing coverage, fuzzing, etc IIRC.
I wouldn't even trust Google to do the kind of stuff automakers and defense contractors do with respect to verification and testing. Someone else was right, this could only come from their hardware groups like PA Semi and not from the guys who write the apps or OS front end.
Also, isn't self-driving vehicles a more difficult software challenge than guiding a rocket?