本文へスキップ

Read

Notes

アプリの使い方と、一人で作るなかで決めたこと。何が変わったかの記録は Drops にあります。

  1. 開発記規約を2箇所に置いて、片方だけが古びたアプリに焼き込んだ URL は後から変えられないので、外部の法務ページは消せません。条文を1箇所に集めて残りを転送板にするまでの経緯と、GitHub Pages が 301 を返せない件、公開の順番を間違えた話。
  2. 技術紹介ページ2枚だけ、main もスキップリンクも無かったサイトのヘッダーを持たないページが共通の器を通らず、キーボードだけで見る人は装飾を全部たどらないと本文に入れませんでした。飛び先に tabIndex が無いとフォーカスが移らない件と、見出しの段が飛んでいた話。
  3. 開発記App Store に却下されて、コンセプトごと作り直したGuideline 4.3(b) での却下は、直せば通る類のものではありませんでした。主語を「人」から「予定」へ移し、2〜4名の定員制にするまでに考えたことと、言葉の表を1箇所に置いた話。
  4. 開発記公開後に出た問題が、どれもコードのバグではなかったテストは全部通っているのに、出荷したバイナリの中身が想定と違っていました。テスト用の値の混入・版と言語の整合・申告との一致を、提出前に1コマンドで見る検査を書いた話。
  5. 開発記日本語しか入っていないアプリが、ストアで英語になっていたストアの言語欄は説明文の中身ではなく、バンドルが申告している開発言語を見ています。1箇所直せば本体と拡張2つが揃った話と、日本語専用のキーボードが自分を英語だと言っていた副産物。
  6. 使い方マッチングアプリで返信が思いつかないとき、私が考えたこと止まっているのは内容ではなく書き出しではないか、と考えて返信案を3つ出すアプリを作りました。下書きを直して送る前提の設計と、会話を端末の中だけに置いた理由について、作り手の立場から書きます。
  7. 使い方Resuru のキーボードが「フルアクセス」を求める理由iOS のキーボード拡張は、フルアクセスを許可するまでアプリ本体のデータを読めず通信もできません。Resuru が何のためにそれを必要とし、何をしていないのかをまとめました。
  8. 使い方Resuru のプレミアムを解約する / 購入を復元するResuru の解約は App Store の購読設定から行えます。解約しても期間の終わりまで使えること、購入が反映されないときの「購入を復元する」についてまとめました。
  9. 使い方返信案が思っていたのと違うときに、できる3つのことResuru の返信案は、その場で書き換える・口調や文章量を変える・作り直す、の3つで直せます。回数を使うのは作り直しだけなので、順番を知っておくと早く済みます。
  10. 使い方Resuru の会話はこの端末の中だけ。機種変更の前にすることResuru は会話も相手の情報も端末の中に暗号化して保存し、サーバーには置きません。そのぶん機種変更では自動で引き継がれないので、書き出しと読み込みの手順をまとめました。
  11. 使い方Resuru の無料回数が戻る時刻と、増やしかたResuru の無料回数は日本時間の午前0時に戻ります。端末の日付では戻らないこと、はじめて使う日だけ多いこと、広告で足すときに反映が遅れる理由をまとめました。
  12. 技術Tailwind v4 の @theme inline で、1つのサイトに複数の世界を置くトークン名は共通・値だけ差し替える方式にして、CSS 1本のまま明るい紙面と暗いページを同居させました。レイアウトを分けていた頃のフルリロードと、角丸で崩したところ。
  13. 技術X は og: ではなく twitter: を読む —— Next.js のメタデータで踏んだ2つopenGraph だけ書いたページは X でタイトルがルートのまま残ります。さらに Next.js のメタデータは浅くマージされ、子が openGraph を定義すると親が丸ごと消えます。13ページで og:site_name が出ていなかった話。
  14. 技術Satori で OG画像を作るときに詰まった3つnext/og が使う Satori は filter: blur() が効かず、絶対配置の光は版面で直線に切れます。日本語フォントに渡し忘れた文字だけ字形が変わる件とあわせて、実際に踏んだところを残します。
  15. 技術view-transition-name を付けた要素だけ、既定の 250ms のままだったView Transitions で名前を付けた要素は root のスナップショットから外れるため、root への指定が届きません。いちばん大きな動きがいちばん短い設定になっていた話と、(*) と (root) の順番。
  16. 技術animation-range を cover にすると、ページの末尾で完走しないanimation-timeline: view() のスクロール連動で、ページ下部の要素だけが薄いまま終わりました。cover はスクロールし過ぎる量で進むためです。実測値と、window.scrollTo() では検証できない件。
  17. 技術「動きが速い」と感じたら、時間ではなく曲線を疑う620ms かけている入場の9割が 205ms で終わっていました。原因は時間ではなく曲線です。文字送りが 22ms で全12字がほぼ同時に動いていた件とあわせて、実測値で残します。
  18. 技術scroll-behavior: smooth で3回間違えた話ページ内リンクだけ滑らかに送りたい、というだけのことで3回間違えました。html に素で当てると App Router の遷移リセットまで滑らかになり、:focus-within は条件として成立しません。実測値つきで残します。
トップページへ戻る