Seamlessly integrated apps for BMW and MINI
Applications for Automotive is a project with the goal of seamlessly integrating smart phone applications to vehicles, allowing the BMW Group to quickly provide new infotainment functionality, even after the cars are sold to the customer. The dynamic integration is done without compromising highest quality and safety standards, and allows:
- a consistent and integrated human machine interface in the brand look and feel across all applications
- application behavior tailored to the current driver, driving situation and vehicle state
- interaction with intrinsic vehicle functionality such as handing over an address to the car navigation system, and usage of vehicle data within the applications
- usage of car specific features like voice commands and functional bookmarks to control the applications
As result of the project there were developed the iOS Apps BMW Connected, MINI Connected and Rolls-Royce Connect. Also third-party developers as Pandora use the developed solution to integrate their application seamlessly.
It started with a thesis.... now with the customer
Applications for Automotive started with a master thesis. Its journey to the vehicle began with the evaluation of its basic consumer electronic device integration concepts and the evolution of the first prototype. Based on these results, the concepts and prototypes were optimized internally at BMW Car IT. When the first iPhones emerged, the iPhone SDKs were evaluated and prototypes including Mission Control and Dynamic Music of the later MINI Connected App were created.
With these prototypes, discussions with our final product development colleagues began, and brought together with them, MINI Connected into the vehicle in August 2010. For the final vehicle software, a reliable middle-ware needed to be selected. After evaluating many on the market, the open source software Apache Etch was chosen and adopted as a project to which we have made major public contributions. Open source solutions bring with it a major advantage of accelerated progress, and high reactivity to change. Open source code is open to adaption and optimisation from a variety of industries, which lends to the product having a greater amount of users who test the software thereby increasing reliability.
Challenges for Software Engineers
Applications for Automotive brought many interesting challenges that needed to be addressed, these included:
- the definition and implementation of interfaces and protocols
- the extension of software architectures with middleware layers, allowing additional abstraction
- mechanisms that facilitate the dynamic integration of unknown applications
New ways of integrating dynamic application content in a so far closed system had to be found. These included research in state-of-the-art mechanisms from the consumer electronics domain, finding creative solutions and making them fulfill challenging automotive requirements. These requirements included for instance: minimized driver distraction, high reliability, reactivity, and security of the new applications while not affecting the existing applications in a negative way. The in-car components had to deal with a heterogeneous landscape of embedded platforms and therefore reach high portability.
The development of such a dynamic interface incorporated several application developers at an early stage. This involved close cooperation with third-party developers who gave valuable feedback and support. The interface was a distributively developed, involving team members from several departments from Munich and Mountain View California, fostering a creative team environment. Today BMW departments use the dynamic interface also for predevelopment purposes as an enabler for creative innovations in all kinds of domains.