Cloudflareがモバイルのネットワークモニタリングツールを発表、デベロッパーはもっとネットワークを意識すべきと

昨年の秋にCloudflareが、モバイルのパフォーマンスをVPNでアップするNeumobを買収したときは、同社がそれまでのWebのパフォーマンスソリューションを超えて、モバイルのデベロッパーにも、ネットワークレベルのパフォーマンスに対する意識と関心を持ってもらうため、と思われた。そして今日同社は、デベロッパーにネットワークレベルのパフォーマンス問題を理解させるための無料のツール、Cloudflare Mobile SDKをリリースした。

Cloudflareの協同ファウンダーでCEOのMatthew Princeによると、デベロッパーはデバイス本体の上でアプリがクラッシュする理由を理解するツールはいろいろ持っているが、ネットワークの状態を見たり理解する能力がない。アプリの不安定性の大きな原因は、デバイスよりむしろネットワークであるのに、という。

Cloudflare Mobile SDKでは、デベロッパーは、自分のiOSやAndroidのアプリにコードを2行書くだけで、ネットワークのモニタリングができるようになる。またWeb上で、ネットワークのパフォーマンスを数値で見ることができる。このツールは、信号が弱かったり、Wi-Fiからモバイルのネットワークに移ったことによってパケット落ちが生じた、などの問題を露呈させることができる。それらは、アプリをハングさせたり誤動作させたりすることもあるネットワークの障害だ。

スクリーンショット提供: Cloudflare

またこのツールにより、世界のいろんなところのネットワークのパフォーマンスを見ることもでき、問題の所在も分かる。ツールが集めて表示する情報によって、パフォーマンスの問題を(デバイスでなく)不安定なネットワークに帰せしめることができ、その不安定さがアプリのパフォーマンスに与えている影響を知ることもできる。

Princeによると、今後はそのほかのモニタリングツールともパートナーして、デベロッパーが一箇所でパフォーマンスの問題をチェックできるようにしたい、という。“目標は、デバイスでもアプリでもなくネットワークのパフォーマンスを上げることと、アプリのデベロッパーがネットワークの状態に関する正しいインサイトを持てるようにすることだ”、と彼は語る。

このツールは、最初のうちはパフォーマンス改善のためのベーシックな提案をするだけだが、今後徐々に、ネットワークモニタリングツールをCloudflareのそのほかのツールとより深く統合して、パフォーマンス向上対策が容易にできるようにしたい、と彼は言う。

Cloudflareはさらにこのツールを、デベロッパーが今後、ネットワークの動態を正しく理解するようになるための‘入口’、入門的環境とも見ている。デベロッパーがネットワークのパフォーマンスに関するデータを取り出せるようになれば、モバイルネットワークの信頼性レポートだって書けるだろう。“デベロッパーがこのツールをいろんなアプリに埋め込んでくれれば、モバイルネットワークのプロバイダを正しく評価できるようにもなるし、そのサービスの良し悪しを比較検討できるようにもなる”、とPrinceは説明している。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

モバイルアプリの応答性が速いのはカナダと日本, よくクラッシュするのはゲームアプリ–Crittercismの調査より

アプリケーションが成功するためには、ユーザの心をとらえるデザイン、マーケティング、そして強力なユーザ開拓戦略が必要だ。しかしアプリの信頼性は、デベロッパがコントロールできない要素に依存している場合が多い、とCrittercism最新レポートは告げている。

Crittercismはアプリのパフォーマンス管理やエラー監視システムを作っている企業だが、アプリのパフォーマンスやクラッシュレートは、そのアプリが使用しているクラウドサービスや、各地のネットワークキャリアののクォリティに大きく左右されることを見出した。

アプリが十分な競争力を持つためには、ユーザのリクエストに1秒以内で応答することと、クラッシュレートが全稼動時間の1%未満でなければならない。しかしCrittercismのレポートMobile Experience Benchmarkによると、アプリの47%がクラッシュレート1%を超えており、32%は2%を超えている。

このレポートのベースとなっているCrittercismの標本数は、リアルタイムで調べたリクエストが毎秒3万、モバイルユーザ数はのべ10億である。そして得られた結果を、クラウドサービス別、オペレーティングシステム別、地域別に分類している。ただしCrittercismのの顧客はおおむね、自分が使うアプリのパフォーマンスの最適化に熱心に取り組むタイプだ。

CrittercismのCTO Rob Kwokは次のように語る: “モバイルアプリのパフォーマンスに影響を与える要因は、あまりにも多すぎる。ウェアラブルのような新しいモバイルが普及すると、ユーザに高品質な体験を安定的に提供することがますます困難になり、アプリのパフォーマンス管理のためには、個々の阻害要因に応じたカスタムメイドのソリューションが必要になる”。

下図に見るように、クラッシュレートがいちばん高いカテゴリはゲームで、4.4%にもなる。次に高いのがメディア関連の1,8%(写真、ビデオなど)だ。この二つのカテゴリは、グラフィクスの多いことが共通している。一方、クラッシュレートがいちばん低いのはeコマースで、0.4%だ。

地域別国別のアプリパフォーマンス

アプリのパフォーマンスは、国による、あるいは地域による違いが大きい。下図のように、合衆国を1とした場合の相対値では、カナダと日本のレスポンスタイムが最速だ。中国、オーストラリア、そしてヨーロッパもまあまあである。〔値が少ないほど速い。〕

中東、東南アジア、アフリカなどの新興市場は平均レスポンスタイムが遅いが、とりわけインドは合衆国の倍を超えている。

“キャリアの伝送クォリティにも地域差がある”、とレポートは述べている。“アプリのオーナーは、CDNの利用やデータセンターの分散化など、アプリとアーキテクチャの最適化を図り、レスポンスタイムの地域差に対応すべきである”、ということだ。

クラウドサービスの不安定性

Crittercismによると、今では一つのアプリが平均で6つのクラウドサービスに依存している。たとえばログインはFacebookに、ストレージはAmazon Web Servicesに、アクセス分析はFlurryに、といった具合だ。

これらのクラウドサービスが、アプリのパフォーマンスを大きく左右する。レスポンスタイムが長かったり、エラーレート(つながるまで何度呼び出すか)が高いと、それによってアプリそのもののパフォーマンスが落ちる。Crittercismのデータでレスポンスタイムがとくに長いのは、Flurry(750ミリ秒)、Facebook(669ミリ秒)、Twitter(574ミリ秒)の三つだ。これらに対して、Google Analytics(237ミリ秒)やCloudfront(328ミリ秒)、Admob(389ミリ秒)はレスポンスタイムが短い。

[クリックすると大きい図へ]

AndroidとiOSのレスポンスタイム

Androidの各バージョンの中で、クラッシュレートはGingerbreadがもっとも高くて1.7%だ。Gingerbreadは今、三番目に多く使われているバージョンだが、そのクラッシュレートは最新バージョンのKitKatや、その前のIce Cream SandwichとJelly Beanの倍以上だ(下図)。

  1. Android 1.0
  2. Android 1.1
  3. Android 1.5 Cupcake
  4. Android 1.6 Donut
  5. Android 2.0/2.1 Eclair
  6. Android 2.2 Froyo
  7. Android 2.3 Gingerbread
  8. Android 3.x Honeycomb
  9. Android 4.0 Ice Cream Sandwich
  10. Android 4.1/4.2/4.3 Jelly Bean
  11. Android 4.4 KitKat

一方メーカー別機種別では、いちばんクラッシュしにくいAndroidスマホはSamsung Galaxy S4である。S3も、それに次ぐ。

iOSのバージョンでは、iOS 7.1がもっとも安定していて、クラッシュレートは1.6%だ。対してiOS 7.0は2.1%、iOS 6は2.5%である。機種別ではiPhone 5のクラッシュレートが最低で、iPhone 5sよりも15%少ない。

またiOSもAndroidも、スマートフォンの方がタブレットよりも安定性が良いと言える。

[クリックすると大きい図へ]

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))