Some thoughts about Vehicles as platforms with API’s. We want to enable vehicles to be open ecosystem that can support 3rd party applications and utilities of various kinds. These applications and utilities will have access to Open API’s that enable them to make use of all the capabilities of the vehicle to enable valuable new capabilities to be implemented. This API will need capabilities that fall into rough categories which we will discuss in turn.
Tesla Cybertrucks will provide 110, 220, and compressed air for accessories to tap into. Even conventional cars should have standard ways for outboard accessories to get power, control signals, and perhaps other things like vacuum. Standard connections should eliminate the need to splice into factory wiring harnesses.
Lastly, consider standard bays and racking. There are standards for in-dash stereo mounting. Great, let’s make the dashboard fully modular so a third party can replace the climate control module with something else. Let’s put optional bays in the trunk so if you want to add a bunch of amps, eqs, and what not to the entertainment system they will just plug right in with standard power and control connections already there.
Given how big a part of a vehicle the entertainment system is for many folks we probably want provision for standard audio and video transmission throughout the vehicle. In other words, I no longer need to remove most of my car’s interior to change speakers or amps. There are perfectly good high quality cables that connect audio and video from dash to all speakers and the trunk.
A good brainstorming medium is to look at the modular tool storage systems companies like Milwaukee and DeWalt offer. These are well-fleshed out ecosystems that specify how a variety of storage containers can work together and how batteries are shared among power tools. Over time individuals make substantial investments in these systems and become very loyal to particular systems as a result.
What’s the equivalent for Vehicles?
For work vehicles, it may be highly desirable to be able to have standard storage bays that are compatible with each of the popular modular tooling systems. Having a pickup ready to accept my Milwaukee Packout tools would be awesome. Even better would be functions like a liftgate that assists with loading and unloading heavy packout carts. If the docking areas also had provision to automatically charge any tools there by passing along 12V to the modular toolboxes, so much the better.
While we’re at it, think about how luggage should deal with all this. If I’ve got a laptop bag, I want to clip it into some standard connection so my laptop is charged and I can even run it and communicate with it from inside the car.
Bikes, canoes, and external cargo carriers are all things routinely attached to cars and trucks. Trailers as well. In each case, brainstorming what the next generation of capability should be is important. If I secure my eBike to the car’s bike carrier, why wouldn’t the car charge the e-bike? Why wouldn’t I be able to plot all nearby bike trails on the nav system so I can find new fun places for my bike ride?
Vehicle UX and Hosting
What sort of environment to run my car app in and how do I talk to it? How does it access the various onboard displays and input devices of the vehicle?
A Teslas’s central touch screen will look very much like most computer API’s. But a more traditional vehicle instrument panel is quite different. The API should allow monitoring and/or reprogramming of every input and output device. If I want to stop the car by pushing the switch to roll down my window, it should be possible to do so. If I prefer different functions on the stalks and buttons located on the steering wheel, it should be easy to do so. If I want to take control of the Nav Screen to present information from my app, it should be possible to do so.
Add-on displays such as Heads Up Displays, and in-steering wheel displays should be imagined and built into the capabilities of the API.
If I want to transfer control of the entertainment system to rear seat passengers, perhaps even to a laptop in their hands, it should be possible.
In addition, it should be easy for mobile devices to plug into the vehicle via Bluetooth, WiFi, and USB plugs (for max security a wired connection is desirable plus we may want to charge the device while it talks to the vehicle).
All of the UI needs to be amenable to skinning. Whether I want my favorite athletic teams, kid’s names, or whatever, it should be easy to add that. LEDs can change color. I want my dome lights to be red to protect my night vision at night and white for best illumination of dark corners during the day.
Of course I want first class Internet Connectivity. But with that comes peril. I do not want some hacker coming in through the Internet connection and taking over control of my car. I want speeds good enough to stream video. I want to be able to make calls or be called. Yada, yada.
Today many cars can tailor performance with knobs that have settings like “Comfort”, “Sport”, and “Track”. What’s the next step?
- Data monitoring. Obviously all the usual data should be able. But in addition, we’ll want things like accelerometer info.
- Active Controls. ABS added active control of brakes so they became much more effective. Fuel injection actively controls the delivery of fuel and changes how that’s done to optimize the results. Modern ECU’s will integrate ignition and cam timing as well. Magneto suspensions bring this capability to suspension. There’s still more work to be done in terms of enabling further active controls. Being able to precisely tailor how a turbocharger’s waste gate dumps excess boost can significantly improve performance.
- Situational Awareness. Sometimes performance should be relative to the situation. If the car can see you’re about to enter a turn way too fast but there’s still time to slow down, it should slow down. If its raining, performance should behave differently. If the car has malfunctioned and is starting to overheat, it should drive differently to minimize further overheating. The API should make it possible to tailor all manner of situational awareness into the system. For example, a gated community may want to impose a speed limit on any car that enters the community to keep children playing there safe.
This is a huge area both for utility and interaction. We want accurate GPS navigation that is highly customizable. Think about creating arbitrary services like Waze that show up on your car’s nav system. Maybe I want a delivery truck to show stops in order with a minimum-cost route automatically plotted. The software is aware of the time of day and promises made and will automatically update the route and notify the home base of exactly what’s going on as the truck moves from stop to stop.
Or, perhaps a freight service wants to know why drivers have stopped when they do. The system can ask the driver to state what they’re stopping for and provide a complete record back to the home base to make sure everything is as it should be.
Huge area. Fairly obvious what’s needed. Bring back the customizability of old school car audio. We hate the proprietary systems of today where you have to rip out almost everything to upgrade anything.
Real world interesting things one could do with an API and capabilities like this.
Modular Tooling Compatibility
This will be huge for a lot of the blue collar trade. I have to believe it’s already near production. If not, I would accelerate it to top priority as it provides strategic lock-in that will be a great competitive moat going forward.
Auto-Fueling and Resource Seeking
Simple Example: My electric car’s battery is low. There’s a charging station at an upcoming exit. If I pass it, the next charging station is outside the range of my remaining battery. The car needs to warn me in plenty of time to decide whether to stop for charging. It needs to autonomously drive the car to the charging station. It needs to autodock with the charger so I don’t even need to get out of the car to charge. And, it needs to negotiate the best payment considering things like various programs I may belong to that get me cheap electricity.
BTW, this may not be a matter of running altogether, but rather that it will be significantly more expensive or take a lot longer if I miss the charging starting I am coming up on.
Or, I may run a fleet of alternate fuel vehicles (propane, LNG, or whatever). There are a limited number of places where my vehicles can refuel. Keep my minimum wage drivers from screwing up and getting my vehicles stranded.
It should be impossible to lose my car in a big parking lot. If I don’t remember where it is, I should have an app on my phone just like Apple currently offers where I can see where the car is on a map, and I can cause the car to tastefully signal me as I get close.
Tow Company or Other Service App
I run a service such as a Tow Company, Armored Car, Floral Delivery, or Fish Guy (he comes to your house or dental office to maintain your aquarium) and I want an app that helps me use my vehicle the way my business wants it to be used.
Like what you read on CNCCookbook?
Join 100,000+ CNC'ers! Get our latest blog posts delivered straight to your email inbox once a week for free. Plus, we’ll give you access to some great CNC reference materials including:
- Our Big List of over 200 CNC Tips and Techniques
- Our Free GCode Programming Basics Course
- And more!
Just enter your name and email address below:
100% Privacy: We will never Spam you!
Bob is responsible for the development and implementation of the popular G-Wizard CNC Software. Bob is also the founder of CNCCookbook, the largest CNC-related blog on the Internet.