“America runs on Dunkin’” according to one coffee and donut retailer. However, our cars and applications run on code. Lots and lots of it. When I was learning to drive, car engines had 50,000 lines of embedded code in various electronic control units. Today’s cars run on anywhere from 10 million (Chevy Volt) to 150 million (2016 Ford F150) lines of code, which control almost every aspect of the car, starting with the engine and covering climate and emissions control, entertainment, safety, and telematics.
But wait, there’s more code on the way. In addition to assisted-driving systems available in high-end models that monitor the surroundings to detect and alert drivers to potential hazards relating to blind spots and lane changes, technology and automotive companies are working on limited as well as fully autonomous self-driving vehicles. These new capabilities will require tens of thousands of additional lines of code to replace the human driver’s brain in analyzing the car and its surroundings and making split-second decisions regarding navigation, acceleration, breaking, steering, and signaling.
Sounds like progress, right? Not so fast. While the quantity of additional code needed for self-driving appears to be relatively small compared to the tens and hundreds of millions of lines of code already in our cars, there is a huge difference in how the new self-driving code will directly affect the driving experience. The current code only guides the operations of mechanical and electronic systems under the hood or dashboard. The only time that we really notice the code is when an electronic control unit malfunctions and needs maintenance. In contrast, self-driving code will take control of the steering wheel, which may not even exist in future vehicles, as we are relegated to the role of passengers chauffeured from one destination to the next.
How will that make us feel? I remember feeling an acute sense of lost control after switching from manual to automatic transmission cars. Driving a car with a stick and clutch was demanding, yet satisfying in requiring the use of both feet and both hands and greater attention to driving (no free hand for texting while driving). I expect that feeling will pale in comparison to that of traveling, no longer driving, in autonomous vehicles that will be designed for maximum safety and efficiency and therefore unlikely to accept anything more than limited requests and suggestions from its human cargo.
Self-Driving Is Concerning to Many
Apparently, I am not alone in this feeling. According to a University of Michigan Transportation Research Institute 2016 survey, few drivers are ready to give up their steering wheels. Nearly half (46%) of those surveyed prefer no self-driving while 39% prefer partial self-driving. Only 15% prefer full self-driving vehicles. Nearly all (95%) drivers would want self-driving cars to have steering wheels and gas and brake pedals to enable human beings to take control.
So what’s my concern about having too much code in my car have to do with having too much code in my applications? Both represent a loss of control that directly impacts my experience. The same way that I want to remain in the driver’s seat to navigate my own way on highways and byways, I want to be the one who determines how applications serve my needs. While I truly appreciate the hundreds of thousands or millions of lines of code that drive how applications operate, I prefer not to defer to a developer who designs applications for many different kinds of users and businesses. Those generic applications can’t reflect my work preferences and needs relating to how data and information is organized and presented for me and other internal and external people. Off-the-shelf applications can’t predict the work processes for which automation would benefit me the most.
What’s a Person to Do?
Customized business applications are the solution. However, building my own applications entirely from scratch isn’t an option; I have neither the time nor the programming skills required for that. Hiring developers to build custom applications for me is also a non-starter due to the lack of time and budget required for that. What I can do is build custom applications that fit my needs for tracking and reporting on projects and other data by leveraging a platform that has code under the hood written by professional developers to power custom applications without requiring any additional code.