MeeGo IVI is still in its infancy, but that means now is the perfect time to get involved. As it stands, carmakers that include a IVI system generally do so only in their higher end models; until now, they had to roll their own solutions. If you want to get more involved, you can join the MeeGo IVI mailing list and discussion forum . Also, visit MP3Car.com , the largest DIY site for car computer enthusiasts. A MeeGo IVI section exists on the MP3Car discussion boards, and many of the developers who have spent the past few years adapting open source code for their DIY systems are starting to explore porting their code to MeeGo's IVI UX.
Because the MeeGo project is tasked with delivering the platform and an example user interface (meaning individual carmakers will almost certainly add their own custom designs to the products they deploy), this community work is likely to be the best showcase for open source IVI. Considering the average product cycle, it will certainly beat carmakers' custom builds to the market. Finally, follow the progress of the roadmap by watching the IVI feature request trackers in Bugzilla .
See the box titled “The Roadmap” for more on the MeeGo IVI work in progress. Apart from official SDK components like an IVI target and QEMU runtime image, the next major milestones in the project will be the 1.2 release and the San Francisco MeeGo Conference in May of 2011. The past few months have seen a growing list of carmakers and tier-one automotive suppliers come on board, so the months ahead are guaranteed to be a wild ride.
on the list of changes for IVI are new components, such as the speech recognition and speech synthesis, acoustic echo cancellation, noise suppression for hands-free phone usage, and integration with new types of hardware, such as back-up cameras and door sensors. IVI systems also must contend with extremely fast boot requirements and initializing devices within milliseconds of ignition, not to mention rapid shut-down sequences – and the “loaf of bread” scenario. Suppose you start your car in the grocery store parking lot, then remember that you forgot to grab a loaf of bread, so you shut down the car and go back inside. The computer has to boot up and begin initializing with the ignition switch and then start the shutdown cycle when you change your mind. But, you can't simply speed up boot time by pushing more system maintenance to the shutdown cycle: Getting the bread takes less than a minute, at which point the computer must be fully shut down and ready to boot again, or else the system is in an undefined state.
Additionally, vehicle manufacturers are interested in using MeeGo IVI to support vehicle telematics, which means an entire layer of engine sensors and instruments will need a new set of APIs, plus logging, diagnostic, and emergency assistance applications.
Adding still more complexity to the design is the fact that vehicle makers already use industry-specific communications buses to relay this sort of information and to connect rear-seat entertainment unites to driver head units and media storage. Several such buses are currently in deployment, like FlexRay, Media Oriented Systems Transport (MOST), and Controller Area Network (CAN) – and with few exceptions, the standards involved are not open or royalty-free. Fortunately, the industry partners participating in the MeeGo IVI project can exert some friendly pressure on the standard owners, most of whom simply aren't familiar with the open source way of working – but the challenge of coding and testing the new components, remains.
As daunting as the IVI challenge might seem, the developers are making progress. The IVI Working Group is tasked with interfacing with the carmakers, automotive suppliers, industry groups, and the open source developer community. One of the goals is to organize the list of requirements into a prioritized, manageable roadmap. The Working Group operates in the open on the IVI mailing list, even posting its meeting minutes publicly on the project wiki, so application developers can easily follow the plan.
So far, the roadmap includes seven items for near-term focus: automotive networking (such as the vehicle buses discussed above), audio management (including multi-zone), device connectivity (phones and portable MP3 players), navigation, adding support for ARM processors, design work on the “example” IVI UX, and a demonstration implementation of an “app store” style user application installer.
Exactly how much of this work will make it into the next release of MeeGo remains unknown; version 1.2 is scheduled for a late April release. Fortunately, more developers are joining in the effort. Automotive product developers Pelagicore and GENIVI have both announced their involvement with the project.
Pelagicore has already started contributing to Qt for IVI, an extension to the Qt application framework. Currently, the project adds Terminal Mode to support to MeeGo, which links the automotive head unit (video screen, audio layer, and input devices) to a tethered device such as a Bluetooth phone, with VNC or other remote desktop protocol. The user can then access the phone's address book, the mapping system, or other apps through the car's front end, presumably reducing any driver distraction that would arise from fumbling for the phone.
This functionality is split into two parts: libqterminalmode provides the remote connection functionality, while qterminalmodeclient provides the forward-facing interface. Additional APIs that are under development but not yet released in Qt For IVI include integrating radio tuners and video cameras. Both of these features are hardware supported in upstream Qt but are so far not supported in MeeGo itself.
The other major to-do item for MeeGo IVI is building up a development kit. At the MeeGo conference, project manager Joel Clark solicited feedback from application developers for an IVI-specific software development kit (SDK); at the moment, the project recommends that independent IVI developers get started with the existing MeeGo SDK – the same core APIs are available on all UXs, and you can add additional components like Qt For IVI to test systems manually.
Although an SDK should be possible by the 1.2 release, the picture is a bit murkier on the hardware development kit front. The ISO releases work on common Atom-based netbooks, but getting independent developers working on actual in-vehicle systems will require expanding the supported hardware considerably. Most do-it-yourself car computer enthusiasts run mini-IT systems, often with cheaper, non-Atom CPUs and onboard graphics, and for now all MeeGo builds require support for the SSE3 instruction set and Intel graphics chips.
Because AMD recently joined the MeeGo project, wider CPU and GPU support is on the way. Another possibility is the ARM architecture; the IVI Working Group is looking into development kits based on BeagleBoard or PandaBoard single-board computes running on Texas Instruments OMAP processors.
 MeeGo homepage: http://www.meego.com
 MeeGo core architecture documentation: http://www.meego.com/developers/meego-architecture
 MeeGo compliance program: http://wiki.meego.com/Quality/Compliance
 See MP3Car.com for the most active DIY car-computing forum
 SDK: http://wiki.meego.com/SDK
 SDK Host OS Support page: http://wiki.meego.com/SDK/Docs/1.1/MeeGo_1.1_SDK_Host_OS_Support
 MeeGo API: http://apidocs.meego.com/1.1/core/html/index.html
 MeeGo Platform API: http://apidocs.meego.com/1.1/platform/html/index.html
 Bugzilla: bugs.meego.com
blog comments powered by Disqus