Androidの性能最適化と品質向上で強い製品を生み出すYDC

競争が激化するスマートフォン市場。端末の評判は瞬く間にインターネット上を駆け巡ることもあって、端末メーカの開発現場では、Androidやアプリの品質向上と性能最適化を図るべく、短い開発サイクルの中で厳しい開発作業が日々繰り広げられている。JTAG/ICEでおなじみの横河ディジタルコンピュータは、データベースに造詣の深いジービーエー社との協業を通じて、そうしたニーズに応える効率的な開発ツールを拡充した。次期端末の開発に取り組むパナソニック モバイルコミュニケーションズを交えてお話を伺った。

メインイメージ

Android内部データベースの最適化を実現

横河ディジタルコンピュータ(以下YDC)は、2012年6月27日付けで、ジービーエー(以下GBA)との協業を発表しました(※1)。この概要について教えてください。

松田(YDC):当社ではAndroidをターゲットにしたさまざまなツール製品を展開していますが、GBAさんも「LAP developer」(Log analyzer for Android Platform)と「TAP developer」(Test-bed for Android Platform)というAndroid用のツールを開発されていて、当社のJTAG/ICE「adviceLUNA」にはない機能が搭載されています。開発環境のトータルの品質を高めたいという当社の方針に合致するとともに、両社のツール間で機能的な補完がうまく成り立つこともあって、GBAさんとパートナーシップを締結しました。まずはGBAさんのツールの取り扱いからスタートし、いずれは両社が共同して製品を成長させていきたいと考えています。

GBAの岡本社長にもお越しいただいていますので、最初に会社の概要から説明してください。

岡本(GBA):GBAはデータベースソフトウェアの開発を目的に2008年に設立した会社です。データベースソフト開発の一環でAndroidに標準搭載されている「SQLite」の互換品を開発してスマートフォンメーカ各社に売り込んでいるなかで、Androidの開発コンサルティングや性能最適化の依頼が当社に持ちかけられるようになりました。解析を効率化するために独自のツールを開発し使っていたのですが、あるお客様に目ざとく見つけられてしまい、なんだそれは、うちにも使わせろと(笑)。そういったニーズがあるのならと正式に製品化したのが「LAP developer」と「TAP Developer」です。

Androidのデータベース性能はどういうところに影響するのですか?

岡本(GBA):たとえばAndroidスマートフォンの電話帳に数千件ものデータが登録されている場合に、電話が掛かってきても、電話帳の検索に何秒もの時間がかかって発信元がなかなか表示されないという現象があって、ヘビーユーザーや登録件数の多い企業ユーザーの間で問題になっていました。アドレス帳だけではなく、メールにしても写真にしてもすべてデータベースで管理していますので、データベース周りを最適化しておかないと、データが増えていくに連れてどんどん遅くなってしまうわけです。

YDCはJTAG/ICE「adviceLUNA」にて「システムマクロトレース」というソフトの見える化機能を提供しています。GBAのツールとの違いを教えてください。

松田(YDC):当社の「システムマクロトレース」はスマートフォン全体の動きを可視化して性能ボトルネックとなっている箇所を特定するためのツールです。一方のGBAさんの「LAP developer」は、Androidでボトルネックになりやすいデータベース周りやプロセス間通信などに焦点を当てています。たとえば、当社の「システムマクロトレース」を使って全体像を把握してから、GBAさんの「LAP developer」で細かく確認していく、といった使い分けになるかと思います。

岡本(GBA):もうひとつの「TAP Developer」は、ネットワークを介してAndroid端末を評価できるリモート検証ツールです。開発用の実機がセキュリティ等の問題で持ち出せないとか、開発拠点が日本と海外とにまたがるときなどに、ネットワークを使って開発効率を高められるように開発しました。マルチタッチ操作のエミュレーションもリモートからできるようになっています。

次期ELUGAに「adviceLUNA」と共に「LAP developer」を導入予定

パナソニック モバイルコミュニケーションズ(以下PMC)からは、Androidベースのスマートフォンである「ELUGA」を担当されたお二人に来ていただきました。Androidの開発環境はどのように構築しているのですか?

渡辺(PMC):以前は開発環境の構築を専門に担当していた部署もあったのですが、Androidベースとなると秒進分歩で開発を進めて行かなくてはなりません。そのため現在は私たち設計者自身が、使いやすいツールを探してきて環境を構築するという形です。

西江(PMC):日本では、春モデル、夏モデル、秋モデル、冬モデル、と順繰りに端末の開発が進められますが、開発環境はどの世代もほぼ同じです。ただ、Androidが半年ごとにバージョンアップしますし、アプリやサービスも世代ごとに進化しますので、開発や評価の対象となる項目は年々増加しているのが実状です。

YDCまたはGBAの開発ツールはすでに導入されているのですか?

渡辺(PMC):YDCのJTAG/ICE「advice」シリーズはフィーチャーホンの時代から使っていますし、Androidへの対応も他社ツールベンダーに比べ迅速だったこともあり、スマートフォンの開発でも引き続き利用しています。国内ベンダーなので、サポートが早いというか、痒いところまで手が届くというか、困ったらすぐに相談に乗ってくれるところなどはとても助かっています。

松田(YDC):PMC様は「システムマクロトレース」版の「adviceLUNA」も導入されています。またGBAさんの「LAP developer」については現在評価をお願いしている段階です。リモートツールの「TAP Developer」についても、PMC様側のネットワーク環境が整い次第、評価に入っていただく予定です。

「LAP developer」を評価することになった経緯を教えてください。

西江(PMC):「ELUGA」の開発ではお客様が実際に使用する場面での品質をいかに上げていくかがテーマのひとつになっています。そのなかで、電話帳、メール、写真、音楽など、お客様の大切なデータが収められるデータベースの品質をいかに短期間で高めていくかが重要で、効率良く解析したいという我々の問題意識に対して「LAP developer」の機能が一致したというのが評価を始めたきっかけです。

これまではデータベース周りはどのように最適化してきたのですか?

西江(PMC):時間と手間を掛ける、いわば職人的なやり方で対応してきました。ソースコードを解析したり、トレースポイントを挿入して挙動を把握したり、といった方法が主体です。ただ、Android端末に搭載される機能が今後もさらに増えていくこと考えると、今のやり方では商品をタイムリーに出し続けていくことが困難になるのではないかという懸念があって、ツールを利用して効率を高められないかと以前から考えていました。

「LAP developer」を実際に評価してみて感触はいかがですか?

西江(PMC):データベース周りに特化したツールというのは他にはほとんどなくて、お客様の手元で、実際に起こるであろうことがある程度把握できるという見通しを得ています。正式な商品開発サイクルとしては回してはいませんので、どれくらい効果が出るかは数値ではまだ申し上げられませんが、感覚的には非常に優れたツールという印象です。現在開発を進めている次期「ELUGA」に適用を予定しています。

岡本(GBA):テストの基準が変わってきていて、これまでは数百件のデータを管理すればよかったものが、数千件へと桁が増えています。データを10件入れているときと1000件入れているときとで後者のほうが遅くなった場合に、エンジニアには理解されても一般ユーザーには言い訳は通用しません。エンタープライズのデータベースではさまざまなチューニングが行われてきましたが、Android端末でもそういったところをきちんと押さえないと気持ちのいい操作感が実現されず、商品の価値が損なわれてしまうというのが現実です。

Androidがゆえに増え続ける開発負担

Androidは共通のプラットフォームなので製品の差異化が難しいのではないかと思います。開発にはどのような考えで取り組んでいるのですか?

渡辺(PMC):難しい質問ではあるのですが、Androidそのものやチップセットでは差異化は難しいので、カメラの機能や性能であるとか、液晶の見やすさやサイズ、それから、パナソニックのこだわりである薄型化に注力して開発を進めています。また、バッテリの持ち時間はやはり重要で、性能を高めつつバッテリを長持ちさせるというトレードオフの難しいポイントを見つけ出してバランスのいい商品に仕上げるというのも技術的な目標のひとつです。

消費電力の問題は難しそうですね。

西江(PMC):ハードウェアのチームとソフトウェアのチーム、それから通信のチームが共同でタスクフォースを結成して、消費電力の解析と削減に取り組んでいます。

渡辺(PMC):待機中に勝手に起動するAndroidアプリがあるんです。 たとえばあるアプリは約30分に一回の間隔で起動します。CPUが起きて、モデムが起きて通信し、またスリープに入る。その積み重ねでバッテリが減っていきます。そういうアプリが実はたくさんあって、ひどいものになると1分間動かしただけでバッテリが2%減ってしまったりとか(笑)。

岡本(GBA):フィーチャーホンは閉じた世界なのでかなり細かい電源管理ができますが、インストールされるアプリをメーカがコントロールできないAndroidはそうはいきません。GBAには個々のアプリが消費する電力の調査依頼も寄せられますが、今後はアプリ単体としてではなく、たとえばメールをチェックして、Facebookを開いて、twitterでつぶやく、といった、利用者にとって頻度の高い「ゴールデンルート」の消費電力を測定し最適化していくことが重要になるだろうと考えているところです。

そのほかにAndroid端末の開発で苦労している点はありますか?

渡辺(PMC):フィーチャーホンの時代は、あなたはこのアプリケーション担当ね、君はこのミドルウェア担当ね、と決まっていて、それぞれが担当範囲に精通していましたが、Androidではそういう固定化ができずに、たとえば私がソフトウェアレイヤーの少し下のほうで、西江はレイヤーの真ん中あたりとか、そういうざっくりした切り口でしか分担できなくなりました。そのため、Androidの新しいバージョンが出るたびにいろいろなところを見ていかないといけません。

竹島(YDC):どこのお客様も同じように苦労されていますね。Androidになると開発期間は短くなり端末のコストは安くなる、と言われてきましたが、実際にいろいろな端末メーカにお話を伺うと、本当はその逆でとても大変になっていると。しかもとても大変になったのに、ユーザはそういう目では見てくれず、やってもやっても開発が終わらないんだ、といったようなことをおっしゃいます。

渡辺(PMC):そうですね。GoogleがAndroid端末の発売後18か月はバージョンアップしなさいというガイドラインを出していることもあって、過去の機種のバージョンアップも開発しなければならず、現行機種、次の機種、そして過去の機種と、三本ぐらいが並行で走っているのが実態です。雪だるま式に開発量が増えている感じです。

ツール間のシームレスな連携が今後の鍵

これからの開発ツールに求められる機能についてお聞かせください。

竹島(YDC):たとえば開発拠点が複数あったときに、開発情報や評価情報をバグレポートのようなテキスト文書でやりとりしていているお客様も多いと思うのですが、たとえば岡本社長が言われる「ゴールデンルート」を対象に、ツールが吐き出す生データをそのままやりとりして、お互いに再現できるようにしていくべきではないかと考えています。当社の「システムマクロトレース」機能であれば、ビューワがあるので、たとえば海外で開発していてもどういう現象が起きたかというのが日本でも判ります。今のところGBAさんのツールとYDCのツールとは生データレベルで互換性はありませんが、将来的にはそういったところも協業の視野に入れていきたいと考えています。

渡辺(PMC):現地でしか再現しないといった問題はちょくちょく起こるので、まだ評価は始めていませんが、リモートでデバッグできる「TAP developer」には期待しています。

岡本(GBA):コンプライアンスの問題でメーカのネットワークにアクセスできない場合も多いので、生データだけ渡すから解析してもらえないか、という要望もたしかに増えています。ただ、Android自体がログをだんだん出さない方向に変わっている点は、今後制約になってくるかもしれません。

竹島(YDC):もはや一社のツールですべてを賄える時代ではないので、先ほども触れましたが、異なるツール同士が生データを受け渡しながらお客様にシームレスな環境を提供していくというのがツールベンダーにとって、ひとつの命題になることは間違いありません。

最後に今後の展望をお願いします。

岡本(GBA):YDCさんとパートナーシップを結べたことを嬉しく思います。とくに、YDCさんの持つグローバルな展開力やサポート力には当社としても期待しています。また、持論になりますが、過去の経験などをまとめた知見データベースみたいなものが競争力の源泉になるはずなので、メーカの開発に貢献するという意味でも、我々のデータベースの経験を生かして、どこかでそういうチャレンジをしてみたいと考えています。

松田(YDC):YDCは二十年以上にわたって開発ツールのビジネスをしてきましたが、やはり製品を成長させてくれる原動力はお客様です。当社にはPMC様をはじめとしてさまざまな機器メーカからニーズが寄せられるため、そういった情報をGBAさんと共有しながら、これからも品質の高い開発環境の提供に努めていきます。また、PMC様の次期「ELUGA」の開発が、両社のツールによって効率良く進むことを願っています。

本日はどうもありがとうございました。