独自拡張と互換性を両立させる

 すでに全世界で60機種以上のAndroid搭載スマートフォンが登場しているが、その中でもIS01/LYNXは強い個性を持つ端末だ。外形はいわゆる「クラムシェル型」、折りたたみできるフルキーボード付きの形状を採用する。「この端末のため機構設計のグループががんばって、超小型のパンタグラフ・キーボードを開発した。幅127mmという寸法の中で、小型ながらキータッチにこだわったキーボードを搭載した」(白石氏)。

 ソフトウエアにも、多くの拡張が施されている。Androidアプリが動くプラットフォームとしての互換性と、独自性を両立させるため、同社は「米Googleとも相談しながら」(白石氏)プロジェクトを進めた。単に独自に拡張しただけでは、互換性がない端末になってしまう。IS01/LYNXは、API拡張を施しているが、互換性を損なわないことを開発方針として掲げた。

 その結果、独自拡張機能の公開方法については、(1)標準APIの枠組みの中で利用できる機能、(2)独自ライブラリとして提供する機能、(3)非公開の機能、の3つアプローチを取る形となった。

 (1)の標準APIの範囲内で扱う機能としては、例えばフタの開閉状態をアプリに伝えるイベントの扱いなどがある。

 利用方法にも関わる部分として、アプリ終了の機能を追加したことがある。標準的なAndroidでは、アプリを明示的に終了させる操作はない。このため、従来のAndroidスマートフォンのユーザーは、タスク管理用のアプリを別途導入していた。IS01では、「終話キー」を押したり、タスクメニューの「×」アイコンをタップすることで、アプリを明示的に終了させることができるようにした。

 日本語フォントにもこだわった。「モリサワ 新ゴR」と「LCフォント」の2種類のフォントを搭載し、ユーザーが導入したフォントも含め、切り替え利用できる。Androidにはフォント切り替えの機能は含まれないため、この部分はAndroidのFontManagerのデフォルトフォントを切り替える形で実現した(写真3)。

写真3●2種類の日本語フォントを搭載する
写真3●2種類の日本語フォントを搭載する
[画像のクリックで拡大表示]

 (2)の独自ライブラリとして提供する機能は、IrDA(赤外線通信)、LEDフラッシュライトの点灯、ファイルピッカー(データ管理)API、サブカメラの切り換え機能、である。シャープは、Androidの標準APIを拡張した部分のコードは、Googleに提供した。ただし、IrDAなどについてはGoogle側は標準APIの一部として扱うことに難色を示したため、標準ライブラリの外側に作り込むことにした。これらは、Androidの標準フレームワークとは別に、jp.co.sharp.android.* というシャープ独自の名前空間の元で管理する(写真4)。

写真4●シャープの拡張APIのリスト(jp.co.sharp.android.* の名前空間の元で管理する)
写真4●シャープの拡張APIのリスト
jp.co.sharp.android.* の名前空間の元で管理する
[画像のクリックで拡大表示]

 (3)のAPI非公開の機能は、マルチタッチやワンセグ関連などのAPIである。IS01/LYNXが搭載するタッチパネル付きディスプレイは、複数の指を使う操作を検知するマルチタッチを実現している。ただし、搭載するAndroid 1.6には標準ではマルチタッチ機能はないため、ソフトウエアは独自に拡張している。このマルチタッチ機能を扱うAPIは、アプリケーション開発者に対しては非公開としている。IS01/LYNXはワンセグ視聴および録画機能を搭載するが、コンテンツの著作権保護の観点からこれらの機能を扱うAPIは公開していない。