LINE遠征隊

こんにちは。
今回は、LINEが全世界にサービスを拡大する過程において、ユーザーの立場から品質を測定し、改善している取り組みについてご紹介します。しかし、ここに書いた取り組みはごく一部であり、実際にはすべての開発者、企画者、さらには事業担当者もユーザーの立場から、各自努力をしていると思います。LINEの競合に影響のない小さな範囲で書いてみます。

LINE遠征隊

LINEは2011年6月、日本でサービスを開始して以来、現在では4億人のユーザーが使用するメッセンジャーとなっています。他のどのサービスよりも急速に成長しているだけに、LINEも数多くのユーザーの品質問題を経験してきました。人間が自分の生まれたところ以外で生きるためには、考えや話す方法を変えなければならないように、LINEも生まれた日本を脱し、他の国でもうまく動作するために、多くの部分を改善しました。その取り組みについてのお話です。

2012年12月、スペインの多くのユーザーがWhatsAppの有料化の動きに反発して LINEを選択しました。本当に瞬く間にスペインユーザーが爆発的に増えました。しかし、その時のLINEは時々メッセージ送信が遅延したり、プッシュ通知が遅れて到着したり、バッテリーを過度に消費する問題がありました。この問題を解決するために開発者3人がスペインに急遽出張し、現地のSIMカードを利用して、本格的な問題分析をしました。これがLINE品質改善のための出張の本格的な始まりでした。このとき作られた分析レポートによって、LINE開発者たちは遠く離れたユーザーに向けた意味のある改善作業を進め、2013年4月に適用しました。

スペイン出張を通じて、現地ユーザーの立場で直接体験して改善点を探す努力が大変重要であるということを知り、その後東南アジア、中/南米、欧州、米国、ロシアなどLINEユーザーがいる場所なら真っ先に訪れてユーザーの立場から問題点を探しています。ある時には、LINE社内で誰も行ったことがない国も、開発者が最初に訪れ、慣れない現地の言語で現地キャリアのSIMカードを買って、街頭、ホテル、地下鉄、デパートの地下の奥まったレストランでテストをしました。いつからかこんな出張メンバーを、映画ロード・オブ・ザ・リングになぞらえて「LINE遠征隊(Fellowship)」と呼ぶようになりました。

LINE遠征隊について、いくつかご紹介します。

  • 主にどんなメンバーで構成されますか?
    • クライアントアプリ、サーバアプリケーション、インフラ部分の開発者で、2~6人で構成されます。
  • 出張期間は?
    • その国の大きさ(主要都市の数)とテスト目的によって異なりますが、国別に3~5日滞在しながらテストを実施します。
  • どんな点を確認しますか?
    • その国の独特なネットワーク特性や、インターネット品質、そして新たな機能をリリースする前に実際の使用環境で問題がないかを確認して改善できる点を探しています。
  • 出張期間中にはどこでテストしますか?
    • 出張期間中、色々なバージョンのLINEアプリをテストして比較するために、主にHotelのような一定の環境でテストを行います。しかし、食事をしながら実際のユーザー環境を体験するため、その国の人が普段利用するレストラン、Bus、地下鉄、Shopping Mall、観光地を回りながら、ユーザーの立場からもLINEを使用します。
  • 現地の人々からも意見を直接聞くんですか?
    • はい、間接的には交通機関に乗って移動して、どのようなメッセンジャーが使われているかに注目します。また、マレーシアのタクシー運転手が使用していた“Zello”というアプリについての意見を聞いたり、トルコのコーヒーショップで若い女性からスタンプに関する意見を聞いたり、アルゼンチンとコロンビアでは出張前にあらかじめアポをとって訪問したITエンジニアたちから、その国のインターネット環境とLINEについて意見を聞いたりしています。ユーザーの意見を聞くのも、LINE遠征隊の目的の大きな部分です。
  • 印象に残った出張地は?
    • 飛行機内です。現在かなり普及してきた機内Wi-Fi(in-flight wifi)環境でLINEをテストする出張です。実際にLINE遠征隊では、Lufthansa、JAL、AeroFlot、United Airが提供するWi-FiにてLINEのすべてのサービスが利用できるように、テストと改善を行いました。今度飛行機に乗ったら必ず機内でLINEを使ってみてください!

LINE遠征隊が行ってきた国々

LINE遠征隊が使用したSIMカード

LINE遠征隊1年の出張結果を元に、ユーザーとより近いところにPOP(Point of Presence)を作って、クライアントアプリについてのユーザーレビューを分析するシステムを作って、数値化されたPI(Performance Index)を毎日分析できるようにしました。遠征隊が必要に応じて行っていることを非定期的な改善活動と呼ぶとすれば、このような分析システムは常時進行する改善努力と言えます。

LINE Global Infrastructure

LINEは、他のメッセンジャーのように、TCP/IPを基盤としたサーバ/クライアントサービスです。この場合、性能について最も重要なものは、ユーザーとサーバー間の距離(network latency)です。LINEはこれを改善するために、遠征隊のテスト結果に基づいて、2013年から主なユーザーが位置しているすべての大陸にGlobal POPを設置して運営しています。すべてのLINEユーザーは自分が位置した国家に最も近いPOPに自動的に接続されていて、クライアントアプリもこのように追加されたPOPを通じた改善ができるように修正されました。LINEは現在まで大小合わせて7つPOPを地理的に分散して運営し、安全なデータ転送のために冗長化された専用線で構成されたGlobalネットワークを通じてサービスを提供しています。

しかし、LINEのすべてのサービスを自社IDCだけで提供しているわけではありません。例えば、パフォーマンスに関してユーザーが敏感になる大きなファイルのダウンロード、様々なイベントページ、スタンプダウンロードなどの場合、ユーザーに少しでも近いところでサービスができるようにCDNサービスを活用しています。CDNのようなCloudサービスは、特にユーザーが少なく、LINEが設置したPOPから遠く離れた国での性能向上のために非常に効果的に機能しています。

そしてインターネット環境の変化に備えるため、ユーザーが使用するバージョンのような、多様な環境に対して異なる設定をデプロイできる機能が適用されました。例えば、メッセージを送受信するときに、使用するprotocolが一つである場合に問題にならないように、様々なprotocolを使用してnegotiationができるように実装されています。ファイルのダウンロードの場合も、一部のネットワーク環境で現れる速度低下を改善するために、様々なダウンロード方法をLINEアプリは持っており、ユーザーのネットワークによって最も効果的な方法を使用するように指定することが可能です。ユーザーが個別に設定しなくても、LINEアプリが自動的にユーザーの環境に合わせて接続できるようにすることが、LINE開発者たちが毎日考えている内容です。

LINEはこのように、物理的に全世界に広がっているPOPと、性能改善のために選択的に使用しているCloudインフラ、これを活用するように改善されたクライアントアプリやサーバを通じてユーザー品質を改善しています。

App Review

LINE遠征隊が様々な国に遠征していますが、直接行ったことがない国のユーザーが経験している問題を発見するために、LINEがリリースされているすべてのプラットフォームにおいて、LINEアプリに関するユーザーレビューの収集を始めました。遠征隊の出張が予定されている国について、出張前にその国でのみ発生している問題を事前に把握したり、反対に現地で把握された問題がある場合に全レビューを分析し、問題がその国でのみ発生しているのか、または一般的な問題なのか、その判断をすることも可能です。ユーザーレビューは、国/言語/バージョン/キーワード別アプリレビュー数とスコアを分析可能であり、キーワードに対する検索と翻訳機能も行うことができます。

面白いのは、LINEがリリースしたアプリだけでなく、競合が公開しているアプリについても同様に分析をしているところです。LINEにはない良い点を競合が持っている場合は、ユーザーが本当に満足できる機能を作るために比較する取り組みをすることもあるでしょう。また別のメリットとしては、一部地域で問題が発生した場合、LINEの問題なのか、現地ネットワーク環境の問題点なのかを知ることができる重要な判断基準になることもあります。これらのアプリレビューを分析した内容は、毎週定期的にサービス運営部署が分析を行い、開発者に伝達され、次期バージョンに反映させるために利用しています。

もしかしたら一番多く使うのはTag Cloudかもしれません。新しいバージョンを長期間開発した後に徹底したQAを行ったとしても、全世界に向けてリリースした後にユーザーに現れる問題を全て予測することはできません。しかし、新しいアップデートバージョンをリリースした後、5-6時間が経過すると、収集されたアプリレビューの中で繰り返し現れるキーワードを示すTag Cloudでどんな問題点があるかをすぐに知ることができるんです!

Messengerのアプリレビュー

LINE Androidアプリレビュー

LINE Performance Index

LINEの企業文化の一つは「数字」を見て判断し決定することです。LINEの品質、改善方法の決定、アップデートを通じた効果の確認もすべて「数字」を測定し、さらに改善を施します。いろいろなテストケースがある場合には、内部的なテストコードを作って数値化された改善効果を確認して選択するプロセスを繰り返しています。

例を挙げると、昨年1年間持続的に改善したAndroidバージョンのバッテリー使用率削減の取り組みです。LINEは、ライバル企業より多くの機能を搭載していて、急速に開発する過程で最適化が不十分だったバッテリー使用率の部分について批判を受けたりもしました 。実は開発者として言い訳をすると、Free Call機能で必要とするプッシュ通知(push notification)とバッテリー使用率は両立が難しい課題でした。この2つを同時に解決するため、内部的に昨年1年間で3回の大きな改善を通じて、すでに相当な改善を終え、4回目の改善の結果をまもなくリリースする予定です。4月末を目標に開発中の改善事項をリリースしたら、ユーザー指標を再度確認してその次バージョンのための改善目標を再び立てる予定です。

テスト中の新たな方式のバッテリー使用率

上で説明したバッテリー使用率改善の部分は、LINEが管理する100種類を超える多くの指標のうちの1つを例示したものです。LINEはユーザーが体感するすべての部分の性能を「数字」にし、Google Analyticsと同じシステムを持つことができないか?と考えてきました。もちろん、LINEユーザーの指標をGoogle Analyticsを通じて分析するわけにはいきません。悩みに悩みましたが、長い時間をかけて準備して作られました。LINE Analytics!

日付別Videoアップロード速度

通知後、メッセージ読み込み数の変化

LINEはAnalyticsのためのBig data分析を行うため、Hadoopを使用しています。LINE Analyticsを稼動してからもう1ヶ月ほどになりますが、多くの数字データを示しており、さらに多くの内容を数字に落としこむために努力しています。このような数字を見ながら、次にリリースするバージョンでどのような機能を改善すべきか常に模索しています。

「数字」がLINEを改善させています。

Closing

ここまで、LINEがどのようにユーザー品質を測定し、改善して、再び指標として確認しているのかについて説明してみました。他の競合企業が公開したことがない資料をこうして公開するのは心配でもあります。しかし、LINEにとってユーザーの品質は非常に重要であり、他のどんな部分よりも多くの人、コスト、時間リソースを投入して積極的に改善するために努力していることを示したかったのです。

LINEはまだまだ改善しなければならない多くの問題点があります。LINE開発者はその問題点を探して改善するため、惜しみない努力をしていきます。まだLINEで把握できていない問題点があるかもしれません。もし読者の方が何かを見つけたら、アプリレビューに#LINEXPタグと一緒に、もう少し詳細に書き込んでいただく、というのはいかがでしょうか。LINEで問題を改善できるように。