I like my car. We have enjoyed many trips together. But on a Friday evening some time ago, we were not friends any more. The central locking refused to work when using the remote control, and being a modern car, only the drivers seat had a physical lock that accepted an old-fasioned key. No passengers could enter the car and none of the stuff in the boot was accessable. And of course, the garage were closing for the weekend. I had to realize that important stuff was going to be locked into the car over the weekend.
A couple of days later, I took the car to the garage and witnessed how they work nowadays. No mechanic did a physical examination of the car. Instead, an instrument was plugged into the CAN network of the car, and the car itself told the mechanic what the problem was. I know this is how it works, but I was still impressed. This led me to think about the value of car diagnosis, and in general, how good this is for many types of embedded systems.
The automotive industry have since long standardised on CAN networks and diagnosis protocols. But this really ought to be built into many more embedded systems. This is especially true for embedded systems that can't easily be brought back to the supplier for service, such as large farming equipment or industrial machinery.
I know that many embedded systems do have some diagnosis features, but I suspect it could be built into many more products. By looking at the simplicity of fault diagnosis at the garage, I am sure many other products would benefit a lot from similar features.