ケータイ用語の基礎知識
第919回:KaiOSとは
2019年8月27日 06:00
スマートフィーチャーフォン向け軽量OS
KaiOSは、タッチパネルを持たない「スマートフィーチャーフォン」向けに作られた、WebベースのモバイルOSです。米国KaiOS Technologiesによって開発・提供されています。
スマートフィーチャーフォンとは、数字キーとディスプレイを別に持つ、従来型のフィーチャーフォンの形状をした、アプリケーションの動かせる携帯電話のことです。いわば、「スマートフォンアプリも動くガラケー」と言ったところでしょうか。
日本を初め、先進国のユーザーにはほぼ馴染みのないKaiOSですが、たとえば「バナナフォン」と一時話題になった「Nokia 8110 4G」などがKaiOSを搭載しています。
公式サイトによれば、このKaiOSは、「Jio Phone」や「Nokia 8110 4G」といった機種を初め、2019年8月現在で出荷ベース100万台以上100カ国以上の国で販売されているとしています。多くが20米ドル以下をターゲットにした機種(中には50ドル超のものもありますが、それでも一般的なスマートフォンの値段ではありません)ですが、中には4G/LTEに対応した機種も多く存在します。
KaiOSの特徴は、非常に軽量でメモリ・ストレージとも消費しないことにあります。LinuxベースのOSであり、スマートフォンのOS同様、Wi-FiやGPSといったデバイスのAPIも用意されています。そして、KaiOS搭載機は多くが安いにも関わらず、「What's App」や「Facebook」、「Google Map」といった現代的なアプリケーションを動かすプラットフォームとして利用可能です。
このKaiOSを搭載するスマートフィーチャーフォンには、タッチパネルはありません。そのため、画面周りに配置されている物理キーで操作するため、感覚は一般的なスマートフォンのそれとは違うものの、これまでスマートフォンを買うことのできなかった新興国の庶民も現代的なアプリを動かすプラットフォームを手に入れることができるようになったのです。
アプリケーションはKaiOS搭載機器同士では互換性があり、ユーザープログラムもHTML5・JavaScript・CSS作成可能です。また、作成したプログラムは「KaiStore」というWebサイトで世界中に向けて、公開、配布することができます。
実際に、KaiStoreでは、ソーシャルメディア、ゲーム、ナビゲーションやストリーミング配信のエンターテイメントなど多くのアプリが販売されています。
先進国・中進国では、スマートフォンのOSというとiOSとAndroidの2強ですが、第3のOSを搭載した携帯電話がアフリカや南米、インドなどではこんな形で売られているのです。
中身はLinuxとGecko、KaiOSフロントエンド
第3のスマートフォンOSといえばTizenやFirefox OSなどが一時期は候補に挙がっていた時期がありましたが、実はKaiOSはそのFirefox OSの系統につながる子孫でもあります。
残念ながら開発が中止された、Firefox OSのオープンソースコミュニティによる後継であるB2G(Boot to Gecko) OSがあり、そこからフォークされたのが、このKaiOSです。B2Gからは、ユーザーインタフェースも変更され、スマートフィーチャーフォン向けに最適化し、メモリー、電池の消費も最小化されるように工夫されています。
アーキテクチャ的には、「Gaia」とよばれるフロントエンド、中間層「Gecko」、そしてハードウェアに一番近い層の「Gonk」からなっています。
「Gaia」がKaiOSプラットフォームのユーザーインタフェイスです。「Gaia」はHTML、CSS、JavaScriptのみを使って実装されています。
「Gaia」は、すべてのHTML5・CSS・およびJavaScriptで記述されたデバイスおよびユーザーインターフェイスレイヤーのコアWebアプリであり、UIコードが電話ハードウェアおよび「Gecko」機能と対話できるようにする多数の公開APIを備えています。
「Gecko」は、その名前の通りFirefox由来の部分でKaiOSアプリケーションランタイム部です。ネットワークスタック、グラフィックスタック、レイアウトエンジン、JavaScript仮想マシン、およびポーティングレイヤーなどが含まれています。
また、「Gecko」はHTML5解析およびレンダリングエンジン、セキュアなWeb APIを介したハードウェア機能へのプログラムによるアクセス、包括的なセキュリティフレームワーク、更新管理、およびその他のコアサービスも提供しています。
そして、「Gonk」です。「Gonk」は、「AOSP(Androidオープンソースプロジェクト)」に基づくLinuxカーネルと「HAL(Hardware Abstraction Layer)」で構成されています。
「Gonk」は基盤となるハードウェアを制御し、「Gecko」で実装されたWeb APIにハードウェア機能を公開します。つまりGonkは、ハードウェアレベルで要求を実行することによりモバイルデバイスを制御するために、舞台裏ですべての複雑で詳細な作業を行ってくれる「縁の下の力持ち」です。
もちろんKaiOS Technologiesによってさまざまに手が入っているのでしょうが、「AOSP」や「Gecko」がひとつのモバイルOSの中に存在しているのを見るのは、なんだか不思議な気分ですね。