It has never been so easy to develop apps for the Modular Infotainment System (MIB) and bring them to the customers. As the development of the MIB continues, innovative applications for the Taycan were created using the containerization solution Docker.
On this basis, a Software Development Kit (SDK) has been created with which third parties can bring new applications for the MIB to the market.
When the Porsche Taycan was launched in September 2019, it was not just the first all-electric Porsche coming to the market. It is also the first vehicle from the sports car manufacturer to feature the third version of the Modular Infotainment System (MIB3). The MIB3 offers not only state-of-the-art hardware and a larger display—it’s also easy to add new apps to it. It’s made possible by the Docker containerization solution integrated in the system: it enables app developers to bundle apps and their dependencies in containers and push them to the system at any time. This makes the development and distribution of new apps considerably easier than in previous versions of the MIB.
The name deliberately adopts the language of logistics: for decades, goods have been packed in standardized containers, enabling them to be transported much more efficiently along complex supply chains. In a similar fashion, the idea here is to enable apps to transfer as simply as possible from the provider to its customers. The difficulty is that one never knows exactly how the respective target system—the MIB3 in a vehicle, for instance—is configured. That can quickly pose problems, because programs often require a specifically defined environment in order to even be operable. This includes elements such as system libraries, which provide certain functions, such as access to networks. Moreover, interpreted languages such as JavaScript require a runtime engine for execution—and generally a particular version at that.
“Due to these dependencies, in the past all apps for the infotainment system came from the provider of the MIB,” notes Fabian Breisig of Porsche Engineering. “In the past it was practically impossible for us to write our own apps. We would have had to send our code to the provider in order to have them integrate it into the overall system in a massive undertaking.” Thanks to the Docker containers, this problem is now a thing of the past: in principle, third parties can now develop apps, pack them in a container with the required libraries, help programs and statistical data, and then, after being approved by Porsche, make them available to customers via convenient download.
Between the operating system of the target system and the containers sits the Docker Engine. It is responsible for the administration and execution of the containers and taps the resources of the host system for the programs running in the containers. This allows containers to run on different target systems without host-specific adaptations. In contrast to the more widespread use of virtualization with hypervisor and virtual machines (VM), a container provides the application with a complete runtime environment with all requisite dependencies virtually without containing an entire guest operating system. Containers therefore consume fewer resources, are easier to port, and start faster. “The Docker containers are a lightweight form of virtualization on the application level,” says Breisig.
Development of innovative web applications
Using the Docker technology, Porsche Engineering has been developing web applications according to the client-server principle for the past two-and-a-half years. Over this period, multiple applications for the MIB3 were created: the Calendar app, for example, makes it possible to combine multiple calendars—say, from Office 365, Google, or your smartphone—and display the results on the infotainment display. It was already on board when the Porsche Taycan launched. The Stocks app shows the current market results, and the Data Plan app keeps users abreast of the data usage of the SIM card in the MIB3 over a given period of time.
Beyond such series projects, the software developers at Porsche Engineering are also working on innovative ideas for the future. We’re always on the lookout for innovative and useful new use cases, for which we then realise as proof-of-concept in a first step,” says Breisig. “In that context, we want to find out which features yield tangible added value for the customer, what is capable of being implemented under the given conditions, and what limitations there are in terms of the system or external interfaces.” One of the innovation projects currently in the works is the City Tour Guide: sights, restaurants, and other points of interest (POIs) in the vicinity are displayed, enriched with information and images from a variety of content providers. It’s also possible to plan and run a turn-by-turn navigation route. The proof of concept is complemented by an augmented-reality smartphone app. As soon as the smartphone is targeted on a POI, additional information about the location is displayed on the Taycan’s passenger display. After a proof of concept has reached a functionally viable state, it is presented to a committee, which decides whether it should be developed to the level of series production maturity.
Customers can download such apps “over the air” at any time. They no longer have to wait for a software update of the MIB3, which de-couples the update cycles of the applications from those of the infotainment system—just like in a PC or smartphone, in which users can install new programs independently of new versions of the operating systems.
The software developers, in turn, benefit from the separation of the target system and the application: “Thanks to the Docker containers, we can develop applications much more quickly because we no longer have to take a detailed look at the target system,” explains Breisig. “That enabled us to tap into a completely new field of business.”
Toolbox for app development
To simplify app development for the MIB3 for other companies as well, since mid-2018 Porsche Engineering has offered a Software Development Kit (SDK). The SDK is a collection of tools and libraries developed for the MIB3 that simplify and accelerate the development process of an application, from the initiation of the process to the programming and ultimate release. For example, all new apps have to register with MIB3—a rather cumbersome process whose execution is largely handled by the SDK rather than the programmer. The SDK also provides simple interfaces that allow the use of the functions of other apps such as the navigation system. Rather than having to transfer a plethora of parameters, simple commands suffice to input the destination and start the navigation process.
The 36 participants in the first one-week MIB3 hackathon in Weissach at the beginning of the year were among the first users of the SDK. The goal was to implement innovative ideas as executable prototypes. The participants made good use of the tools and libraries of the SDK and scored some quick successes. Tobias Schug was on hand for the event: “I got a very good impression of the SDK,” reports the software developer, who works on the Gravity cloud platform for Porsche AG. “You get the job done more quickly because you don’t have to write the code for everything yourself—for example frontend components that display images or text.” He is also a fan of the container technology: “It is unquestionably a very good way to package and deliver apps,” says Schug.
In the future, the SDK will have new features added in parallel with the ongoing development of the MIB3, for instance to enable data exchange between the MIB and external devices using the integrated WiFi hotspot. “Through the in-house-developed SDK as well as the expertise with regard to Docker, web architectures, and web frameworks like Angular, we are a port of call for progressive web development,” concludes Breisig.
SOURCE: Porsche