As cars continue to become more advanced, software developers are going to play a larger role in automotive technology than in prior years. Like shifts in wearable technology software is now used to expand the capabilities of cars beyond the basics.
At the recent International Consumer Electronics (CES) one of the primary themes of the event was the future of car manufacturing. Companies such as Toyota announced the first commercially available hydrogen powered vehicle and Mercedes Benz announced a luxury self-driving vehicle, there was still plenty of discussion on the finer details of automotive technology.
Driving Safety Takes Center Stage
The Current State of Driver Safety
At a panel on using consumer electronics to improve driver safety, the primary focus of the session was on creating devices which can reduce distracted driving. While some need hardware such as cameras, it’s up to software developers to create the algorithms used by the car to evaluate driver conditions.
Currently the biggest challenge to driver safety systems are that they are an open loop where the driver state is unknown. Warnings are issued without proper context, and there’s no way to intelligently integrate safety devices into other devices. Aside from this, the most common way car manufacturers combat distracted driving is to suppress features. For example, an in-car GPS might disable user input while the vehicle is in motion.
The biggest problem with this approach to distractions is that touch screens control most functions of the car such as audio, climate control and cell phone connectivity. Most drivers aren’t too fond of being barred from using their cars functionality while driving.
Improved Safety Systems
Since graphic user interfaces are here to stay in automobiles, at CES, manufactures such as Ford announced an improved version of their SYNC platform which includes a streamlined work flow to allow users to complete essential tasks with fewer key presses. Volkswagen is working on incorporating gesture recognition, improved voice control, and eliminating buttons to help keep drivers focused on the road.
Aside from improved user interfaces, a significant focus is on driver monitoring. Sensors to detect sleepiness, enable attention tracking, and more are all going to be incorporated into cars of the present and future to help ensure that distracted driving becomes less of a threat.
Standards to Follow
Although this is a topic to discuss in a future article, there’s no arguing that car manufacturers are now relying on powerful operating systems to power core functionality of vehicles.
Whilst no longer as popular in the mobile market, Blackberry has been making a resurgence in the car automotive market with the QNX operating system. The platform is currently used in the MyFord touch system found in a variety of Ford vehicles. The most notable features of this platform are that it supports HTML5, Qt, and industry-standard .apk app files. This will make it easy for development professionals to create programs for the platform.
Although a live system is yet to come, developers should keep an eye out for Apples’ CarPlay platform. The platform will be offered on over 30 manufacturers vehicles along with aftermarket systems. For developers the most notable feature of CarPlay is that it doesn’t run iOS apps. Rather it’s designed to act as a liaison between an iOS device and the car, allowing drivers to use applications while driving.
Currently there are no planned limitations to what CarPlay can do, meaning that it could become possible to use Siri to lock and unlock your car or control your wipers. For current iOS developers, this will be a great stepping stone into developing for automotive systems.
For Android developers, Google will be launching an automotive friendly version of the operating system later this year. Currently Audi, Honda, GM, and a handful of other vendors have announced their membership in the Open Automotive Alliance which focusses on reducing fragmentation within the automotive space. This standard is still in the works so there isn’t much detail on the inner workings. Despite this, the standard is worth following due to the backing it has from multiple manufacturers.
Going Beyond the Cell Phone
As a web developer, you probably never thought you would be using your skills to develop in-car applications. Thanks to modern technology the definition of “mobile development” is encompassing all aspects of society. As internet connected devices become more prevalent, developers will be needed to create versatile software that can evolve over time.
Unlike embedded systems of the past which were rigid and difficult to update, today’s modern operating systems are designed with change in mind. This means that the line between hardware and software development will continue to be blurred as time goes on.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers