一定時間ごとに何かを繰り返すオプションを与えるとき、間隔ごとに繰り返されない時間をどのように扱うべきですか?
たとえば、2 月 29 日の誕生日リマインダーはどうなるでしょうか。または、31 日に毎月の予定がある場合、31 日がない月はどうすればよいですか?
合理的なユーザーが期待し、最も驚かないものは何だと思いますか?
一定時間ごとに何かを繰り返すオプションを与えるとき、間隔ごとに繰り返されない時間をどのように扱うべきですか?
たとえば、2 月 29 日の誕生日リマインダーはどうなるでしょうか。または、31 日に毎月の予定がある場合、31 日がない月はどうすればよいですか?
合理的なユーザーが期待し、最も驚かないものは何だと思いますか?
この質問に対する私の最初の反応は、その日付になった場合に何をするかのオプションをユーザーに与えることです (翌日に移動する、その日をスキップするなど)。
しかし、あなたの質問に直接答えるために、合理的なユーザーは、「スキップされた」日の前日に起こったことにほとんど驚かないと思います。
このような日付に簡単にフラグを立てることができると思います。考えられる日付は、毎月 29 日、30 日、31 日、または 2 月 29 日だけです。
ユーザーがこれらの日付のいずれかを毎月 (または 2 月 29 日の場合は毎年) 通知することを選択した場合、それらの月の別の日付を求めるプロンプトを表示できます。
さらに、「毎月の最終日に」通知を受け取るオプションを選択できます。
理想的には、リマインダーを作成するときにプロンプトを表示します。
あなたがそれに行き詰まっているなら、私はそれらを前に引っ張るでしょう. それが最も害の少ない選択です。常に驚きを最小限に抑えたいとは限りません。間違った選択をすることによる害を最小限に抑えることも重要です。