• iPhoneX、または11以降でしかできない機能の話が含まれます。私が使用しているのはiPhone12、現在のiOSは14.2.1です。

リモートワークと出社が混在する今日この頃、日々のルーティーン管理が煩雑になっていませんか。 わたしはなってます。

出社日

  • 時差出勤なので朝5:30に起床。
  • ボンヤリしながら、天気予報と今日の予定をチェック。
  • 早朝の電車に揺られて出勤。

リモートワークの日

  • 通勤がないので朝はゆっくり。普通に起きれるので目覚ましはかけない。
  • ボンヤリしながら、天気予報と今日の予定をチェック。
  • 業務開始時間と終了時間にアラームをかけて、業務開始時間と終了時間にSlackに定型文を書き込みをする。

休日

目覚ましはかけない。

うーん、目覚ましをかけたりかけなかったりとそれぞれの操作はたいしたことじゃないんですけど、いちいち面倒なんですよね!
あと起きた時「今日って出社だっけ?家にいていいんだっけ?」って毎日ぼやけた寝起きの頭で考えるのしんどいから、日付と今日は出社なのかどうなのかっていうのを明確に見せてほしいんですよ。
毎日毎日リモートの日と出社の日で分けて設定するのほんと面倒だし、天気予報とか今日の予定もいろいろ見るのも面倒なのでぜんぶ一度に知りたい。
iPhoneが勝手に判断して、一連のアラームセットとか情報収集とかを済ませてくれればいいのに!!

というわけで、寝るときに枕元のNFCタグをピッとするだけで全部自動で実行されるように組んでみました。

 

 

iOSの「ショートカット」「オートメーション」の機能を使用します。

わたしは四半世紀マカーですけどプログラム系に詳しいわけではありません。
そんな素人でもちょっとがんばって調べればなんとかなる程度の、視覚的にわかりやすくプログラム的なものを組める便利機能です。
まずは簡単なショートカットをいくつか組んでみればコツはつかめると思います。

実際の私が作ったレシピは長くて煩雑だし、オートメーションには共有メニューがないので、ざっくりこんなことができるよってやってることだけ紹介したいと思います。
それぞれ特に難しいことはやっていないので、興味があればネットで調べて再現してみてください。

やりたいこと

出社日

5:30に目覚ましをかけ、起きたときに今日の日にちと曜日、天気、予定一覧をアラート表示。

リモートワークの日

  • 目覚ましアラームなしで睡眠分析のみ。
  • 起きたときに今日の日にちと曜日、天気、予定一覧をアラート表示。
  • 業務開始時間と終了時間にアラームをかける。
  • 業務開始時間と終了時間にSlackに書き込みをする。

休日

  • 目覚ましアラームなしで睡眠分析のみ。
  • 起きたときに今日の日にちと曜日、天気、予定一覧をアラート表示。

就寝時

  • 音量を15%にセット
  • プレイリスト「ぐっすり眠れるピアノ」をランダム再生
  • 30分のタイマーを開始(タイマー終了時に再生停止を設定)

あらかじめ設定しておくこと

  • Googleカレンダー「仕事」を作成し、リモートワークの日は「リモートワーク」、出社の日は「出社」をあらかじめ登録しておきます。
    入力された内容の違いによって条件分岐が発生し、何も入力されていない日は休日と判断します。
  • 任意の時間に設定したアラーム「始業時間です」「仕事終わりです」をそれぞれ作成しておく。
  • 目覚ましのアラームは睡眠分析アプリ「Sleep Cycle」を使用します。

ショートカットとオートメーションをいろいろ組んで、相互に実行できるように設定

①オートメーション「おやすみなさい」を作成

トリガー:NFC「おやすみなさい」が検出されたとき

  • ベッドサイドにNFCタグを貼って、接触トリガーでオートメーションを再生するよう設定。なければSiriとかボタンタップとかでも実行可能。
  • 別で作成したショートカットをオートメーション内で呼び出すことでモジュール的に使用します。
  • 1件の明日のイベントを「Googleカレンダー:仕事」から取得し、変数「リモートワーク」を設定
  • 変数「リモートワーク」が、文字列「リモートワーク」を含む場合、ショートカット「リモートワークの朝」を実行
  • ショートカット「寝るとき」を実行

②ショートカット「リモートワークの朝」を作成

  • アラーム「始業時間です」を「オン」に変更
  • アラーム「仕事終わりです」を「オン」に変更

③ショートカット「寝るとき」を作成

  • 音量を「15%」に設定
  • ミュージック「ぐっすり眠れるピアノ」をランダム再生
  • 30分のタイマーを開始(タイマー終了時に再生停止を設定)
  • 1件の明日のイベントを「Googleカレンダー:仕事」から取得し、変数「出社」を設定
  • 【条件分岐】変数「出社」が文字列「出社」を含む場合、「Sleep Cycle」で睡眠分析を開始、5:30にアラームをかける
  • 【条件分岐】その他の場合、アラームなしで睡眠分析を開始

④オートメーション「始業時間」を作成

トリガー:アラーム「始業時間です」が停止したときに実行

リモートワークの日に仕事が始まる時間になるアラーム「始業時間です」を止めたタイミングで、定型文をクリップボードにコピーした状態でSlackを開きます。
ペーストまではできないので、手動でペーストして書き込みします。

  • テキスト「業務開始します」をクリップボードにコピー
  • アプリ「Slack」を開く

③オートメーション「業務終了時間」を作成

トリガー:アラーム「仕事終わりです」が停止したときに実行

リモートワークの日に仕事が終わる時間になるアラーム「仕事終わりです」を止めたタイミングで、定型文をクリップボードにコピーした状態でSlackを開きます。ペーストまではできないので、手動でペーストして書き込みします。

  • テキスト「業務終了します」をクリップボードにコピー
  • アプリ「Slack」を開く

⑤アプリ「Sleep Cycle」が開かれたとき

アラームを止めたタイミングで、1日の情報を取得してアラート表示します。

  • 現在地の天気と最高気温、最低気温を取得
  • 10件のイベントを今日の「Googleカレンダー:すべてのカレンダー」から取得
  • テキストに「現在地の気象状況」「最高気温」「最低気温」「本日の予定」を設定し、内容をアラートで表示させるよう設定
  • アラートのタイトルは今日の日付(カスタム:yyyy年MMMdd日(EEE)のフォーマット)

目覚ましアラームを止めるとSleep Cycleが開くので、そのタイミングで気象状況と今日の予定がアラート表示されるように設定しています。

「ショートカット」と「オートメーション」があることで、ショートカットをモジュール的に呼び出して使用できるようになったから、画面の煩雑さがだいぶ解消できるようになりましたねー。
あとiPhone11以降で使えるNFCタグを使ってみたかったので、シールタイプのものを購入して使っています!
枕元でピッとiPhoneをタッチするだけでオートメーションが実行されるので、毎日楽しいです。

オートメーション機能、はじめはいったい何に使ったらいいのかと思ってましたが、日々のやらなきゃいけないことが自動化される楽しさはなかなかいいですね。
いくらわりと簡単とは言ってもプログラム的なことは慣れないと難しいところもありますが、目指したことが自動化できたときの達成感がすごいです。

そのほかに使っているショートカットやオートメーション

  • 会社を出たときに、退勤時刻をGoogleカレンダーに追加して、家族のLINEに現在地と予想帰宅時刻を送る
  • ポイントカードやお店のアプリなどがプルダウンで出てくるランチャー的な使い方など。

もっと使える用途がないかなーとは思うんですよ。

NFCはオートメーション機能ではトリガーとして呼び出すだけで、元々のNFCチップに影響を及ぼすものではありません。
「交通系ICカード」「クレジットカード」「電子マネーカード」「amiibo」など、身近にあるNFCチップ内蔵のあれこれをトリガーにすることで、いろいろ便利なこともできそう。

私は「社員証」にピッとやると、退勤時刻がカレンダーに書き込まれて、家族に予想帰宅時刻が送信されるようにしています。

トリガーにできるものは今のところかなり種類が限られているし、時間や場所のトリガーは結局実行ボタンを手動で押さないと実行されない、条件分岐もできることが限られるなどまだ未発達なところは多いながらも、まだまだ進化の余地があって、今後が楽しみな機能です。

あと、Assistive Touch(設定>アクセシビリティ>タッチ>AssistiveTouch)の起動をサイドボタン3度押しに割り当てていて、長押しで選択メニューを出せるから、そこに作成したショートカットやオートメーションを割り当てるのも便利でいいと思います。

ちなみにAssistive Touchの1タップがスクリーンショット、ダブルタップはパスワード管理アプリに割り当てています。作業の途中で頻繁に呼び出したくなるアプリや操作があるときに便利。

その後、さらにいじって、SleepCycleを開いた時の挙動を変更。

① 17時〜23時の間にアプリを開いた場合は「明日の予定」をアラート表示
② それ以外は「今日の予定」をアラート表示

ざっくりしたやり方は、

  • 現在の日時を取得
  • 日時をフォーマットして、時間部分の文字列のみ抜き出す
  • if文の条件分岐で、フォーマット済みの日付(数字として扱う)が17および23の場合として設定。

「今日の予定」「明日の予定」の内容はそれぞれオートメーション内ではなくショートカットとして分離しておきました。
いじっているとだんだん複雑になってくるので、設計図を書いてからはじめるのがおすすめです。