Introduction to the MeeGo Software Platform
On February 15, 2010, the world's largest chip manufacturer, Intel, and the world's largest mobile handset manufacturer, Nokia, announced joining their existing open-source projects (Moblin and Maemo, respectively) to form a new project called MeeGo, hosted at the Linux Foundation. This article provides an introduction to the MeeGo Project, a brief overview of the MeeGo architecture, the benefits the MeeGo platform offers to various players in the ecosystem and discusses the role of the Linux Foundation as the project's host.
MeeGo is a Linux-based platform that is capable of running on multiple computing devices, including handsets, Netbooks, tablets, connected TVs and in-vehicle infotainment systems. The primary goal of the Maemo and Moblin Projects' merger was to unify the Moblin and Maemo communities' efforts and enable a next-generation open-source Linux platform suited for a variety of client devices. Most important, MeeGo will be doing this while maintaining freedom for innovation, continuing the tradition of community involvement (inherited from Maemo and Moblin), accelerating time to market for a new set of applications, services and user experiences.
MeeGo is a full open-source project hosted by the Linux Foundation and governed according to best practices of open-source development. As with other true open-source projects, technical decisions are made based on technical merit of the code contributions being made.—Ari Jaaksi, Vice President of MeeGo Devices, Nokia.
With the merger, the MeeGo Project has the opportunity to expand market opportunities significantly on a wide range of devices. It also will provide a rich cross-platform development environment, so applications can span multiple platforms. Additionally, it will unify developers, providing a wealth of applications and services. Such opportunities were out of reach for Maemo and Moblin individually. MeeGo will support multiple chip architectures (ARM and x86). Furthermore, with hundreds of developers working in the open on upstream projects first, from which MeeGo will be based, other mobile Linux platforms will benefit from MeeGo's contributions.
The Maemo Project, initially created by Nokia (www.maemo.org), provided a Linux-based software stack that runs on mobile devices. The Maemo platform is built in large part with open-source components, and its SDK provides an open development environment for applications on top of the Maemo platform. A series of Nokia Internet tablets with touchscreens have been built with the Maemo platform. The latest Maemo device is the Nokia N900 powered by Maemo 5, which introduced a completely redesigned finger-touch UI, cellular phone feature and live multicasting on the Maemo dashboard.
The Moblin Project, short for Mobile Linux, is Intel's open-source initiative (www.moblin.org) created to develop software for smartphones, Netbooks, mobile Internet devices (MIDs), in-vehicle infotainment (IVI) systems and other mobile devices. It is an optimized Linux-based platform for small computing devices. It runs on the Intel Atom, an inexpensive chip with low power requirements. A device running Moblin boots up quickly and can be on-line within a few seconds.
MeeGo provides a full open-source software stack from the core operating system up to the user interface libraries and tools. Furthermore, it offers user experience (UX) reference implementations and allows proprietary add-ons to be added by vendors to support hardware, services or customized user experiences. Figure 1 illustrates the MeeGo architecture, which is divided into three layers:
The MeeGo OS Base layer consists of the hardware adaptation software required to adapt MeeGo to support various hardware architectures and the Linux kernel and core services.
The MeeGo OS Middleware layer provides a hardware and usage model-independent API for building both native applications and Web runtime applications.
The MeeGo User Experience (UX) layer provides reference user experiences for multiple platform segments. The first UX reference implementation was released on May 25, 2010, for the Netbook UX. Other UX reference implementations will follow for additional supported device types.
A detailed discussion of the MeeGo software platform is available at meego.com/developers/MeeGo-architecture.
As mentioned earlier, the Netbook UX was the first reference implementation of a UX to become available for MeeGo. It delivers a wealth of Internet, computing and communication experiences with rich graphics, multitasking and multimedia capabilities, and it's highly optimized for power and performance. You can download the MeeGo Netbook images from meego.com, and run MeeGo on your Netbook. Figure 2 shows a screenshot of the Netbook UX featuring the MeeGo MyZone (the home screen).