LoginSignup
0
1

More than 1 year has passed since last update.

iPhone 「ショートカット」で作る時間管理ツール

Last updated at Posted at 2021-10-31

1. はじめに

iPhone のショートカットアプリと numbers で簡単な工数管理ツールを作ってみました。
タイマーとも連携していて、指定の時間経過するとアラームで知らせます。
なお、ios 15 で動作確認しています 14 では import 時にショートカットとして認識しませんでした。

使い物になれば、ご利用いただいても良いですし、機能を追加するなど何かの参考になれば幸いです。

2. 使い方

画像 ShortCuts での入力
IMG_3695.jpg ショートカットからタイムトラッキングを選ぶ
menu.png 記録する作業を選択
IMG_3693.jpg 時間を設定
IMG_3694.jpg コメントあれば書く
IMG_3697.jpg 指定した時間のタイマーがセットされ、指定の時間経過するとアラームで知らせてくれます。

タイマーアプリの仕様かとおもいますが、
すでにタイマーが設定されていた場合のみ、このように時間確認の画面が表示されます。
iPhone の Numbers アプリで集計
Numbers アプリで毎回の記録が自動集計されグラフ表示されます
IMG_3696.jpg 

3. iPhone にインストールして使ってみる

  1. iPhone に「ショートカット」アプリと 「numbers」 アプリをインストールしておきます。

  2. iPhone で信頼されていないショートカットを有効にします。

    「設定] -> 「ショートカット」 -> 「信頼されていないショートカットを・・・」 これを「ON」にします。

  3. iPhone から以下の URL をアクセスし、ショートカット「タイムトラッキング」 をダウンロードします。
    https://www.icloud.com/shortcuts/075e6047dcfb47d7add7e28d1437903f

  4. 実行してみる
    ダウンロードした「タイムトラッキング」を実行してみます。初回は numbers のシートをダウンロードするのみで終了します。
    001.png

  5. 動作確認してみる。
    数分の間隔をあけて適当に作業項目を選択し記録してみます。その集計が numbers のシートに反映され円グラフの比率が変わる事などを確認できれば OK です。

    ※数分の間隔をあけているのは、例えば 1:10 に開始して 1:10 に終了しても 0 分の作業時間となり円グラフに反映されず、分かりにくいからです。

    4. 補足

選択項目を変更・追加する場合

  • 「5.タイムトラッキングの内容説明の②」にある項目を追加 or 変更します。 
    例えば「調査」を「プログラミング」に変更するばあい、"調査" という文字列をすべて"プログラミング"に変更します。
    Oct31c.png

  • 「6.numbers シートの説明①②」も同様に、対応したセルの計算式を "調査" から "プログラミング" のように対応した種類を参照するように変更・追加します。

IMG_3725.PNG

下記の設定も、参照しているセル名 "分 調査" から "分 プログラミング" に変更ですね。

IMG_3726.PNG
  • それと上記の集計 A2 の "調査" 文字列も "プログラミング" など変更したい値へ変えておきます。
  • 項目を追加する場合は、新しい行を集計に加え、同じように対応したセルの計算式も加えます。
  • あと「5.タイムトラッキングの内容説明⑥」にある Get file from Shortcuts at path timesheet.numbers は、Error if Not found を ON に変更しておいたほうが良いかもです。
    もしファイルが無いと、デフォルトのファイルを github からダウンロードしてしまうからです。

割り込み作業が発生した場合の動作についての説明

1.「調査」「120」をセット

調査を開始しようと、「調査」「120」分をセットしたとします。その時 numbers には以下のように記録されています。
IMG_3699.jpg

  1. 割り込みがあり「ミーティング」「30」をセット

その後、120 分経過するまえに割り込みの案件があり、ミーティングに参加することとなりました。そこで「ミーティング」「30」をセットしました。すると、下記のように、"割り込み” としてマイナスの時間が追加されたのち、新しくミーティングの記録が行われます。
このようにマイナスの値を加える事で、割り込みがあった場合の時間を補正しています。
IMG_3700.jpg

無音タイマーがおすすめ

iPhone のタイマーに無音がありません。頻繁にタイマーの音が鳴るので私は無音音源をタイマーに加えて、バイブレーションみでの通知にしました。
無音タイマーの設定については、この記事では記載していませんので、下記の記事などを参考にしてみてください。
https://togai.jp/2021/04/24/1198

5. タイムトラッキングの内容説明

番号 画像 説明
!IMG_3717.PNG ・このアプリの説明
1.png ・Dictionary 使い、選択できる項目リスト
2.png ・選択された項目のキーを Select にセット
・キー(Select) に対応する値を取得し Chosen item にセット
・費やす時間の質問し、Activity Minites にセット
3.png ・コメントを質問し、値を Comments にセット
・現在時刻の取得し "Start" にセット
・現在時刻をフォーマットしFormatted start にセット
※Date Format = ISO8601、include ISO 8601 Time とする。
フォーマットしないと時間の比較が正しく動作しないため
4.png ・Start-long 変数へ Formatted start をセット
・辞書の start に、Formatted start をセット
・辞書の select に、"Chosen item" をセット
5.png ・辞書の activity に "Activity Minutes" をセット
・iCloud 上の /Shortcuts/timesheet.numbers をオープン
oct31a.png ・もし timesheet.numbers ファイルがなければ
http://github.com/takimai39/timesheet/raw/main/timesheet.number をダウンロード
・そのデータを timesheet.numbers として保存
Oct31b.png ・ダウンロードした旨のメッセージを表示
・そして終了
・latest.json ファイルを取得
6.png ・if ( latest.json != null ) { という意味合いの if 文
つまりファイルが存在すればという意味の条件
・latest.json を辞書として読み込み
・辞書ファイルから start の値を取得|
7.png ・辞書ファイルから activity を取得
・latest-start をフォーマット
※Date Format = ISO8601、include ISO 8601 Time
8.png ・Latest-long 変数に "Formatted latest" をセット
・Latest-long と Start-long の時間差を計算し、"Time Between Dates" にセット
・Diff 変数に "Time Between Dates" をセット
9.png ・if文:もし diff が、先の Activity (Latest-activity) より小さければ
・先の activity の残残り時間をマイナス値として取得
10.png ・timesheet.numbers に"割り込み” として、マイナスの時間を追加
・連続して書き込みを実行すると失敗する対策で5秒待ち
・if文終わり
・if文終わり
11.png ・lastest.json に辞書を保存
・timesheet.numbers に、現在時刻、選択項目、コメントを追加
12.png ・指定時間のタイマーをセット
以上

6. numbers シートの説明

番号 画像 ShortCuts での入力
IMG_3725.PNG ・青線で囲われたセルは、対応する種類の時間を集計しています。<
IMG_3726.PNG ・青線で囲われた列は、分を元に時間にしています。
IMG_3727.PNG ・円グラフは、時間列から表示しています。

7. その他

以下を参考にして作成しました
- Shortcuts アプリ -> ギャラリー -> Time Tracking を元にしました。
- numbers のグラフは、どこだったか忘れましたが numbers の TimeSheet のサンプルから。

以上、何かの参考になりましたら幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1