私のところには実家で離れて暮らす家族から定期的にITトラブル相談が届きます。今回のそんな一件についてなのですが、なかなかにトリッキーで困ってしまったのでご紹介。
今回の相談主は父で、iPhoneが見慣れる画面になって使えなくなったというもの。まぁよくあるやつです(笑)。しかし今回は根深い。ホームボタンを押しても再起動してもダメとのこと。ラチがあかないのでiPadで写真を撮って送ってもらうとこの画面でした。これはiOS10.1から対応したApple Payの設定画面ですね。父のiPhoneは6なのでNFCによる店頭決済は非対応なんですが、オンライン決済には使えるので登録機能自体はあるわけです。しかし通常は「Wallet」アプリから登録画面を呼び出さなければこの画面は出ないはず。わざわざそんな探索的な操作をするとは思えません。そこでピンと来ました。おそらく父はiPhoneのOSを今日更新したのでしょう。最近のiOSではメジャー更新後の初回起動で様々な初期設定が走ります。その日の最初のメールは「iCloudのパスワードってなんだっけ?」でした。ちなみに「もしかして今日ソフトウェアアップデートした?」などと返信しても、こういう時のシニアは状況説明に必死で、こちらから聞いたことにはなかなか返事がありません…しかしまぁ間違いないでしょう。確かにこの初期ウィザードの間はホーム画面に戻れませんし、再起動しても同じところから始まるでしょう。
おかしいのは、いくら新サービス推しのAppleでもクレジットカードの登録を強制まではしないはずという点です。私としてもApple Payのなんたるかすらわかってない父にクレジットカード登録まではさせたくありません。どこかでスキップなりキャンセルなりできるはず。しかし送ってもらった写真には見当たらず。「次へ」に進めばカードを撮影する画面になるし、そこで「キャンセル」すればここに戻ってくる。この二画面から逃れられないようなのです。そんなわけはないと思いつつも、手元のiPhoneで同じ画面を出すには初期化するしかありません。ちなみにWalletアプリからカード追加画面を呼び出した場合、これと同じレイアウトなんですが左上にちゃんと「キャンセル」があります(写真2枚目)。私のはiPhone7 PlusなのでSuicaに対応してあり「Suicaや」の表記が追加されており芸が細かいなと関心しますが、基本的に同じ画面です。こちらでは「キャンセル」できるのに、なぜか父の画面ではそれがないわけです。
父は「明日ショップにもってかないとダメか?電話すらできないから困る」と不安げ。
さて、ここまで長文にお付き合いくださった方、この話のオチは推理できましたでしょうか?
私は結局写真だけでは答えがわかりませんでした。iPadでFacetime(ビデオ通話)してもらい、ありこち触っている様子を映してもらってる間に、ふとした弾みで判明しました。
答えは「スクロールするとスキップのリンクが出る」でした。正確に覚えてませんが「カードの登録はしない」的なテキストリンクだった気がします。たまたま父がこの画面を触った時に画面が少しだけ動いて、スクロールできることに気付きました。ご存じの通り、iOSではスクロール中以外はスクロールバーが出ない為、静止した画面をいくら睨んでもスクロール可能であることを示す視覚的手がかり(シグニファイア)が皆無なのです。
そしてもうひとつのトラップは、老眼で小さな文字が読みづらい父がOS設定の「アクセシビリティ」機能でテキストサイズを大きくしていたことです。上下2つの写真を見比べてもらうと、下の写真の最下部にある小さな注意書きが、上の写真ではドカンと大きくなっています。この結果、上記のスキップの為の選択肢が画面外に追い出されてしまい気付けなくなったのです。偶然にも「Apple Payとプライバシーについて…」まできっちり画面に収まっているのがなんとも皮肉です。
Appleの開発ツールには、こうした様々な画面サイズや文字サイズの変化にも柔軟に追従し開発者の手間を軽減する為のAuto Layoutという仕組みが備わっています。この部品な常に右端からこれだけの距離、この部品はこの部品の隣に置く、この部品は画面幅に伴って幅を変えるが最低でもこれだけは確保する、など様々な条件を指定しておけるのです(まぁこれはこれで開発者にとっては結構大変なんですけど…)。Appleのこの画面設計を担当した人は、もうひとがんばりして、重要なスキップボタンを常に画面内に収まる様にしておくべきだったのかも知れません。