The Maemo apps people actually installed
Maemo apps were ordinary Debian packages: on the Nokia N900 you installed a .deb through an application called the Application manager, which pulled it over the air from an apt catalogue rather than from a single shop.
That one design decision explains almost everything about the software on the platform. Because Maemo was Debian underneath, with dpkg and apt doing the work, anything already packaged for ARM Linux was a candidate for a port, and a developer needed no approval from Nokia to publish. It also explains the gaps: an operator-facing feature such as MMS never shipped, and a commercial client such as WhatsApp never arrived, because nothing in the model compelled a vendor to write one. The hardware the software ran on is set out in The devices, in order, from the Nokia 770 of 2005 to the N900 of November 2009.
How Maemo software was packaged and installed
Maemo software was packaged and installed exactly as Debian software is: as .deb archives, resolved by apt, unpacked by dpkg, and listed for the user by a graphical front end called the Application manager. The Application manager called a repository a catalogue, and a catalogue entry had three fields: a web address, a distribution, and a list of components. Maemo 5 on the N900 used the distribution codename fremantle, and Maemo 4 on the N810 used diablo, which is why a package built for one tablet would not appear on the other.
Two consequences followed. The first is that the device was a real Linux machine to its owner: installing the rootsh package and opening the X Terminal gave a root shell, and from there apt-get behaved as it does anywhere else. The second is that a bad package could break the system, because nothing sandboxed an install. Nokia shipped its own catalogues for system updates and for its own applications, and the community ran its own alongside them.
What Nokia preinstalled on Maemo 5
Nokia preinstalled on Maemo 5 a compact set of first-party applications, and left the rest to the catalogues. The N900 arrived in November 2009 with the Conversations messaging application, the Phone and Contacts applications, an email client, the MicroB web browser, a media player, a camera application for the 5 megapixel Carl Zeiss sensor, a file manager, a maps application, and four games: Blocks, Chess, Mahjong and Marbles.
Skype and Google Talk were integrated at the account level rather than bolted on as separate programs, so a Skype contact appeared in the same contact list as a phone number and could be called from the same place. The maps application, and the free turn-by-turn navigation Nokia moved to during 2010, are covered in Maps and navigation.
Nokia issued four significant firmware updates for Maemo 5, ending with PR1.3 in October 2010. After that the platform’s maintenance passed to volunteers, who ran a Community SSU that continued to patch the system packages for years. This site describes those updates; it does not host or link firmware images.
The three community catalogues: Extras, Extras-testing and Extras-devel
The three community catalogues formed a pipeline rather than three separate shops. A developer uploaded source to Extras-devel, where an autobuilder produced binaries with no quality gate at all. A package that looked ready was promoted to Extras-testing, where owners of the device installed it deliberately and voted on whether it worked. Packages that survived that were promoted to Extras, the catalogue an ordinary user was expected to enable.
Extras-devel is where the platform’s reputation for danger came from. It contained half-finished work, packages that replaced system components, and packages that conflicted with each other, and leaving it enabled through a routine update was the single most common way to render an N900 unbootable. The recommended practice was to enable it, install the one package you wanted, and disable it again.
The Ovi Store on Maemo, and what it did not carry
The Ovi Store came to Maemo 5 later than the catalogues did, and it never displaced them. Nokia added a store client for the N900 during 2010, offering paid and free applications through the same account system used on Symbian, and rebranded Ovi Store as Nokia Store in 2011. The catalogue system carried on underneath it untouched, which meant most N900 owners installed most of their software without the store ever being involved. What the store meant for the platform, and what happened to it, is set out in The Ovi Store.
This is an independent reference, not Nokia, not Jolla, not maemo.org and not the original Maemo Freak blog. It carries no firmware, no ROMs, no repackaged applications and no prices.
Games, emulators and desktop Linux ports
Games on Maemo divided into three groups: the four titles Nokia preinstalled, native ports of open source games, and emulators. Because the platform was Debian on an ARM Cortex-A8, porting was often a matter of recompiling, and the results were not toys. The list below is representative rather than complete.
- Ported open source games such as OpenTTD, Battle for Wesnoth, SuperTux and ScummVM.
- Ported first-person shooters built on released engine source, including Doom and Quake derivatives.
- Emulators for older systems, including a SNES emulator, a Commodore 64 emulator and a Game Boy emulator.
- Native touch games written for the 800×480 screen and distributed through the catalogues.
The same recompile-and-package route produced the platform’s other party trick: a Debian chroot, packaged for the community as Easy Debian, that ran a full desktop environment and desktop office software on the handset. It was slow, it needed the 32 GB of internal storage, and it worked. Nothing on this site distributes any of that software; the packages lived in the catalogues and in their upstream projects.
Media, radio and the hardware the software could reach
Media applications on Maemo could reach hardware that competing platforms kept closed, and that is the most concrete difference the software model made. The N900 contained an FM transmitter, and community applications exposed it, so the device could broadcast its media player output to a car radio. The stock media player handled the usual formats, and ported players such as MPlayer covered what it would not.
The limit was power. The N900 ran on a 1320 mAh BL-5J battery driving a 600 MHz TI OMAP 3430 with 256 MB of RAM and 768 MB of swap, and because nothing stopped an application from running in the background, a badly behaved package from a catalogue could halve a day’s battery life without announcing itself. Support for diagnosing that was community support, on forums, not a helpdesk.
How installing software differed from the N97 and the N8
Installing software on the N900 differed from the N97 and the N8 in the permission model, not in the amount of software available. Both of those devices ran Symbian, where an application shipped as a signed .sis file and platform security decided what it was allowed to touch. Maemo asked no such question: a package could take root and rewrite the system, which is why the N900 could host a Debian chroot and why an unattended Extras-devel upgrade could brick it.
| Device | Released | Operating system | Package format | Main software channel |
|---|---|---|---|---|
| Nokia N97 | June 2009 | Symbian S60 5th Edition | Signed .sis | Ovi Store |
| Nokia N900 | November 2009 | Maemo 5, Debian-based Linux | .deb | Application manager catalogues |
| Nokia N8 | 2010 | Symbian^3 | Signed .sis | Ovi Store |
The three devices also answered different questions about input. The N97 and the N900 both had a slide-out QWERTY keyboard, the N900’s a three-row layout under a 3.5in 800×480 resistive screen; the N8 dropped the keyboard for a 12 megapixel camera and a capacitive display. For a Maemo user the keyboard mattered because the terminal mattered, and the terminal mattered because the package manager was the real store.