Windows Phone Advent Calender 2011 Day 1
いきなり出遅れてしまいましたが、Windows Phone Advent Calendar 2011 1日目です。技術的な話を最初からやっちゃうと後ろの人がネタかぶりしちゃうかもなので、ちょっと最近考えてることを書いてみようと思います。
スタート画面という表舞台で活躍する or リストで眠り続ける
Windows Phone のアプリはインストールされると、アプリ一覧に入ります。
この中からユーザーは使いたいアプリを「スタート画面に追加」します。
使われるアプリは「スタート画面に固定」されるわけです。そして、スタート画面にいるアプリと、アプリ一覧で眠り続けるアプリの2つに大きく分けられてしまいます。インストールしてあっても使われるアプリと使ってもらえないアプリというのはあると思うのですが、iPhoneやAndroidみたいに、アプリ一覧で自由な並び替えができないWindows Phoneは「アプリ一覧で眠り続ける」アプリの数は相対的に多くなってしまうのではないでしょうか。
アプリを長く使ってもらうためにはユーザーに「スタート画面に追加」させないといけないのです。
いかにして「スタート画面に追加」させるか
では、スタート画面に追加したくなるアプリとは何でしょうか。
アイコンがきれい
アイコンがきれいなアプリは単純に並べておきたくなりますね。アイコンはアプリの顔ですので、みなさんこだわりを持って作られていると思います。
その中でもとくにきれいで、ユーザーに気に入られるものがここに該当するわけです。
よく使う
アプリの機能が特によく使われる場合は、ホームにおいておきたくなります。たとえば路線検索などの生活密着系のアプリが該当するでしょう。
タイルの情報を更新するために
タイルの情報を更新するためには以下の3つの方法が使えるのではないでしょうか。
アプリ起動中に更新
アプリ起動中にデータを受信してタイルを更新する方法です。好きなタイミングに更新することはできませんが、ユーザーがアプリを起動する回数が特に多いことが考えられる場合には、一番手間のかからないよい方法となります。
プッシュ通知
タイルを外部のサーバーから書き換えることのできる機能です。一番強力ではありますが、アプリとは別にサーバープログラムを用意する必要があるので実装のコストが結構あがるのと、サーバーの運用コストもかかります。
また、Windows Phoneのプッシュ通知は使えるアプリの数が限られているので競争率が高いです。
しかし、外的要因に基づいて柔軟に指定することができますし、自由なタイミングで更新したいのであればこの方法しか考えることができません。ソラダスお天気予報などがこれにあたります。
Background Agent
バックグラウンド実行の定期実行を使えば、プッシュよりも手軽に、任意のタイミングでタイルを更新することができます。ただし、実行可能時間が15秒とにかく短いので、キャッシュ処理をうまく活用して表示を更新しないといけません。
宝塚市ごみの日カレンダーで使っているのはこの方法で、一度アプリを起動すると、2ヶ月分のカレンダーを先読みします。あとはキャッシュの情報で処理できるので1秒かからず処理が終わります。
まとめ
- アプリをインストールしてもらえても、端末の中で起動してもらえるかもらえないかの戦いがある。
- 特にWindows Phoneではタイルに追加してもらえるか、一覧で眠り続けるか。
- リストの並び替えが自由にできない分競争はほかのプラットフォームよりも激しいと考える。
- スタート画面においてもらえるよう、タイルを活用しよう。
- タイルを更新するのはプッシュもいいけどバックグラウンドタスクも考えてみて。