|
|
Subscribe / Log in / New account

Maemo Summit 2009: Fremantle, Harmattan, and N900

Did you know...?

LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

October 14, 2009

This article was contributed by Nathan Willis

Nokia's second annual Maemo Summit brought together 400 developers and power users of the Linux-based tablet community in Amsterdam over the October 9-11 weekend. Maemo Community Manager Quim Gil said the primary goal was to bring the community together for the social and interactive benefits, but the three-day program also provided a solid introduction to the new Maemo 5 release, a preview of Maemo 6, and a chance to work with the Nokia N900 — which ships with as close to a standard Linux distribution as the marketplace has seen delivered on a usable mobile phone.

[Summit intro]

Friday's program was planned by Nokia, and featured several plenary talks delivered by Nokia staff, including the company's vice president of Maemo devices Ari Jaaksi, vice president of marketing Jose-Luis Martinez Merino, and director of Maemo product planning Janne Heikkinen. Session talks covered user interface and user experience design for the new release, application and widget development, and introductions to the changes slated for the next generation of Maemo, Maemo 6 "Harmattan." Saturday and Sunday's program was chosen by the Maemo.org community, and covered development in depth, as well as more user-centric subjects like introductions to the key applications and device customization.

Meet 5, meet 6

The biggest news in the Maemo community is the impending release of the Nokia N900, successor to the 770, N800, and N810 tablets — and the first to include cellular phone support. The N900 uses Maemo 5 "Fremantle," for which the official software development kit (SDK) has been available since December of 2008. Like previous releases, Maemo 5 uses libraries and toolkits common to desktop Linux distributions: Glib, GTK+, Pango, Cairo, GStreamer, BlueZ, D-Bus, Telepathy, etc. The new version adds Clutter, PulseAudio, GUPnP, Tracker, and upstart to that list, among other changes.

Nokia made a surprise announcement on the first day, providing pre-production N900 devices to 300 summit attendees for a six-month loan period (attendance was initially capped at 300; when registration hit the cap, it was expanded to 400 — Nokia assured the attendees that everyone who was not a Nokia employee or Nokia subcontractor would receive a device).

The core N900 applications — media player, calendar, communications tools, and web browser — were built by Nokia, but a considerable number of community-written and third-party applications are already built and available for the platform through the Maemo.org repositories. The Summit program recognized many of these applications with lightning talks or full sessions, and showcased five of them in the Sunday morning keynote slot for "Fremantle Stars." The stars included the microblogging tool Mauku, weather report utility OMWeather, exercise trainer eCoach, OpenStreetMap mapping tool OSM2Go, and liqbase, a suite of widgets and small applications designed for handwriting use, sketching, and other non-keyboard interaction.

[Jaaksi interview]

The early focus on providing Maemo 5 development tools and support should make the N900 application market full when the phone finally goes on sale. Similarly, Nokia has already started preparing developers for the changes and additions slated for Maemo 6, which is expected to be released sometime in late 2010.

The most talked-about change in Maemo 6 is the adoption of the Qt framework for the default applications. Nokia states several technical reasons for the change, including the desire to use OpenGL ES hardware acceleration for the entire interface, multi-touch and gesture input, and an application state machine API. It is no secret, though, that Nokia has business reasons for the change as well; as the owner of Qt creator Trolltech, the company is pushing the framework on all platforms: Maemo, Symbian, desktop Linux, Windows, and embedded devices. On Friday morning, Nokia announced the immediate availability of an official Qt stack for Maemo 5 — specifically, a "technology preview" release targeting application developers.

When the switch to Qt was initially announced, some questioned whether it was too soon, and would short-circuit developers' desire to build their applications for Maemo 5 with the current framework. Judging by the number and variety of Maemo 5 applications currently available, though, few, if any, developers appear to have chosen to skip Fremantle.

Oh, and did we mention it's a phone?

The majority of the excitement and discussion surrounding Maemo 5 and the N900 focuses on its capabilities as a portable Internet tablet like its predecessors; one could almost be excused for forgetting from time to time that the N900 is "also" a fully-capable cell phone. Perhaps that emphasis is appropriate; Blackberry, Palm, and Apple have placed the bulk of their efforts into highlighting the Internet features of their high-end mobile phone platforms.

Maemo 5 is still a big step forward for Linux on mobile devices, however, precisely because cell phone functionality on the N900 makes it a choice for the average smartphone consumer. More importantly, Maemo 5 is, for all intents and purposes, a standard Linux distribution under the hood — it is not a locked-down, code-signed environment in which all user applications run in an isolated virtual machine environment. An xterm is one of the default N900 applications; any user that wishes to alter system components right down to the kernel can gain root access without tiptoeing through an arcane jailbreaking process.

[oFono talk]

Consequently, one of the most intriguing talks at Maemo Summit was Saturday's "Maemo and oFono," which detailed Nokia's work on an open source cell phone communication stack. The cellular stack handles a range of functions, from communicating with the cell modem itself, to monitoring and caching network status and selection information, to processing and formatting SMS and MMS messages, to managing SIM card security. Modem management itself is a tricky field, as many cell modems still use the decades-old Hayes (i.e. "AT") command set, while others (including Nokia's) use vendor specific replacements with more features.

oFono uses D-Bus, and has a small core with a plugin system that handles functions like network registration, SMS formatting, and call handling. Intel is also heavily involved in the project, and according to speaker Rémi Denis-Courmont, has made most of the commits, particularly with the hardware drivers. oFono is still in pre-release; Maemo 5 uses a closed-source stack called the cellular service daemon (CSD), and Denis-Courmont said that oFono is unlikely to make it to Maemo 6 by launch time, either.

Free software purists may decry the N900 for its inclusion of proprietary code, including the CSD phone stack. Unlike other closed applications on Maemo devices, however, there has never been a free alternative, so oFono represents a big piece of the "purity" puzzle — even if it is several years from appearing in consumer devices. When asked by the audience why Nokia did not simply open up CSD, Denis-Courmont responded that the company was not satisfied with the code and preferred to write a proper open source solution from scratch, even if that takes time.

In a sense, that is the same story as Maemo itself. Nokia invested several years and several generations of product design building the Maemo Linux platform, and at the same time invested heavily in building an enthusiastic and deep community of Maemo application developers. It even encourages development of competing applications and interfaces, such as the Canola media player, the Mer distribution, and liqbase.

As a result, Nokia now has a solid open source phone platform to show for it, one that (according to Jaaksi) shares approximately 80 percent of its code with the standard desktop and enterprise Linux distributions. More importantly, neither Android nor the LiMo Foundation — which have not made the same investment in community building — has anywhere close to the active community writing open source applications and contributing upstream to the project. Google, for example, places its emphasis on commercial applications, and does not even track open source applications for the platform. On the other end of the spectrum, the OpenMoko project—lofty as its goals are—has not developed into a commercially viable product and gets poor reviews on user experience. The size of the Maemo community does not guarantee success for the platform, but as open source advocates know, it does provide a large advantage.

[Note: Nokia underwrote travel for the author, as well as for several other journalists and around one quarter of the community attendees. The author would like to thank Nokia, Quim Gil, and the Maemo Community Council for the opportunity, for their help, and for being accessible during a very busy event.]


Index entries for this article
GuestArticlesWillis, Nathan
ConferenceMaemo Summit/2009


(Log in to post comments)

Maemo Summit 2009: Fremantle, Harmattan, and N900

Posted Oct 14, 2009 17:46 UTC (Wed) by cry_regarder (subscriber, #50545) [Link]

Jake Says: "which ships with as close to a standard Linux distribution as the marketplace has seen delivered on a usable mobile phone. "

I've been using my freerunner using SHR-unstable for a couple months now as a daily phone. Not perfect but definitely "usable." It may not be the most "standard" distribution, but it is certainly more open.

Standard distribution

Posted Oct 14, 2009 20:03 UTC (Wed) by tajyrink (subscriber, #2750) [Link]

Well, I run FreeRunner with Debian and it surely is a standard distribution. The only package not from Debian main repository is the kernel, since there are still a few Neo FreeRunner drivers not in Linus' tree.

Of course, the point was "shipping". OpenEmbedded (based) is not maybe a standard, though it is quite popular in various embedded devices including Palm Pre phone. It could also have been pointing a finger at the faults of the shipping software compared to eg. Stable Hybrid Release (SHR), but it is a working phone out of the box.

And finally, one could argue if maemo is a distribution or a glorified SDK. I think not all deb:s are installable from a public repository with source code where available, so it's not that trivial to build one's package selection from scratch? Please correct if I'm wrong, ie. is the delta between Maemo and Mer ("maemo reconstructed) really small or not. Mer seems like a real distribution.

But whatever the case, Nokia N900 is by far the best mass-market choice to recommend to others if one wants to somehow advance open source mobile stuff. Maybe in a year or two it will run on standard Debian as well without losing any features.

[ending with obligatory mention about Nokia's open^H^H^H^H"proprietary" Ogg family media formats support]

Ogg Support

Posted Oct 16, 2009 9:12 UTC (Fri) by Jaffa (guest, #4327) [Link]

Want Ogg support on your N900, fully integrated into the Media Player? It's available:

http://maemo.org/downloads/product/Maemo5/ogg-support/

Ogg Support

Posted Oct 16, 2009 10:34 UTC (Fri) by tajyrink (subscriber, #2750) [Link]

As you know and has been discussed to death, the availability of installable, but not shipped software is irrelevant to the discussion of major manufacturers supporting open media formats instead of continuing to strenghten by-definition non-interoperable world in the area of video and sound.

It's not a big surprise that on a relatively open device you can install own software.

Ogg Support

Posted Oct 16, 2009 10:58 UTC (Fri) by Jaffa (guest, #4327) [Link]

Big companies are complex entities with one division having one opinion and another another.

Nokia don't ship Ogg out-of-the-box, but you can get a tier-1 experience by installing a single package, so I really fail to see the point of people being puritanical about Ogg support.

Do you want Nokia to ship support out-of-the-box' Nokia to expose their lawyers' concerns; or Nokia to publicly endorse Ogg Vorbis et al (but still not ship it)?

Ogg Support

Posted Oct 16, 2009 11:17 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

A lot of organizations including Red Hat, Novell, Google and Firefox are including Ogg Theora and Vorbis support. Even Microsoft includes Ogg Vorbis in some of their products. It's really high time, Nokia started endorsing Ogg and including support out of the box to meet their customers demands. Not only did they not do that, they went ahead and derailed Ogg Theora support in HTML 5 by calling it proprietary. Totally ridiculous and unacceptable behaviour.

http://www.boingboing.net/2007/12/09/nokia-to-w3c-ogg-is....

Actual Ogg Support

Posted Oct 19, 2009 18:59 UTC (Mon) by divide_by_zero (guest, #60957) [Link]

In the previous tablets there was ogg-support, but just to play given files. The metadata-crawler cannot read ogg tags, though, so there is no easy way to access your ogg files from the mediplayer. No sorting by album, artist, etc. (You can hack the DB though.)

Dissatisfied users asked for the opening of the code of the player and the crawler so we could really integrate ogg into the system, but it won´t happen for whatever reason. What I heard is that for Fremantle Nokia created a totally new and more open player and a metadata DB system, even based in a popular FLOSS program I am not familiar with. I hope ogg users won´t face the same problem in the N900, then...

As for being “official” or not, I'm not personally concerned. As I understand, the freedom fight stops when users are allowed to fix the system. We can't ask Nokia to be ogg enthusiasts and push it to the uninformed users.

One other concern that exists is whether the ogg codec has access to the same resources the other “official” ones have. If we can't make an ogg decoder use some specialized and closed DSP chip while the wma decoder can, that's reason to get angry. I'm not sure if that happens in the N900. I remember a discussion once where a Nokia person said that while that was true, the implementation of a non-official ogg decoder could still be made better than the official, closed and “privileged” alternatives... (Sorry for the excess of uncertain statements. :] )

Maemo Summit 2009: Fremantle, Harmattan, and N900

Posted Oct 14, 2009 20:16 UTC (Wed) by n8willis (subscriber, #43041) [Link]

Note: Jake didn't write that, I did.

I don't in any way discount your experience or rating of OpenMoko; I just base my assessment of the usability of the platform on the totality of the public reviews -- which, regrettably, are on the negative side. Like I said in the article, I have a ton of respect for what the project set out to do.

In my personal opinion, the real distinguishing characteristic of it was always the open specs for the components, it wasn't the shine of the software. But they did choose to pursue writing the OS and designing the hardware device from scratch, which might have been too much. Given the company's troubles, I don't think the future looks particularly bright for the project, but hey, maybe it will turn out okay after all. I follow it closely; we'll see where it heads. In the meantime, though, the evaluation of the masses is that it isn't ready for prime-time, non-hacker usage. Still, if you like it, that's great. It's good ot have options.

Nate

OpenMoko

Posted Oct 15, 2009 5:08 UTC (Thu) by laf0rge (subscriber, #6469) [Link]

Just let me address that point that OpenMoko "chose" to develop the OS and the hadware from scratch:

The way the semiconductor and cellphone hardware industry works is so closed and proprietary that you are forced to develop your own hardware if you want to do anything that is even remotely open on the system level.
First of all, unless you put somewhere between USD5 to USD10 million as 'entry fee' on the table, the semiconductor vendors will not even start talking to you about their GSM/3G baseband chips.

There is no documentation on the majority of the components used in modern smartphones. If at all, it is under NDA's that don't permit you to write open source software such as drivers.

Based on this closed-ness in the hardware industry, you do not have much choice but to design your own hardware, based on a subset probably 1-5% of the components that the semiconductor makers offer :(

Regarding the software: When OpenMoko started out, there was no existing Linux based stack that fulfilled even only some of the requirements like "try to not deviate too much from the linux desktop world", "proprietary software is not acceptable" and "support for traditional phone applications like voice call, sms".

Sure, Openmoko made many mistakes... but developing the hardware was a burden and not a choice, as was development of a lot of the software.

Regards,

OpenMoko

Posted Oct 17, 2009 3:20 UTC (Sat) by daniels (subscriber, #16193) [Link]

Surely the OMAP having open specs has put a pretty big dent in the 'nothing that runs in any modern smartphone has open specs' argument? :)

OpenMoko

Posted Oct 17, 2009 6:06 UTC (Sat) by laf0rge (subscriber, #6469) [Link]

About the Omap:

While the application processor is an important component, it is only _one_ of many components in a smartphone. You have to think about the specification of things like the power management IC, the audio codec, the camera sensors and any other peripherals.

Oh, and talking about the OMAP: It is one of those parts that use an Imagination PowerVR GPU, which is the equivalent of nVidia in the embedded space: You cannot imagine any company that is more closed. Even as a device manufacturer, even under NDA, you will never get any bit of source code of the driver...

Most importantly, even though the 2G/2.5G/3G/3.5G baseband runs a proprietary firmware (like your wifi and bluetooth), the external interface/protocol needs to be documented.

If you look at people trying to get a truly open source software stack to work on any modern smartphone, the modem interface is where you waste months of reverse engineering, typically with very little success.

The Palm Pre is one example, where an undocumented binary protocol is used. There's a whole team looking at the binary stream going back and forth, without big success so far.

OpenMoko

Posted Oct 17, 2009 6:53 UTC (Sat) by daniels (subscriber, #16193) [Link]

The audio, camera, and power management parts shipped with most OMAP3xxx parts also have completely open specs. Combined with an open driver for the N900, basically all you're missing is the baseband code (which makes it no worse than the Moko in many respects), the SGX driver, the 'energy management' (read: battery charging logic) code, and the bootloader. While it's true that there is no open source SGX driver, there's no real alternative for mobile 3D, so slating device manufacturers for that seems a little unfair.

You'll note that CSD as shipped with the N900 is closed, but ofono is open, and Nokia are heavily involved with the project, aiming to replace CSD with an open alternative, so.

Assuming you don't want 3D, and are prepared to ignore the bootloader (given that it's really just a BIOS that can load a Linux kernel) as you would a BIOS on a PC, then all you're missing is the battery-charging stuff on the N900, at least when ofono arrives. That's not perfect, of course, but still seems pretty damn good to me.

OMAP, N900 and openness

Posted Oct 17, 2009 7:46 UTC (Sat) by laf0rge (subscriber, #6469) [Link]

1) audio, camera, pmic:

I cannot comment on this specifically for the N900, as I don't have a N900 and have not seen even something as simple as a block diagram of the hardware or a list of the major parts that are in it. As soon as somebody provides that or high-res PCB photographs, I'm happy to verify if that is the case. From my past experience with all the phones that I've spent time reverse engineering, it has not been true!

2) modem baseband firmware / interface

as stated, I can live with the proprietary baseband modem software (just like I have to live with proprietary GPS and bluetooth firmware), as long as the interface is documented.

Yes, with PhoNet in the kernel there is some code. What I've heard from a number of people who have worked with nokia firmware based modems, they tell me that PhoNet in the kernel is incomplete.

Also, I have never seen any documentation on that protocol, neither the lower layers (PhoNet), nor the higher layers that are being implemented in ophono now.

3) battery charging logic

that sounds like a really strange bit to keep proprietary. I doubt there can be many trade secrets in there that need to be hidden. So it is completely unacceptable to have something as simple as that proprietary. However, if the hardware is reasonably well documented (i.e. which gpio is attached to which external piece of hardware, how does the battery charger / coulomb counter work, ...) then somebody can write a replacement.

So far, I yet have to see any of that for the N900.

I think there is a common misunderstanding of people who mainly work in application space about how many hardware details you really need to be able to actually write your own free software drivers without reverse engineering. No offence, this is not about you personally but about many of the statements I see in the community.

4) Lack of open source SGX driver

Unless the various companies using SGX cores don't _demand_ a driver solution that is in line with the regular linux graphics architecture and that is at least open source 'friendly', Imgtec will certainly not change.

All I'm seing is that Intel has been hit hard by the Poulsboro debacle, as well as everyone who builds products on that chipset. I know of other semiconductor makers who are struggling very hard with their customers requests vs. what Imgtec can provide.

I also know that the TI OMAP contains the Imgtec SGX core based on customer request... I presume that customer was Nokia in the first place.

5) serial console / jtag

Another thing that is key for actually doing efficient/reasonable system-level development on any hardware: serial console and jtag pinout. This information has never been officially released by Nokia,
not even for the previous n770/n800/n810. I know somee people have discovered the serial port, but where is JTAG? Doing kernel-level or bootloader work without JTAG is an order of magnitude harder. If Nokia cared about enabling a community to work on that level of their product, they should disclose that information.

On the general openness of the N900:

_If_ it is really true what you are writing, i.e. the documentation is all there and there are no other closed bits apart from bootloader, battery charging, SGX driver and baseband firmware: Yes, it is more open than most what we've seen before in that market. But given the hype that existed about every new device, including the previous Nokia nXXX products, I am extremely careful with my enthusiasm. So far, all of them have not really been very exciting from an openness point of view.

Battery charging "logic"

Posted Oct 22, 2009 14:28 UTC (Thu) by forthy (guest, #1525) [Link]

Having seen the data sheets of several battery charger chips for mobile phones, I can't see what's that fuzz about (the data sheets are available). These chips have an extremely simple interface: three logic pins, all open drain logic: enable, power present, charging. There's little possible magic behind driving these three pins.

What's more interesting is a charge tracking circuit - and the code behind that. That code might have patented algorithms inside, so it's probably not easy to release it.

Battery charging "logic"

Posted Oct 24, 2009 10:14 UTC (Sat) by nix (subscriber, #2304) [Link]

The people who sell those circuits also claim that they are protected for
health and safety reasons: if they released the code and someone changed
it and a battery exploded...

... and that's why nobody ever uses Linux or free software in
life-or-death situations. They rely on reliable code from vendors who can
be sued for endangering life and limb, like Microsoft.

(But perhaps that's not entirely 100% accurate.)

Battery charging "logic"

Posted Oct 24, 2009 21:11 UTC (Sat) by anselm (subscriber, #2796) [Link]

It turns out that the Microsoft EULA doesn't allow you to use Windows in life-or-death situations, such as nuclear plant or air traffic control. This tells us that Microsoft doesn't think their own code is good enough for these applications -- at least not to the point of putting their money on it.

On the other hand, nobody ever successfully sued Microsoft over a bug in their software.

Openmoko inc. != Openmoko project

Posted Oct 15, 2009 6:27 UTC (Thu) by tajyrink (subscriber, #2750) [Link]

I have to note even with the off-topicness of it that the project is not dependent on the company. With gta02-core we are seeing a completely new area being pursued, and in that sense the open hw was really the number one thing Openmoko Inc. managed to create. New companies can arrive to support gta02-core, but also the community itself is able to do further development of new, open phones, created with fully free software tools - which I think is pretty radical in the longer term perspective.


Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds