自作のライブ壁紙アプリ「天気壁紙」は、ホーム画面に「かさ いるよ」のような今日どうするかを大きな文字で出すアプリです。天気は、Open-Meteo という天気のサービスから、ネットを通して30分ごとに取ってきます。つまり、ネットにつながらないと新しい天気がわかりません。
ところが、電波がないときの見せ方で失敗しました。この記事では、地下鉄やトンネルで壁紙が「壊れて見えた」話と、今どうしているかをまとめます。
同じ話は、短い動画でも紹介しています。
何が起きたか
はじめのころは、天気が取れないと、壁紙のまん中に「つながらない」と大きく出していました。うそをつかずに正直に出そう、と考えたからです。
でも、地下鉄やトンネルでは、少しの間だけ電波がなくなるのはふつうのことです。そのたびにホーム画面いっぱいに「つながらない」と出ると、アプリが壊れたように見えてしまいました。壁紙は毎日何度も目に入るものなので、よけいに気になります。

なぜ「壊れた」に見えたのか
壁紙アプリは、ふつうのアプリとちがって、使う人が自分で開くものではありません。いつもうしろで静かに出ているものです。そこに急に強い言葉が大きく出ると、「何か起きた?」「こわれた?」と思わせてしまいます。
それに、電波がない間も、天気は急には変わりません。数十分前の天気でも、「かさ いるよ」はだいたいそのまま役に立ちます。知らせるべきは「つながらない」ことではなく、今日の天気のほうだと気づきました。
どう直したか(今どうしているか)
今は「つながらない」とは出しません。かわりに、こうしています。
- 最後に取れた天気をスマホの中に覚えておく(天気の種類・気温・地域の名前・風の強さ)
- 天気が取れないときは、その記憶を何も言わずにそのまま出す
- ただし記憶は6時間まで。それより古いものは使わない
- 記憶もないときは、文字を出さずに、落ち着いた紺グレーの壁紙だけにする
記憶から出すときは、「傘の置き忘れに注意」や「帰りの時間の天気」のような、時間で変わるお知らせは付けません。古い時間の話を出すと、かえってまちがいになるからです。
また、地下鉄のような短い圏外のために、直前に取れた結果は90分の間そのまま残すようにしました。これで、電車の中で「傘 もって帰ろう」がふっと消えることもありません。
電波がもどったら、自動で天気を取り直します。失敗が続くときは、1分後から始めて、待つ時間を少しずつのばします(いちばん長くて30分)。圏外が長いときに、電池や通信をむだにしないためです。
ほかにも、小さな工夫をしています。壁紙が動き出した直後も、まず記憶している天気で描くので、読み込み中の何もない画面が出ません。また、天気を取りに行っている最中は、もう一度重ねて取りに行かないようにしました。画面をつけたり消したりをくり返しても、通信が増えません。
作る人へ
- いつも目に入る画面(壁紙・ウィジェットなど)では、エラーを大きく出さない。使う人を不安にさせる
- まずは「最後に取れたデータ」を出せないか考える。多くの場合、少し古くても役に立つ
- 古いデータには期限を決める。いつまでも出し続けない
- 時間で意味が変わる情報は、古いデータからは出さない
- 取り直しは自動で。失敗が続いたら間をあけて、電池をむだにしない
まとめ
- 圏外で「つながらない」と大きく出したら、壁紙が壊れたように見えた
- 今は、最後に取れた天気を6時間まで覚えておき、静かに出している
- 短い圏外では直前の結果を90分残し、電波がもどれば自動で取り直す
「天気壁紙」は、Google Play で「天気壁紙」と検索すると見つかります。作った話は天気の壁紙アプリを作った話に、ほかに作ったアプリは 作ったもの にまとめています。
ナノトイラボ 
