Jump to content

Maemo

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Monk (talk | contribs) at 22:37, 22 May 2009 (added Category:Embedded Linux distributions). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Maemo
Screenshot of OS2008
DeveloperNokia
OS familyLinux
Source modelLargely open source with closed source components
Latest release4.1.2 / OS2008 5.2008.43-7 / December 17, 2008 (2008-12-17)
Marketing targetNokia Internet Tablet
Available inMultilingual
Update methodAPT and Flashing
Package managerdpkg
PlatformsARM architecture
Kernel typeMonolithic (Linux)
Default
user interface
Hildon UI
Official websitemaemo.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

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

OS2005 Desktop

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

OS2006 showing Pimlico Dates

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

OS2007 Desktop showing OMWeather

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

OS2008 Desktop

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

Template:Future software

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

  1. ^ Register Hardware review of the N800
  2. ^ a b Ars Technica review of the N800
  3. ^ Updating the tablet firmware
  4. ^ It's Official N810 WiMAX Announced
  5. ^ 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)
  6. ^ "Internet Tablet OS 2008 edition User Guide" (PDF). Nokia. 2007. pp. p. 14. {{cite web}}: |pages= has extra text (help)
  7. ^ "maemo Getting Started - maemo Platform Overview". Nokia Corporation. Retrieved 2008-08-15.
  8. ^ "maemo Getting Started - What is maemo?". Nokia Corporation. Retrieved 2008-08-14.
  9. ^ 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)
  10. ^ Maemo 4.x: Getting started with multimedia
  11. ^ Nokia N810 Specifications List of bundled applications
  12. ^ a b Qole Pejorian (2008-10-12). "Easy Debian moves to Extras".
  13. ^ Maemo - Jalimo
  14. ^ Overview of the software development process using the maemo SDK environment
  15. ^ Device Specifications
  16. ^ Debian Maemo packaging team
  17. ^ 770 Device Profile List of bundled applications for OS2005
  18. ^ Nokia - The Nokia 770 Internet Tablet adds Internet calls and Instant Messaging support
  19. ^ Nokia 770 Tablet "OS 2006" arrives News article on OS2006 release
  20. ^ USB in OS2008 Article on OS2008 USB support
  21. ^ USB On-The-Go Kate Alhola's Forum Nokia Blog USB On-The-Go
  22. ^ "Nokia Europe - Nokia N810 - OS2008 features".
  23. ^ "Maemo-Developers Mailing List: Frequencies scaling with OS2008".
  24. ^ a b "Codenames". maemo.org Wiki. Retrieved 25 June 2008. {{cite web}}: Unknown parameter |dateformat= ignored (help)
  25. ^ OS2008 Feature Upgrade: reflash your tablet (for the last time?)
  26. ^ "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)
  27. ^ 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)
  28. ^ Interview with Urho Konttori
  29. ^ We're getting some feedback .. and we've got a plan now Ari Jaaksi's blog post on OS2007 for 770
  30. ^ First release of OS 2007 / 770 hacker edition out Announcement of first OS2007 HE release on Carlos Guerreiro's blog
  31. ^ Internet Tablet Hacker Edition pushed at Chinook level Announcement of the first OS2008 HE release
  32. ^ KDE/Koffice Install made easy for everyone
  33. ^ OPENBOX-ROX Now Available
  34. ^ http://www.internettablettalk.com/forums/showthread.php?t=9678 XFCE Available
  35. ^ Why Not Skip Ahead? (KDE4 for ITs)
  36. ^ Bug 2564 - No consistency on scrolling/scrollbars in bundled OS2008 applications
  37. ^ Bug 1897 - Mouse support (Bluetooth and on 770 USB support)
  38. ^ OSiM Maemo Developer Session
  39. ^ Maemo Roadmap - Fremantle
  40. ^ OSiM News What's up with Maemo
  41. ^ Maemo LinuxTag Update
  42. ^ Bug 1046 - RFE: Power Management Profiles (AC/Battery, Timed, Environment and screen saver)
  43. ^ "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)
  44. ^ Jaaksi, Ari (2008-04-14). "CTIA and Qt". Ari Jaaksi's Blog. Retrieved 28 April 2008. {{cite web}}: Unknown parameter |dateformat= ignored (help)
  45. ^ Gil, Quim (2008-01-29). "Gnomes, trolls and the Maemo lands". flors. Retrieved 27 April 2008. {{cite web}}: Unknown parameter |dateformat= ignored (help)
  46. ^ 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)
  47. ^ 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)
  48. ^ 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