Integrated Vehicle Management App (Part 2)
In continuation to our idea of Integrated Vehicle Management application, where, in Part 1 of this blog we discussed about the options that such an application can provide, let us now look at how do we access the vehicle sensor data in our smart phone application. The pace of technology advancement and its penetration into our lives is ever so fast. Programmable cars look like the next fad for the Automobile industry and we are pretty enthusiastic to have the opportunity to program these cars. "Programmable cars", the industry itself seems huge with many players trying to carve a place as it looks like the next major breakthrough for the Automobile industry.
The GM SDK specifically provides two types of APIs, Remote APIs and In-Vehicle APIs. Though these APIs are self-explanatory by their names, still speaking in a bit more detail about them, the remote APIs enable a user to connect to his car remotely. He can give a command to his car even from a remote location, for example he can close the doors of his car remotely. The best part of these remote APIs is that they are exposed as REST services and hence can be accessed from any type of application be it W8/WP8/WPF/Android app, anything. Below we have illustrated a scenario using remote APIs.
The in-vehicle APIs allow access to vehicle sensor data to the user seated inside the car. This can be accessed through the app running on the vehicle's head unit. However as the in-vehicle APIs of GM can be accessed only through the head unit, it does not align with our idea of being able to talk to a car using a mobile device. To start using the GM SDK, you need to first register on their developer site. GM also provides an emulator which looks like the head unit of a car. Using the remote APIs provided by GM, we have been successful in our experiment of giving commands to the car to lock its doors remotely. Currently we are waiting on GM to provide more APIs in order to enhance the user experience. Example of one requested API being to enable the user to request for the current door status of a car.
SYNC Applink from Ford
Ford has an existing "SYNC" system is based on voice recognition. Using SYNC, by giving voice commands, the user can make hands-free calls or even listen to his/her favorite music. SYNC Services provide the user with the ability to get turn-by-turn directions through the car's audio system.
SYNC APPLINK is built on top of SYNC and makes use of SYNC services to enable the user to operate mobile apps even while driving and that too without the risk of the user taking his eyes off the road. The mobile apps are operated upon using voice commands and radio buttons on the steering wheel. 2013 Focus, Fiesta, E-series, Expedition, F-150, Super Duty, C-MAX, Fusion and Mustang are few cars that are SYNC AppLink enabled. With respect to smartphone compatibility, here is the list of mobile devices and various applications compatible with SYNC AppLink. New apps are regularly being added to the repository.
Current applications using the Ford SDK are mainly radio/music apps which enable the user to access a radio station app on the smartphone through the car and have the music playing through the car stereo and all this happens through voice commands.
Though Ford does not talk of providing remote APIs for remote access to a car, it has in pipeline APIs which can help the user connect to vehicle sensors through phone and subsequently display the vehicle health on a mobile app. Ford SDK by itself is based on Java.
Having explored some of these SDKs, we hope for more releases with enhanced functionality and also new players from the Automobile Industry to help us turn this idea of Integrated Vehicle Management Application into a reality.