MeeGo IVI sells itself to embedded vendors using the two principles of ABI/API stability and “upstream first” compatibility with the desktop Linux stack. The MeeGo Core architecture [2] (Figure 2) consists primarily of frameworks Linux developers will already be familiar with: the Linux kernel, PackageKit, RPM, D-Bus, BlueZ, Telepathy, PulseAudio, Gstreamer, Tracker, GeoClue, ConnMan, Qt, Xorg, and so on. MeeGo tries to maintain a minimal set of changes to the upstream components, focusing on delivering a stable baseline platform with each release and running a compliance program for vendors [3].
This model has worked well for the first two releases, 1.0 in May of 2010 and 1.1 in October. Understandably, both of those releases focused heavily on the existing Netbook and Handset UXs. Each release included an ISO image installable on compliant hardware devices and an example interface complete with a set of functional applications. The netbook UX functions much like any other portable Linux distribution, and the handset UX features some smartphone-only apps like a touch-friendly contacts manager and phone dialer, both integrated with the oFono open source telephony library.
IVI test images were released at the same time, though, for a limited set of compatible systems based on Intel Atom chips. The IVI release sported two custom apps, a dash-friendly “home screen” app designed to serve as a launcher and information screen, and a task manager specially designed to meet driver safety requirements. IVI also packaged a suite of open source automotive applications, including the Navit mapping and navigation tool.
Under the hood, the IVI release features far more customization than just a handful of apps, and still more changes are to come in future releases. 1.1 not only included touch screen support but also introduced support for dial-based scroll wheel controllers, such as those found in head units and on steering wheels. IVI also included the first text-to-speech (TTS) support in MeeGo with the Festival speech synthesis engine, along with speech recognition based on PocketSphinx.
Together, these three components for the key to building street-safe applications for vehicle deployment, but they are just the beginning. At the 2010 MeeGo Conference in November, IVI Working Group chair Rudolf Streif outlined additional points where IVI requires changes to the MeeGo hardware and software stack. These objectives include extending several existing components in ways that the other UXs do not need, such as adding support for multi-screen management to the video stack (think front-seat navigation screens plus rear-seat entertainment screens) and corresponding multi-zone audio work (Figure 3). See the box titled “IVI To-Do” for more on proposed new features and capabilities.