Maemoとは
Maemo(マエモ)は、
ノキアが開発した
スマートフォンおよびInternet Tabletシリーズ向けの
オペレーティングシステムです。当初は「Internet Tablet OS」と呼ばれていました。このOSは、ハンドヘルドデバイス向けの他のOSと同様に、アプリケーションや設定にアクセスできる「ホーム」画面を中心に構成されています。ユーザーは、このホーム画面からさまざまな機能やアプリにアクセスできます。
インターフェースの特徴
Maemoのインターフェースは、直感的な操作を可能にするように設計されています。
ホーム画面: すべての操作の中心となる画面で、アプリケーションの起動、メニューアクセス、カスタマイズが可能です。
タスクバー: 画面左端に縦に配置され、ウェブブラウザや通信アプリなど、頻繁に使う機能へのアクセスを提供します。表示内容はカスタマイズ可能です。
メニューバー: 画面上端の左半分に位置し、現在開いているアプリケーションの名前やウィンドウタイトルを表示。アプリケーションのメニュー(File、Editなど)へのアクセスを可能にします。
ステータスバー: 画面上端の右半分に位置し、バッテリー残量、無線接続状況、音量、
Bluetoothなどの情報を表示します。表示内容はカスタマイズ可能です。
ホームアプレット: ホーム画面の大部分を占め、RSSリーダー、インターネットラジオプレーヤー、検索ボックスなどを表示します。これらはユーザーが自由にカスタマイズできます。
操作は、タッチスクリーン、方向パッド、セレクトボタン、バック/メニュー/ホームボタンを用いて行います。文字入力は手書き文字認識やソフトウェアキーボードに加え、ハードウェアキーボードも利用できます。また、MicroBウェブブラウザが標準装備されており、Adobe Flashにも対応。無線接続により、ウェブサイトの閲覧や情報のダウンロードが可能です。
Maemoの構成要素
MaemoはDebian GNU/Linuxをベースにしており、GUIはX Window Systemを基盤としています。ウィンドウマネージャにはMatchboxを採用。GUIフレームワークにはGTKツールキットとHildonウィジェットが使われています。また、システムリソースを効率的に利用するため、BusyBoxを使用しており、メモリとストレージの消費を抑えています。
サウンドサーバーにはESD、メディアプレーヤーにはGStreamerが採用され、多様なファイル形式に対応。GStreamerプラグインを拡張することで、サポートするファイル形式をさらに増やすことが可能です。ウィンドウ管理はMatchboxによって行われ、一度に一つのウィンドウのみが表示されます。
ソフトウェアとアプリケーション
Maemoには、MozillaベースのMicroBブラウザ、Adobe Flash、Gizmo5、Skypeなどのアプリケーションが標準で搭載されています。アプリケーションマネージャを使うことで、さまざまなリポジトリからソフトウェアをインストールできます。APTとdpkgを使用することも可能です。
サードパーティ製アプリケーション
MaemoはLinuxベースであるため、多くのサードパーティ製アプリケーションが利用可能です。以下は代表的なものです。
メディアプレーヤー: Canola、MPlayer
インターネット: Claws Mail、Modest、Midori
オフィスアプリケーション: Gnumeric(表計算)、Abiword(ワープロ)
インスタントメッセンジャー: Pidgin
VOIP: Gizmo5、
Skype
ゲーム: The Battle for Wesnoth
その他: FBReader(
電子書籍リーダー)、GPE(PIM)、rdesktop(リモートデスクトップ)、ScummVM(ゲームエミュレータ)、Wayfinder(GPSナビ)、Free42S(電卓エミュレータ)、gPodder(ポッドキャスト)、Vagalume(音楽プレーヤー)などがあります。
さらに、ARM Debianディストリビューションをインストールすることで、OpenOffice、Firefox、
Java、GNOMEデスクトップといったアプリケーションも利用できます。
対応ファイル形式
Maemoは以下のファイル形式に対応しています。
ビデオ: MPEG-1, MPEG-4 ASP (H.263), RealVideo, AVI, 3GP
オーディオ/プレイリスト: MP3,
RealAudio,
MPEG-4,
AAC,
WAV, AMP, MP2, AMR, AWB, M4A, WMA, OGG/Vorbis(アドオンが必要), M3U, PLS
画像/アニメーション: JPEG, GIF, BMP, TIFF, PNG, SVG Tiny, ICO
テキスト/レイアウト: テキストファイル, PDF, HTML
ソフトウェア開発
Maemo用のソフトウェアは、
C言語、
Java(Jalimo JVM)、
Python、
Ruby、Monoなどで開発できます。Maemo SDKはDebian指向のScratchbox Cross Compilation Toolkitをベースとしており、開発環境を提供します。開発はx86環境で行い、最終的なパッケージングをARMEL環境で行うことが可能です。
ハードウェア
Maemoは主に
ノキアのInternet Tablet向けに設計されています。これらのデバイスは、TI OMAPプロセッサ、大画面ディスプレイ、拡張可能なストレージを特徴としています。プラットフォームを限定することで高度な最適化が実現されていますが、OSの非プロプライエタリ部分やサードパーティ製アプリケーションは、他のDebianやディストリビューション向けにパッケージ化されており、さまざまなハードウェアでの動作も可能です。