SATOXのシテオク日記

~ふもっふ、ふもふも~

Android OS次の一手は!?

Android端末の歴史を辿ると「Anroid Dev Phone 1」という端末が2008年に投入され、OSはバージョン1.0、1.1。その後、コードネームが付けられたCupcake、Donut、Eclair、Froyo、Gingerbread、Honeycomb、Ice Cream Sandwich、Jelly Beanでバージョン4.2に到達しています。
これまで怒濤のごとくバージョンアップし機能も追加されて来ましたが、近年その未来の兆候が見えないような気がしています。
メジャーバージョンが上がるのであれば順調にいけば2013年、今年なのですがもしあるとすればどのようなイノベーションがあるのでしょうか。
研究者でもないので適当なことを言いますけども……。

OSとGoogleサービスの統合
iOSやドコモが進めているように、OSと各サービスの統合がより計られてくると思います。
Knowledge Graphなどで利用できる音声入力とMaps、それからTwitterFacebookなどとの連携を推し進める必要があるかと思います。
一方で「独立アプリ」を進めてきましたからどうなるか…。
ちなみにAndroidに昔からある機能「戻る」は良いですね。ブラウザから辞書アプリを起動して検索、辞書で見つけた音楽を再生した後に、戻る-戻るとすれば元のブラウザに戻ります。
iOSマルチタスクであることに変わりはないですが、ノードがない感じ。そのうちiOSもそのような機能を入れるのかもしれません。
 
OSのリファイン Dalvik VMの廃止
クアッドコアとか高周波数化などハードウェアの進歩はありますが、近年ソフトウェア面での高速化はあまりみられていません。
Android OSの見栄え上のコアはDalvik VMというJava仮想マシンで構成されています。
Dalvik VMがあるからこそ、中間言語としてのJavaプログラムを端末を問わず実行できるのが特徴でした。その一方でJavaであることやメモリのガベージコレクションなどによりもさもさ動くという印象がイメージを悪くしています。一方でいiPhoneガベージコレクションは結構いい加減で、アプリを邪魔しない一方でメモリが足りなくなるとあっさりアプリがクラッシュしますね。あ、余談でした。
まぁどちらが理想かは分かりませんが、SATOX的にはAndroidの方が重厚長大で複雑なシステムに積み上がってきていると思います。
つまり、iOSと同じように、ハードウェアをある程度絞った上でもっとネイティブアプリの開発を行いやすい状況になれば、もっとシンプルになるはずです。
Javaはある4つの、別だけどある決まった構成のハードがあります、すべての端末でこのプログラムを動かしたいです。」なんてときとても重宝されますが、端末の構成もばらばら、OSのバージョンもばらばらというこのカオス状態を何とか出来ないかと思うものです。(コードのJIT化とかインストール時にやればいい)
なぜなら、こんな状況でアプリを作るのは開発者にとってとても酷。これじゃあアプリも不安定になりますよ。
Dalvik VM廃止は当面あり得ないでしょうけども、もっとネイティブ路線でアプリを開発できれば、特にグラフィック周りは間違いなく改善されるでしょう。
 
Androidの今後
重たく高機能なOSとなってきたAndroid OS。2013年の予定はGoogle I/Oなどで発表されるのでしょうが、何か大きなイノベーションを起こしてくれるのではないかと期待しています。
バッテリーの長寿命化はもちろん、NFCの利用くらいしか思いつきませんが、何かやらかしてほしいものです。個人的にはDalvikVMを捨ててChrome OSのような見た目シンプルな端末になって欲しいですね。その心は、センシティブなグラフィックパフォーマンスを向上させること、サウンドの発音レイテンシ改善などもネイティブ側を叩かないとどうにも使い物にならないためです。
個人的にはVisual Studioからデバッグできて、C#なんかで開発できたら最高です。それはWindows Phoneのお仕事なんですが、なかなか流行らないもので……。