アプリのダウンロードを高速にしたらユーザさんが大喜びしてくれた

アプリのダウンロードを高速にしたらユーザさんが大喜びしてくれた
MarkdownエディタのInkdropを一人で開発して脱受託を目指しているフリーランスです。
デスクトップ版はなんだかんだでファイルサイズが100MBを超えているため、ダウンロードに数分以上の時間が掛かるという問題がありました。地域によっては10分を超えることも。これを数秒でダウンロード出来るようにしたところ、ユーザさんが大喜びしてくれました。本稿ではこの体験からの学びをシェアしたいと思います。
かかっていたダウンロード時間は数分から十分程度です。しかしこの数分が苦痛なんですね。待っていられない。ダウンロードしている間にアプリを使いたいというモーメンタムはどんどん萎えていき、遂にはキャンセルボタンを押した人がきっと何人もいたに違いありません。
ユーザ登録という高いハードルをわざわざ越えて来たのに、そこから更に数分待たせるというのは接客としてどうなんでしょうか。フリーウェアならまだ許せるかもですが、有料アプリでその体験をさせられると「これ、サービスを使わせる気あるのか?」と思ってしまいます。
実は、これまでにユーザ登録をしても結局アプリを使わないままの人がちらほらいました。彼らの一部はきっとダウンロードの遅さに耐えかねて、使う気が無くなってしまった人たちでしょう。これは看過できない問題です。つい先日、ダウンロードの遅さに耐えかねたユーザさんからTwitterで以下のようなメッセージを頂きました。
画像はダウンロード途中のもので、226 KB/sの速度を示していました。残り時間は2分と出ています。彼は「これ配信元は日本?EUからだとすごく遅いよ。USかEUに移動しない?」と言っています。
僕はいい機会だと思ったので早速対策を講じることにしました。
Inkdropはいろんな国で使われているので、普通にAWS S3でファイルを配信すると離れた国ではダウンロード速度が著しく低下します。しかし、転送料を少し高めに払うことで各地のエッジサーバにデータを置くことが出来て、地域によらず高速にファイル配信が出来るようになります。これをS3のTransfer Acceleration機能と呼びます。転送料金は 0.04 USD/GB が上乗せされます。
設定方法は単純です。バケットのプロパティ画面で、Transfer accelerationのパネルのEnabledにチェックを入れるだけです:

新たに東京リージョンのバケットを作ってこの転送高速化を有効にしました。試しにNew YorkにあるDigitalOceanのサーバから通常の場合と高速化した場合でダウンロード速度を比べてみました:
- 高速化した配信: 3.5秒、19.5MB/s
- 通常の配信: 18分、250KB/s
こ、こんなに違うとは・・数分どころでは無かった。思っていたよりずっと深刻でした。18分も待たされたら正直アプリを信用出来なくなります。ユーザさんの報告がなければこの先ずっと問題視しなかったと思われるので、本当に感謝です。ウェブサービスならCloudFrontなどのCDNを使うのが当たり前という認識でしたが、アプリのダウンロードまではその意識が及んでいませんでした。
早速報告して下さったユーザさんに試してもらったら、めちゃくちゃ喜んでくれました。
「死ぬほど速い、数秒でダウンロードできたよ :)」とのこと。ダウンロード速度も重要なUX要素である事が今回のことで分かりました。有料アプリは特に、快適なダウンロード速度の提供にはケチらずお金をかけたほうがいいでしょう。簡単に登録後のリテンション率(利用継続率)を上げられるんですから。
monoさんから以下の指摘がありました。
今回Transfer Accelerationを利用したのは、件のユーザさんに薦められたから使ってみたというのが正直な理由です。自分も気になったのでCloudFrontとS3 Transfer Accelerationの違いを調べてみました:
大きな違いは、Transfer Accelerationの方ではアップロードの高速化が主眼に置かれているという事です。なのでコンテンツデリバリーだけならCloudFrontで必要十分です。もうひとつ大きな違いは、CloudFrontの方が安く済む点です。S3→CloudFrontの転送料は無料なので、CloudFront→インターネットの転送料だけで済みます。
という訳で早速切り替えておきました。ご指摘ありがとうございました!!ブログに書いてよかった。
