たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

情報の自動取得・通知

自動取得と通知

  • 情報の自動取得: email
    • むかしのメール: 受信ボタンを押してActiveにサーバーからpullしてた
    • 自動取得: 勝手に受信箱へ落としておいてくれる
  • 情報の通知: email
    • むかしのメールアプリ: 自動取得されたかどうかをメールアプリを開いて見に行く
    • 今のメールアプリ: 自動取得で新規があると通知する(バッチ、バイブレーションetc)

自動取得と通知によって労力0で情報の到着を知ることができる

通知とは: Wikipedia参照(書いてる)

通知の難しさ

通知がないと取得に失敗する
通知が過ぎるとうっとおしい

過小だと見落とす
過剰だとうっとおしく無視しだす
=> pull通知と適切なpush通知

通知を見る、自体にもコストがある
10の機械で100の通知(バッチとか)を見るとなると労力がすごい
忙しいと全チャネルを適切にpullするのは大変。逃す可能性あり
集約する、見た目上集約する
多数のプラットフォームをまたいで生活しているから

実践

集約channel「TheHome」に全pullチャネルを集約.
Emergencyだけは集約をせず、個別push通知.

  • pull channels
    • Gmail: メールを介した各種情報(新情報、依頼など幅広い)
    • Google Calendar things: 未処理の処理すべきthings通知
    • idea inbox: frash idea
    • Twitter likes: 未実装
  • push channels (emergencys)

行き先

通知方式

正常ならgray outしておいて、チェックが必要なら black ON
gray out / black ONによるバッチ通知
inboxだとinboxZeroにしたいからgray outがとてもなじむ

通知のタイプ

  • realtime state monitor: 最新stateを通知し続けている
    • inbox(inboxを解消して通知を消す)
  • regular state report: 定期的なreportを通知する(通知が定期的でよい)
    • health report(monitor対象はそう簡単にかわらない。report checkで通知を消す)

どうやって"regular"にするか - localに持っていると複数surfaceに対応できない => 必然的にサーバー?