Maemo
![]() Screenshot of OS2008 | |
Developer | Nokia |
---|---|
OS family | Linux |
Source model | Largely open source with closed source components |
Latest release | 4.1.2 / OS2008 5.2008.43-7 / December 17, 2008 |
Marketing target | Nokia Internet Tablet |
Available in | Multilingual |
Update method | APT and Flashing |
Package manager | dpkg |
Platforms | ARM architecture |
Kernel type | Monolithic (Linux) |
Default user interface | Hildon UI |
Official website | maemo.org |
Maemo is an operating system for the Nokia Internet Tablet line of handheld computers. It was originally named "Internet Tablet OS".
Maemo is similar to many handheld operating systems, and features a "Home" screen—the central point from which all applications and settings are accessed. The Home Screen is divided into areas for launching applications, a menu bar, and a large customisable area that can display information such as an RSS reader, Internet radio player, and Google search box.
Maemo is based on Debian GNU/Linux and draws much of its GUI, frameworks, and libraries from the GNOME project. It uses the Matchbox window manager, and the GTK-based Hildon as its GUI and application framework.
Usage
Maemo's default screen is the "Home" screen—the central point from which all applications and settings are accessed. The Home Screen is divided into the following areas:
- Vertically down the left hand side of the screen is the Taskbar, with applets for the web browser, communications, and application menu by default, but these can be modified using third party plugins (to provide a favorites menu, or a command menu, for example).
- Horizontally across the top left half is the Menubar, which shows the application name and window title and gives access to the application's menu (which contains the typical, File, Edit, View, Tools, etc, menus and submenus)
- Horizontally across the top right half is the Statusbar, containing icons such as battery life, wireless connection, volume, Bluetooth, and brightness by default, but these can be expanded using third party plugins in the same manner as the Taskbar.
- The remaining large part of the display contains Home applets (roughly analogous to Apple Inc.'s Dashboard widgets), which can display data as well as being a shortcut to applications. These include an RSS reader, Internet radio player, Google search box and contact list by default, but can also be expanded with third party plugins.
The interface uses either the touch screen, or a directional pad and select button, with separate back, menu, and home buttons. It is capable of two modes of text input: handwriting recognition, and two different sizes of onscreen keyboard, as well as hardware keyboard input with the N810.[1]
Maemo provides the Mozilla-based MicroB web-browser with complete Adobe Flash support, which can operate over a wireless connection. It supports an 800x480 display resolution, so many web pages can be viewed without horizontal scrolling. It can automatically connect to known wireless networks and download RSS feeds and email and disconnect automatically without user intervention.[2]
Software is all installed or uninstalled using the Application manager. Users can subscribe to different software repositories which can then be used to automatically keep software up to date. The Application manager also provides an overview of everything currently installed on the system. Data can be synchronized with a PC via a USB connection, and the users files can be accessed using the standard Removable Storage Device protocol.[2]
Features
Updating
Maemo devices can be updated using a simple flashing method with a computer over USB. This is done by
- turning off the tablet
- connecting it to a computer with a USB cable
- starting the flashing software
- then turning on the tablet
The tablet doesn't load the OS but instead enters a flashing mode, where it receives the firmware image from the computer, and erases and rewrites its flash.[3]
The current release of OS2008, Diablo, supports "Seamless Software Update" (SSU), which allows incremental operating system upgrades "over the air" using APT without the need for a full flash with every update.[4]
Flashing remains available as a way to start over from scratch with a clean install (much like formatting your hard drive and reinstalling your OS on a PC).[5]
Security
The quick start guide for developers warns that Maemo security concentrates on preventing remote attacks (e.g. by wireless networking and Bluetooth). In particular, it warns that Maemo makes use of a root account, but has a trivial default password.[citation needed]
Independent of the root password, Maemo provides a way to lock the device's controls and display with a numeric access code to help prevent unauthorised access.[6]
Components
Maemo is a modified version of Debian GNU/Linux slimmed down for mobile devices.[7] It uses an X Window System-based graphical user interface using Xomap and the Matchbox window manager; the GUI uses the GTK+ toolkit and Hildon user interface widgets and API.[8]
BusyBox, a software package for embedded and mobile devices, replaces the GNU Core Utilities used in Debian-proper to reduce memory usage and storage requirements (at the expense of some functionality).[9]
ESD is used as the primary sound server, and GStreamer is used by the shipped media player to play back sounds and movies. The formats supported by GStreamer can be extended by compiling GStreamer plugins in scratchbox (Maemo SDK), which was done, for example, to bring Ogg support to the platform.[10] 3rd party media players can access GStreamer directly or via "osso-media-server". [citation needed]
Window management is handled by the Matchbox window manager, which limits the screen to showing a single window at a time (Ubuntu Netbook Remix implements a similar system). This is to improve handheld usability on a mobile device with a small screen.
Although Maemo is based on Linux and open source software, some parts of Maemo remain closed source. Some user-space software, like certain statusbar and taskbar applets (including the display brightness applet) and applications, and some system daemons related to connectivity and power management.[citation needed]
Software
Maemo comes with a number of built-in applications, but additional applications can be installed from a number of sources, including various official and community software repositories and deb files through either the built-in package manager "Application manager" or apt and dpkg.
Bundled applications include the Mozilla-based MicroB browser, Macromedia Flash, Gizmo, and Skype.[11]
Third-party applications
Due in part to the free and open source nature of Linux and Maemo, porting applications to Maemo is a straightforward procedure. Because of this, there are many third-party applications available for the platform. Some applications are original software written specifically for Maemo, while other applications are straight ports of existing Linux programs. Some notable software includes:
Media players: Canola (with network streaming), MPlayer
Internet: Claws Mail, Modest, Midori
Office applications: Gnumeric (spreadsheet), Abiword (word processing)
Instant Messaging: Pidgin
VOIP: Gizmo Project, Skype
Games: The Battle for Wesnoth
Others: FBReader (e-book reader), GPE (OpenSync compatible PIM), rdesktop (RDP remote access), Rhapsody (subscription music, US only), ScummVM (game emulator), Wayfinder (fully featured GPS navigation software), Free42S (HP 42S calculator emulator), gPodder (podcast client), Maemo Mapper (includes GPS functionality), MaemoMyth (MythTV frontend that uses GMythStream), Monsoon HAVA (TV viewer and controller), Obscura Photo Manager, Palm Emulator from Access (ARM based Palm emulator), Phonelink (SMS and voice caller via BT), Quiver Image Viewer, SDict Viewer (sdict-based dictionary/encyclopedia viewer), Vagalume (Last.FM player), VNC, YouAmp (music player)
Debian: The complete ARM Debian distribution can be installed as a Maemo application.[12], making thousands of software packages available (including OpenOffice, Firefox, Java, the GNOME desktop, etc).
Filetype support
- Video: MPEG-1, MPEG-4 ASP (H.263), RealVideo, AVI, 3GP
- Audio/playlists: MP3, RealAudio, MPEG-4, AAC, WAV, AMP, MP2, AMR, AWB, M4A, WMA. OGG/Vorbis (requires addon package), M3U, PLS
- Image/Animation: JPEG, GIF, BMP, TIFF, PNG, SVG Tiny, ICO
- Text/layout: text files, PDF, HTML.
Software development
Software can be developed in C using the Maemo SDK, in Java which is supported by the Jalimo JVM,[13] in Python, in Ruby, and Mono.
The Maemo SDK is based around the Debian-oriented Scratchbox Cross Compilation Toolkit, which provides a sandbox environment in which development may take place. Scratchbox uses Qemu to emulate an ARMEL processor or sbrsh to remotely execute instructions. Scratchbox-compatible rootstraps are available for both x86 and ARMEL, so the majority of development and debugging takes place on x86, with final packaging being for ARMEL.[14]
Hardware
The Maemo is designed for Nokia Internet Tablets, which feature very similar specifications to Nokia's high-end N-series and E-series cellphones, with TI OMAP ARM SoCs, large screens, and expandable internal storage.[15] Although the highly optimized, hardware-specific nature of Maemo means running all of it on non-Internet Tablet hardware would be very difficult, most of the important non-proprietary parts of the OS and some of the available 3rd party applications are actively being packaged for Debian and are available for use on other distributions, which will open up a large range of other hardware options.[16]
Version history
OS2005
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Maemo_desktop.jpg/220px-Maemo_desktop.jpg)
Shipped with the 770 in November 2005, this is the original Internet Tablet OS. It came bundled with the Opera web browser, Flash 6, basic Email and RSS clients, audio and video players, PDF and image viewers, a graphical APT front-end (dubbed simply "Application manager"), and a variety of simple games and utilities.[17]
OS2006
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Itos_2006_dates.jpg/220px-Itos_2006_dates.jpg)
On May 16 2006 Nokia announced a new version of Internet Tablet OS,[18] which was subsequentially released as a beta version for the 770 on June 9 2006 and as a final on June 20 2006.[19] The update featured improved performance and stability, a built-in Google Talk client, a refreshed look, and a new full-screen finger keyboard. Because of significant API and architecture changes, existing applications required recompiling. It is the last officially supported Internet Tablet OS release for the 770.
Also included was the ability to support 2GB RS-MMC cards (formatted FAT). The Linux kernel was upgraded to 2.6.16 with the associated patches for the OMAP platform. This new version uses kernel preemption for improved interactivity.
OS2007
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Itos_2007_desktop.jpg/220px-Itos_2007_desktop.jpg)
OS2007 was released and bundled with the N800 on January 8, 2007 after its announcement at the Las Vegas CES 2007 summit. It featured significant bug fixes and performance improvements in almost all areas of the OS, bringing updated versions of Opera 8 and Flash 7, an updated interface and various API and library updates.
OS2008
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Itos_2008_desktop.jpg/220px-Itos_2008_desktop.jpg)
OS2008 was released with the N810 in November 2007, based on Linux 2.6.21, and featuring MicroB, a new Mozilla-based web browser that replaces Opera, integrated Samba file sharing and additional support for Windows Media Player Formats and H.264, improved support for USB devices,[20][21] among other incremental UI improvements (particularly in the direction of finger-friendliness).[22] Dynamic frequency scaling (between 165 MHz and 400MHz) was also implemented, which gave the N800 a 70 MHz speed increase.[23]
Diablo
Diablo is the codename for the OS2008 Feature Upgrade (corresponding to Maemo 4.1).,[24] released in June 2008.[25] Major features include significant improvements to the built-in Application manager, incremental operating system upgrades without reflashing ("Seamless Software Update", SSU), Modest as the default mail client, and a new version of the MicroB browser with more optimizations and some interface improvements (though still based on the same Gecko release as Chinook's MicroB).[26][27]
SSU
SSU, in particular, is one of the most significant parts of the Diablo release, as it eliminates the flash-based upgrade system of previous Maemo releases which required the user to completely wipe their device with each upgrade. With SSU, the user can receive "over-the-air" updates to the live system. This also decouples bundled software updates from the major system updates as was required with the flash-based method, so Nokia can release more frequent updates to individual packages than before.[28]
The first SSU update was pushed on August 11, 2008, and brought Diablo up to version 4.2008.30-2. The update primarily features MicroB, Modest, and connectivity framework updates as well as a number of other minor bugfixes.
Hacker Editions
Nokia's release of the N800 in January 2007 brought Internet Tablet OS 2007. OS2007 ran only on the N800 and Nokia initially had no plans to release it for the 770; however feedback from disgruntled 770 owners[29] led Nokia to release an unsupported hybrid of OS2006 and OS2007, dubbed Internet Tablet OS 2007 Hacker Edition, in February 2007.[30] OS2007HE combined the binary parts of OS2006 with most of the updated libraries and user-space applications of OS2007.
Nokia followed the release of the N810 and OS2008 in November 2007 with the OS2008 Hacker Edition for the 770 on February 14, 2008, following a similar method to the OS2007HE release to create a hybrid between OS2006 and OS2007. The Hacker Editions allow 770 users to access the latest Internet Tablet OS releases and 3rd party software, although due to the 770's hardware limitations and the increased CPU requirements of OS2008, performance is inferior to that of OS2007 HE in most areas.[31]
Alternative desktops
In addition to the officially supported Hildon environment that comes standard on the tablets, several alternate desktop systems are available. Penguinbait, a member of the Internet Tablet Talk community, has successfully ported KDE 3,[32] Openbox,[33] and XFCE[34] to the N800 and N810 (the 770 is able to run an early version of the KDE port). KDE 4 is being ported at the present time.[35] LXDE is the default desktop for the "Easy Debian" distribution, which is installed as a single application under Maemo, but provides access to the full range of software in the ARM Debian distribution via a chroot environment.[12]
Future
Fremantle
Fremantle is the current codename for what will become Maemo 5.[24] The release is likely to feature a much more finger-friendly and consistent UI, and an X-server based on Xorg rather than KDrive.[36][37] It will feature several new technologies, including the Tracker search system, PulseAudio (replacing ESD), the OHM hardware management daemon, the gUPnP UPnP framework, enhanced location framework, and Upstart. Several existing technologies will also be updated, including Gecko, BlueZ, gstreamer (will include OpenMAX), GTK+, and Telepathy.[38][39]
The new release will come with new hardware, featuring a Texas Instruments OMAP3 SoC, with an HSPA modem and HD camera, which will provide significant improvements in the areas of speed, 3D acceleration, and media playback. It has not yet been determined whether Fremantle will run on current N800, and N810 devices, though.[40] The release will also bring community-supported Qt libraries alongside GTK.[41]
Harmattan
Little is known about Harmattan except for the plans to bundle officially supported Qt libraries with it, as well as improved power profiles.[42]
Qt
In January 2008, Nokia began the process of acquiring Trolltech, the developer of the Qt application framework. Nokia has since announced plans for the Qt libraries to be bundled with Maemo by Q4 2008, though without a platform-specific "hildonized" UI as is offered with GTK (meaning Qt applications will look different from hildonized GTK ones).[43][44] This will make porting of Qt applications to the platform easier for developers and make new applications available to users. Qt support on S60 devices will likely lead to cross-platform application sharing between the two platforms.[45][46] The announcement has met with mixed reaction in the developer community.[47][48]
Release history
Version | Codename | Build identifier | Release date | Notes | |
---|---|---|---|---|---|
OS2005 | 1.1 | - | 2.2005.45-1 | November 2005 | |
3.2005.51-13 | December 2005 | ||||
5.2006.13-7 | April 2006 | ||||
OS2006 | 2.0 | Mistral | 0.2006.22-21 | May 2006 | Beta release |
1.2006.26-8 | May 2006 | ||||
2.1 | Scirocco | 2.2006.39-14 | November 2006 | ||
2.2 | Gregale | 3.2006.49-2 | January 2007 | Final Nokia-supported OS for 770 | |
OS2007 | 3.0 | Bora | 2.2006.51-6 | January 2007 | |
3.1 | 3.2007.10-7 | March 2007 | |||
3.2 | 4.2007.26-8 | July 2007 | |||
4.2007.38-2 | October 2007 | SDHC corruption fix | |||
OS2008 | 4.0 | Chinook | 1.2007.42-18 | November 2007 | (N810 only) |
1.2007.42-19 | November 2007 | Kernel upgrade only (N810 only) | |||
1.2007.44-4 | November 2007 | Beta release (N800 only) | |||
2.2007.50-2 | November 2007 | ||||
2.2007.51-3 | January 2008 | NOLO upgrade only | |||
4.1 | Diablo | 4.2008.23-14 | June 2008 | Adds SSU support | |
4.2008.30-2 | August 2008 | First SSU update | |||
4.2008.36-5 | September 2008 | ||||
5.2008.43-7 | December 2008 | ||||
Maemo 5 | 5.0 | Fremantle | - | - | Bundled community-supported Qt libraries |
- | ? | Harmattan | - | - | Bundled officially supported Qt libraries |
See also
References
- ^ Register Hardware review of the N800
- ^ a b Ars Technica review of the N800
- ^ Updating the tablet firmware
- ^ It's Official N810 WiMAX Announced
- ^ Gil, Quim (2007-06-01). "Nokia and Maemo in the new GNOME mobile context" (FLV). pp. p. 22. Retrieved 28 April 2008.
{{cite web}}
:|pages=
has extra text (help); Check date values in:|date=
(help); Unknown parameter|dateformat=
ignored (help) - ^ "Internet Tablet OS 2008 edition User Guide" (PDF). Nokia. 2007. pp. p. 14.
{{cite web}}
:|pages=
has extra text (help) - ^ "maemo Getting Started - maemo Platform Overview". Nokia Corporation. Retrieved 2008-08-15.
- ^ "maemo Getting Started - What is maemo?". Nokia Corporation. Retrieved 2008-08-14.
- ^ Abinader, Bruno (2008-04-01). "Re: Systemtap testsuite report for arm architecture". systemtap (Mailing list). Retrieved 2008-04-28.
{{cite mailing list}}
: Check date values in:|date=
(help); Unknown parameter|mailinglist=
ignored (|mailing-list=
suggested) (help) - ^ Maemo 4.x: Getting started with multimedia
- ^ Nokia N810 Specifications List of bundled applications
- ^ a b Qole Pejorian (2008-10-12). "Easy Debian moves to Extras".
- ^ Maemo - Jalimo
- ^ Overview of the software development process using the maemo SDK environment
- ^ Device Specifications
- ^ Debian Maemo packaging team
- ^ 770 Device Profile List of bundled applications for OS2005
- ^ Nokia - The Nokia 770 Internet Tablet adds Internet calls and Instant Messaging support
- ^ Nokia 770 Tablet "OS 2006" arrives News article on OS2006 release
- ^ USB in OS2008 Article on OS2008 USB support
- ^ USB On-The-Go Kate Alhola's Forum Nokia Blog USB On-The-Go
- ^ "Nokia Europe - Nokia N810 - OS2008 features".
- ^ "Maemo-Developers Mailing List: Frequencies scaling with OS2008".
- ^ a b "Codenames". maemo.org Wiki. Retrieved 25 June 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help) - ^ OS2008 Feature Upgrade: reflash your tablet (for the last time?)
- ^ "What do we know about Diablo (Maemo 4.1)". Internet Tablet Talk forums. 2008-03-09. Retrieved 28 April 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help) - ^ Greene, Jonathan (2007-10-24). "A not so modest update to email is coming". Featured Maemo Apps. Retrieved 28 April 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help) - ^ Interview with Urho Konttori
- ^ We're getting some feedback .. and we've got a plan now Ari Jaaksi's blog post on OS2007 for 770
- ^ First release of OS 2007 / 770 hacker edition out Announcement of first OS2007 HE release on Carlos Guerreiro's blog
- ^ Internet Tablet Hacker Edition pushed at Chinook level Announcement of the first OS2008 HE release
- ^ KDE/Koffice Install made easy for everyone
- ^ OPENBOX-ROX Now Available
- ^ http://www.internettablettalk.com/forums/showthread.php?t=9678 XFCE Available
- ^ Why Not Skip Ahead? (KDE4 for ITs)
- ^ Bug 2564 - No consistency on scrolling/scrollbars in bundled OS2008 applications
- ^ Bug 1897 - Mouse support (Bluetooth and on 770 USB support)
- ^ OSiM Maemo Developer Session
- ^ Maemo Roadmap - Fremantle
- ^ OSiM News What's up with Maemo
- ^ Maemo LinuxTag Update
- ^ Bug 1046 - RFE: Power Management Profiles (AC/Battery, Timed, Environment and screen saver)
- ^ "Qt to be supported in addition to GTK+". maemo.org Announcements. 2008-04-15. Retrieved 28 April 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help) - ^ Jaaksi, Ari (2008-04-14). "CTIA and Qt". Ari Jaaksi's Blog. Retrieved 28 April 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help) - ^ Gil, Quim (2008-01-29). "Gnomes, trolls and the Maemo lands". flors. Retrieved 27 April 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help) - ^ Paul, Ryan (2008-04-23). "Nokia Internet Tablets get Ubuntu and Qt". Ars Technica. Retrieved 27 April 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help) - ^ van den Oever, Jos (2008-01-28). "digesting the Trolltech acquisition". oever's blog. Retrieved 27 April 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help) - ^ Wilcox, Mark (2008-02-03). "Trolltech, Linux, Open Source, the future?". Mark Wilcox's Forum Nokia Blog. Retrieved 27 April 2008.
{{cite web}}
: Unknown parameter|dateformat=
ignored (help)
External links
- Maemo home page
- Maemo white paper
- Maemo in freedesktop.org
- Scratchbox Cross Compilation Toolkit
- discussion of the Nokia N800 and Internet Tablet OS, with a focus on user interface flaws, by an Apple Newton software developer
- Material for Nokia's own introductory course on Maemo