The MeeGo Progress Report: A+ or D-?

[Eight months after the announcement of the MeeGo  project by Intel and Nokia, guest author Dave Neary analyses the progress made to date in MeeGo Handset, and the project’s prospects for the future]

VisionMobile - The MeeGo progress report

The end of October saw the release of MeeGo 1.1, the second major milestone release of the platform since it burst onto the scenes in February 2010. The MeeGo project was born under the auspices of the Linux Foundation from a merging of Nokia’s Maemo platform, targeting smart phones, and Intel’s moblin platforms, aimed at netbooks.

[poll id=6]

The merger grew from a core idea: pick the best of breed components from both stacks, collaborate on the integration and testing of shared components, and standardise a number of open source UX (User eXperience) profiles, on which vendors could build and deploy complete commercial grade stacks. The initial UX profiles announced were netbook, smartphone, IVI (In-Vehicle Interface) and media center/TV.

Nokia and Intel have both made a major commitment to the platform, but critics say that the relationship is little more than a marriage of convenience. After all, Intel is a silicon vendor, betting heavily on the Atom-based Moorestown platform, and Nokia is a handset designer, largely shipping ARM-based devices.

Growing pains

The project has had some teething problems. Troubled Nokia has changed CEO, and the founding father of the Maemo project, Ari Jaaksi, has been among a number of high level software executives to leave the company, leading some to ask whether Nokia might have a change of heart about the platform. The first MeeGo device for Nokia, originally expected at the end of 2010, will now appear in 2011, according to recent comments from new CEO Stephen Elop, as Nokia strive to ensure a good first impression for its first MeeGo device.

There are some early public signs of friction in the working relationship of the stakeholders in the project, also.

The adoption of Qt as the primary toolkit for both platform and applications has met with resistance from Intel engineers, who acquired Clutter in 2008 and integrated it heavily into the netbook user interface, plus partners like Novell who developed versions of GTK+ applications like the Evolution email client and Banshee music player specifically for the netbook form factor.

Long-awaited MeeGo compliance specifications have resulted in drawn out and sometimes acrimonious debate.  Trademark guidelines have been a sticking point for community ports of the MeeGo netbook UX to Linux when these ports do not include required core components.

Related to the technical governance of the project, there is some uncertainty around the release process, and the means and criteria which will be used when considering the inclusion of new components. And there are some signs that the “all open, all the time” message at the project launch has been tempered by the reality of building a commercial device.

The Promise of Openness

Many of these issues are to be expected when merging two projects into one and pairing two very different animals. Every open source project has its own culture, and Moblin and Maemo are no different. Relationship capital which participants built up in the contributing projects must now be rebuilt within a broader group.

MeeGo has had some early successes. MeeGo 1.0, which included the Netbook UX and an early prerelease of the smartphone UX, was delivered in July, complete with the source code of a number of components which had previously been proprietary. Novell MeeGo has been shipping on a number of netbooks since then. The MeeGo wiki lists dozens of MeeGo-compatible devices. The inaugural MeeGo Conference is set to take place in Dublin, from the 15th to the 17th of November, and has sold out with over 600 registered attendees to date.

And there is no denying that the companies involved in the project are committed to it. With the recent rumours that the Symbian Foundation may be shutting up shop, Nokia has few choices of platform left for upcoming high-end devices. Announcing their updated software strategy during their quarterly results call this month, the company confirmed that they are fully committed to MeeGo as the only platform for high end devices from now on.

Clearly, there is a future for the project. The question is, how will MeeGo Handset hold up against the competition from the platforms with the most momentum in the market – iOS and Android, or the recently released Windows Mobile 7. Will a newly reinvigorated WebOS (with Ari Jaaksi at the helm) challenge it for the mantle of the exciting new upstart? In short, is it any good? And will operators, handset manufacturers, application developers and users adopt it?

User experience

Since we do not yet have a MeeGo handset device available, it is very difficult to accurately judge the user experience at this time. It is possible to install MeeGo on the Nokia N900 and use it as a phone, using Nokia’s proprietary drivers to enable the hardware, but a lot of basic functionality is missing at present. In my tests, the camera, GPS, battery indicator, network signal strength indicator and WiFi did not work correctly. Features which do work can be slow, or have stability issues. Basic functionality like reading contact details off a SIM card, or unlocking the SIM card on boot, are still missing.

A MeeGo device getting to the market will undoubtedly have pristine hardware integration using 3rd party drivers, and a considerable amount of fit-and-finish which the basic MeeGo stack does not yet have.

The MeeGo handset user experience is still in transition. Maemo 5, the platform’s predecessor, was created using GTK+ and Clutter, while the MeeGo user interface has been built from the ground up using Qt. By all accounts, there are still a number of stability and quality issues with the stack, which we can expect to be addressed in a release shipping on a device.

At this time, the MeeGo Handset UX is not intended for anyone but developers. It is too early to be able to tell how the final product will compare to iOS or Android.

The Developer story

At the time of its announcement, one of the key advantages held up to developers was the potential to use a single toolkit, Qt, to build native applications which will be portable across Windows, Linux and Symbian. Nokia has been investing heavily in RAD tools like Qt Quick to allow developers to get up and running quickly. In addition, their as-yet unavailable Web Run Time promises to allow developers to easily integrate web applications.

The developer tools are in development, and do not yet compare favourably with the equivalent Android offering, which includes easy tools for building, testing and deploying applications using Eclipse. In addition, since the project is still in relatively early stages, there is a marked lack of entry-level documentation to help developers get started.

It is still unclear what software distribution channels or app stores will be available for application developers on a MeeGo device. Ovi Store will be available on Nokia devices for commercial applications, and there may be a community distribution channel made available for community-built applications, but what form this channel might take, and to what extent it will integrate with the MeeGo user experience is still unclear. Presumably other handset manufacturers, should MeeGo gain wider adoption, will provide their own application stores, further fragmenting the application developer story.

MeeGo certification ensures that it will be possible to build applications which work across all vendors, but at this point the jury is still out on how useful “MeeGo Compliant” will be to application developers. There is a possibility of considerable fragmentation among non-core APIs when MeeGo devices from several vendors are available.

From the point of view of tools, documentation and software distribution channels, MeeGo is undoubtedly behind its primary competitors – but for such a young project, this is to be expected. The success of the project among application developers and the free software community will depend to a large extent on the project’s ability to fill these gaps and provide developers with an excellent development experience.

For platform developers, the story is much more encouraging. The source code to the entire MeeGo stack is available, and anyone can download images built daily. Images built for ARM and Intel Atom can be installed and tested on a range of developer devices, including the Nokia N900, TI’s BeagleBoard or PandaBoard, or the Aava Mobile developer kit.

On the other hand, there has been a tendency of the platform architects to reduce the range of hardware and software supported by the basic MeeGo stack. There is limited support for non-Intel x86 chipsets, and support for only a subset of ARM chips. Kernel modules have been aggressively trimmed, sometimes arbitrarily, to disable functionality such as NFS.

Community and governance

MeeGo development is all happening in a public git repository, most discussions are on public mailing lists, and there are a large number of experienced free software developers among the community development team, which is ensuring that any communication or transparency problems are identified and addressed swiftly. In the mobile platform development world, it is fair to say that MeeGo is second to none in terms of its open development model.

This contrasts sharply with Android which is primarily developed behind closed doors by Google, and iOS which is a completely proprietary platform. If there is a key differentiator for MeeGo in the hand-held market, this is it. It remains to be seen whether the open development model will be a selling point which will tip the balance when manufacturers are choosing a platform for a device.

The MeeGo community is made up of members of the Maemo and Moblin communities, and in the case of Maemo, there have been a number of contributors who have decided not to contribute to the MeeGo project. The move to MeeGo represents the third major change in the project in two years (after the move to GTK+/Clutter in Maemo 5 and the announcement that Qt would be the only supported application toolkit) and has left some shell-shocked.

The Moblin community, on the other hand, did not develop a large platform developer community, partly since the project did not offer a distribution channel for application developers. It seems like all those who were productively contributing to moblin have followed the project move to MeeGo.

OEMs and operator support

One of the key differentiators between traditional handset manufacturers and the young guns (iOS and Android) which have taken the market by storm, is that both Android and iOS have concentrated on the user and application developer experience to the detriment of their relationship with OEMs and operators. It is widely argued that Apple’s iPhone has reduced the role of the operator to that of a bandwidth and infrastructure provider. In turn Google takes a take-it-or-leave-it approach with handset manufacturers; unless manufacturers comply with Android’s compatibility definitions (CTS and CDD), they can’t have access to the Android trademark, Android Market’s 100,000+ application, Google Maps and several other closed source applications.

Nokia has a more traditional approach of putting handset manufacturers and network operators ahead of developers. This shows through in many of the architecture decisions in MeeGo. The platform has been built with operator and OEM customisation and integration in mind from the start.

A primary concern for OEMs with MeeGo is the time required to integrate the platform into a specific device and ship to market. With the time to market for Android handsets dropping to 4-5 months from project to production, it will be very hard for MeeGo to compete, even with the MeeGo 1.2 release, due in the first half of 2011.

Still a long way to go

It does not feel fair at this point to compare MeeGo, a project which came into being 8 months ago, with iOS or Android, but this is the yardstick which will be used when the first MeeGo smartphone comes on the market. The project has come a long way since its inception, in particular in working towards an open and transparent development model. There is still some way to go but improvements have been happening daily.

However, to succeed as a platform, the application developer story and the user experience are vital. There is a lot of work to be done in these areas for MeeGo to gain serious traction outside of the small community of Finnish handset designers. Nokia still has a long way to go.

– Dave

[Dave Neary is the docmaster at maemo.org and a long-standing member of the GNOME Foundation. He has worked in the IT industry for more than 10 years, leading software projects and organising open source communities,  He’s passionate about technology, and free software in particular.]

MeeGo: Two (M)onkeys don't make a (G)orilla. But they sure make a lot of noise

[What is behind the announcement of Meego operating system by Nokia and Intel? Guest blogger Thucydides Sigs deconstructs what Meego means and its importance to the mobile industry]

How much substance is behind the noise of Nokia’s and Intel’s announcement of Meego? A few points to consider.

Nokia, who feels threatened by Google’s Android and Chrome OS efforts, is putting significant  efforts in order to expand into other device categories and bring its Ovi services to more consumers in more places. So a move that brings Maemo – together with Ovi (and the underlying Web-runtime apps and Qt cross-platform) to Intel chipsets is a straightforward strategic win. It will allow OVI services – such as Maps – to get into non mobile devices, especially Automotive (which has been a strategic focus for Intel) and other connected (but wired – after all power consumption is Intel’s Achilles heel) devices such as home phones.

So is Nokia going to bet it’s future Linux devices on a group of Intel engineers? Nokia is smarter than that: Intel software engineering has never been something to write home about. And Nokia has always been careful in maintaining and winning control over strategic areas. So Nokia will either maintain a parallel internal effort or maintain tight control over the ARM port and the overall MeeGo architecture.

Is MeeGo going to really bring Ovi services & Maemo into the hands of tens of millions more consumers? Well, MeeGo open’s a door, but success will depend on the quality of Maemo and Ovi experience. Maemo v6, due late this year, will be catch-up to where Android and WebOS were half a year ago, and were Apple was a year ago. So it is still one or two years behind the rest of the industry. That said, Maemo does not need to be the best – it needs to be good *enough* for ‘mass market’ consumers, so that combined with Nokia industrial design expertise and marketing power, an “object of desire” can still be delivered.

It’s this consumer “Desire” that brings us to the Ovi Services angle – and the question of how good will Nokia Services offering will be. Studying the NexusOne, it is impressive to see how Google seamlessly connected it’s many service offering – creating a compelling integrated experience. From a photo gallery that is both local and web (Picassa), through Google Voice (low cost calls, transcribed voice messages) and an almost perfect navigation and mapping experience (including turn-by-turn voice instructions and maps). Contacts, Email, Calendaring are the basics that are a must have. And Google is quickly expanding into other services (note the recent Aardvark acquisition and Buzz launch). Yes, MeeGo gives Nokia a vehicle to bring Ovi to some other device segments, but can Ovi compete effectively with Google’s breadth of services?

What about Intel? It has been spending hundreds of millions of dollars on a software strategy which does not seem to show a clear path to recouping the investment. Moblin, has not been able to ship in any significant volumes, is inferior to either ChromeOS or Android from a software platform perspective, and lacks any kind of services offering (which is why they needed Ovi). If Intel thinks that software is another part of it’s vertically integrated stack that will differentiate the chipsets, then it does not make sense to open it up and make it an open industry initiative. If Intel truly believe that Moblin should be open and used by competing ARM chipset vendors, then what does it gain from spending those hundreds of millions of dollars on the effort?

Open Source: ChromeOS, Android and Maemo are creating a very different software ecosystem then the one Intel got used to with Microsoft in the 90s. None of the software players is going to generate significant revenues on the device side. Intel exec’s might  want to re-read Andy Grove book, step outside the box and ask themselves if their software effort still makes sense in the 2010 industry context.

And while Intel is spending time on building this software strategy, the chipset market is experiencing a disruptive change, shifting from computing power (where good enough performance is delivered by both Intel and ARM), to battery power and mobility where ARM is clearly superior.  It might be better for Intel to focus it’s efforts back on it’s chipset technology and fix its power consumption problems, because when it comes to wireless devices (either within the home or outside, anything that is not tethered to a power cord), their offering is inferior to ARM, and no amount of software will be able to cover this gaping hole.

What about the rest of the chipset industry? Would the other ARM chipset vendors, such as TI, Qualcomm, Broadcom and nVidia follow path and join MeeGo? It’s hard to imagine that any of those companies will want to entrust their software strategy in the hands of Intel: not only is Intel a direct competitor, it software skills leave a lot to be desired, and it’s long term commitment to the space (as outlined above) is not clear. Is Nokia’s involvement enough of a carrot to entice those vendors into MeeGo? Having Maemo running on top of MeeGo will make insertion into Nokia easier, but Maemo is open source and there is nothing holding the chipset vendors from porting Maemo to their chips on their own or with the help of other independent 3rd parties. So we suspect Nokia will give it a modest try, but when it comes to purchasing chips, power, performance and cost will still be the over-riding criteria for Nokia.

So, lots of noise that those two monkeys are making, but little impact. MeeGo seems to be cute (qt) and (h)armless, but not a big industry changer.

– Thucydides

[Thucydides Sigs – a pseudonym – has many years of experience juggling computing constraints, mobile software and consumers needs. With that said, imagine listening to a violin sonata not know who the artist is or who composed it. You end up having to listen more carefully in order to make a judgment. He can be reached at thucydides /dot/ sigs [at] gmail [dot] com]