揺れた?
いまの揺れは地震だったのか。ボタンを押すと気象庁の発表を確かめ、「揺れました。7分前、あなたの街は震度4」か「15分以内の発表はありません」と1行で答える。場所を選ばなくても全国の答えが出て、市区町村を選ぶとその街の震度に切り替わる。きょう日本で震度1以上の地震が何回あったかと、過去24時間の帯も一緒に見られる
所要時間1時間40分
制作メモ
- AIに任せた
- 着手前の規約チェック。気象庁ホームページの利用規約(公共データ利用規約 第1.0版=出典の記載と、編集・加工したことの明示が条件)と、担当者の「仕様の継続を約束しないという意味でAPIではないが、政府標準利用規約に準拠して利用できる」という公開説明を原文で確認した/地震情報一覧JSONの実測。ブラウザから直接読めること(CORS)、60秒キャッシュ、一覧だけで市区町村別の震度が入っていること、政令市の区コード117種が同梱データに無いことを確かめ、20市へ寄せる規則にした/要件定義(ユーザーストーリー+UX5階層を通して実装が9件決まった)、実装、ユニット42件とE2E 24件、デモの振り付け、プロモ動画ツール/スクリーンショット採点(別セッションのAIが10項目・20点満点で採点)を3周まわして12→14→16点で合格。答えを画面で最大の文字にし、場所が未設定のときは主ボタンを「市区町村から選ぶ」に入れ替え、帯は色の棒と数字を分け、答えのカードは高さをそろえた
- 自分でやった
- 題材の選定(4案から地震を選んだ)/実機での確認とX投稿
- 失敗と修正
- 候補出しで「スマホの時計は何秒ずれてる?」案を検討したが、NICTのネット時刻配信サービスが終了していて成立しなかった → 候補のAPIは提案する前に実際に叩いて、応答とブラウザから読めるか(CORS)を確かめる手順にした
採点1回目は12/20。答えの「揺れました」(25px)より「きょう◯回」の数字(39px)が大きく、主役が3番目になっていた → 答えを30〜40pxの最大の文字にし、回数は28pxへ落とした。バッジ「あなたの街は震度◯」は20pxにした
場所が未設定でも主ボタンが「いま揺れた?」で、押しても自分の街の震度は出なかった → 未設定のあいだは「市区町村から選ぶ」を主ボタンに入れ替え、見出しの下に「あなたの街は未設定。場所を選ぶと震度が出ます」を出す
24コマの帯で「5弱」が12px幅のコマの中で潰れ、凡例の「6弱」は文字の対比が4.13:1しかなかった。白文字に変えると3.8:1でさらに悪くなる計算だった → コマを「色の棒+数字」の2段にし、凡例は色の四角と文字を分けて、文字は白地に置いた
押し直すたびに画面が「読み込み中」に切り替わり、出ていた答えが消えていた → 読み込み中の画面は初回だけにし、押し直しはボタンの文字を「確かめています…」に変えるだけにした
ダイアログの select に焦点があるとき Escape がダイアログまで届かず、E2Eが不安定に落ちた → ダイアログ側で keydown を拾って閉じるようにし、テストはボタンに焦点を置いてから Escape を押す形にした































