April 5, 2006

LinuxWorld: Motorola reports on its experiences with Linux phones

Author: Nathan Willis

A cell phone rings in the middle of Mark VandenBrink's presentation. He tells the audience member, "Go ahead and answer it -- I'm a phone guy, so please, leave your phones on! It's better for me." VandenBrink, Motorola's director of mobile devices software, delivered a talk on his company's experiences in the Linux-powered mobile device arena at LinuxWorld Tuesday morning, outlining what the company has learned from its first generation of Linux phones and the changes Motorola plans for the next.

VandenBrink enumerated Motorola's reasons for adopting Linux as a mobile phone platform, including the expected cost savings and flexibility over non-free alternatives, but also a decreased time-to-market, and the intrinsic benefit of building a product on the same platform that all of its hardware suppliers are using, and in most cases, developing drivers for first.

Motorola's current Linux product line consists of six models, all of which are built on the same "three layer" platform that the company has used since the launch of its first Linux model in 2003. These three layers consist of the kernel, the services layer, and the application layer. The company defines "services" as the second-party layer; mostly closed applications put on the phones before leaving the factory and not replaceable by the user.

Here VandenBrink paused to clarify a 2005 statement he made regarding Java support; although many took his comment to mean that Motorola had no interest in encouraging third-party application development for their phones, he insists that he was talking about the services layer only. By and large it is the carriers who request services-layer additions to the phones, and they overwhelmingly demand the Java platform.

Though pleased with its experiences thus far, Motorola says its next generation of Linux phones will come on a rewritten, four-layer architecture that provides a clean separation between daemon-level services (in the traditional Unix sense of the word, not the "services" nomenclature of the three-layer architecture) and application frameworks. The hope is that separating daemons and app frameworks will provide a cleaner API for third-party developers.

Linux-specific challenges for the mobile phone market

VandenBrink also examined the challenges he expects cell phone makers to face in adopting Linux. One near-term technical challenge specific to Linux phones is memory management -- most Linux phones today are high-end "smart" phones with more RAM than simpler models. Moving low-end phones to Linux will squeeze resources and expose new bugs and error modes requiring kernel- and low-level work to fix. Furthermore, because most high-end phones have two processors -- an applications processor (AP) and a baseband processor (BP) for radio functionality -- they don't demand real-time support. Moving to low-end phones means moving to single-processor hardware, which requires real-time performance.

For all levels, VandenBrink says power management is the next critical hurdle. For one thing, the kernel is not designed to manage power for external hardware like BPs. But there is also no infrastructure for intelligently managing power on resource-poor devices -- for example, shutting down extra banks of memory when there are few enough processes running that only one is required.

Lessons learned

On the non-technical side, VandenBrink says that Linux has moved past the "will it work?" stage and into the "what next?" stage. He says device manufacturers all regard Linux as a proven, mainstream technology (and of course, the end-users neither see nor care about Linux under the hood). What remains is "productization" and support; namely, where do you go to talk about Linux and how specifically do you go about implementing it? Motorola believes that for embedded Linux to grow in mobile phone devices, it must evolve as a platform that multiple handset manufacturers, application vendors, and phone service carriers all build together.

This level of standardization is necessary to foster innovation and accelerate development, he says. The alternative -- fragmented development -- helps no one and will stall development. Handset manufacturers all know that consumers pick phones on the basis of features and feel; unifying the lower levels of the platform will help them get their phones to market, but still leave room for them to differentiate their products from one another.

Still unresolved, Vandenbrink says, is a common understanding of what it means to be a "good GPL citizen." Hardware and software vendors disagree, leaving different pieces of the stack at different levels of "openness." Motorola's stance is that a commitment to openness is critical; it learned that during its first generation of Linux phones. With the next generation, Motorola hopes to simplify the process of fulfilling its source code commitments under the GPL and interfacing with the developer ecosystem.

Click Here!