The Moblin Project: Linux for the Mobile Masses

284

Crafting a Linux distribution optimized for the mobile environment is no easy task. The hardware is vastly different from a typical desktop or even laptop computer. User expectations are different as is the way in which a user interacts with the device. Startup times are critical and it’s important to optimize with battery life in mind. It was for some of these reasons and more that Intel first came with the idea of the Moblin concept.

In fact, Intel didn’t really set out to build a distribution when it first started up the Moblin.org web site. The original goal was to provide tools to do Linux optimization for the Atom processor. Over time they started doing bits and pieces of various components within embedded Linux and last year released Moblin v1.

Today, Moblin’s heading for v2, and on April 2, Intel made a big change in the stewardship of the project, announcing the Linux Foundation (LF) will host and support Moblin from here on.

“Moblin offers a truly open platform and already has some of the best and brightest minds focused on its architecture and development,” said Jim Zemlin, executive director of the Linux Foundation. “Through the Linux Foundation, an even broader community can contribute to Moblin becoming the predominant Linux-based platform for mobile devices.”

“The Linux Foundation is the perfect environment to take Moblin to the next level,” said Doug Fisher, vice president Intel Software and Services Group, and general manager System Software Division. “The open source process delivers multiple benefits to any project, including faster innovation and increased technology visibility.”

With the LF now hosting the Project, let’s look at where has the project been and where it’s going.

Moblin V1

Moblin v1 had mobile devices as one of its primary target platforms. More specifically, the new breed of Mobile Internet Devices, or MIDs, sporting Intel Atom processors was a big part of the initial release. This target turned out to be more elusive than the creators envisioned as it became apparent when people tried to integrate hardware and software it was difficult with Moblin v1. It wasn’t even a complete stack.

Moblin V1 had a lot in common with Ubuntu Mobile Edition. V1 included a number of libraries like the Hildon framework also used by Nokia on their Maemo platform for their Internet Tablet devices. Hildon has a number of functions specifically targeted at small devices and finger interaction. There were tools for building platform-specific images along with a few example applications.

Moblin V2

With the release of Moblin V2 there were a few changes to the basic architecture from V1. This has a number of implications in the area of packing applications and the availability of various libraries. Gone from Moblin V2 is the Hildon framework. That makes applications written for Moblin V1 that took advantage of Hildon routines obsolete.

The new definition of the Moblin project as stated on the Moblin.org site is “an open source project focused on building a Linux-based platform optimized for the next generation of mobile devices including Netbooks, Mobile Internet Devices, and In-vehicle infotainment systems.” This brings the popular Netbooks to the forefront and as the primary target platform for the initial V2 alpha release. Other targets including the MID platform will follow later in the year.

Goals

One of the new directions for the Moblin project is the user interface (UI) or user experience. The intent is to bring more of a game-like environment based upon the Clutter toolkit. From the clutter-project.org site: “Clutter is an open source software library for creating fast, visually rich and animated graphical user interfaces. Clutter uses OpenGL (and optionally OpenGL ES for use on Mobile and embedded platforms) for rendering but with an API which hides the underlying GL complexity from the developer.”

Imad Sousou is the director of Intel’s Open Source Technology Center and responsible for the team working on Moblin. “Our goal is to produce a production quality distribution for all the mobile platforms including MIDs, Netbooks and eventually in-vehicle entertainment systems. We will be working closely with other distributions like the Canonical / Ubuntu folks to share ideas and expertice.”

Another stated goal of the Moblin project is to provide Linux Standard Base (LSB) compliancy. This will go a long way in bridging the gap between standard desktop offerings and what will be available on the smaller platforms. It will also make it easier to get existing applications running in short order.

Developer Story

There were some significant changes from Moblin V1 to V2 that directly affected application development. “We hope to bring a new paradigm of UI programming to the mobile platform space and make it easier to use languages such as Javascript by providing bindings for Clutter. Our current focus is on user documentation and building sample applications that demonstrate how to take advantage of the clutter toolkit,” says Sousou.

Learning some of the techniques used by Clutter such as actors, scenes and paths will go a long way in helping any developer build applications that take advantage of the entire Clutter toolkit. Clutter uses a physics engine linked on the back end to the Open GL graphics engine, making it possible to produce some pretty awesome effects. Several concept demonstration videos have been posted to YouTube showing off what can be accomplished with this set of tools.

All the typical Linux languages will be supported on the Moblin platform including windowing toolkits like Gtk+ and Qt. The V2 Moblin stack doesn’t use Hildon, so you will need to investigate alternative methods for any of the Hildon functions you might need. Moblin also uses a number of standards from the freedesktop effort including their autostart specification. Installing applications to the desktop essentially comes down to installing a properly written desktop file in the /etc/xdg/autostart directory.

Python support is provided through wrapper libraries for Clutter, Gtk+ and Qt. While there is not currently any supported development such as Eclipse, there is an effort underway to produce a more full-featured software development kit (SDK) that will have some type of integrated development environment (IDE) included.

Future

Moblin hopes to get on a six-month release cycle, resembling that of Ubuntu, to roll out new features and capabilities as often as practical. With new hardware offerings showing up about as often, it gives them opportunity to keep up as best they can. Early releases will focus on the Netbook platform as it was the easiest for them to target initially. Other platforms will follow later in the year.