虎の穴開発室ブログ

虎の穴ラボ株式会社所属のエンジニアが書く技術ブログです

MENU

【作業効率化ツール】Alfredで業務効率をUPさせるワークフロー3選【Mac向け】

f:id:toranoana-lab:20220221142436p:plain

はじめに

こんにちは、とらラボのY.I.です。突然ですが、皆さんはエンジニアがリモートワークをする上でのデメリットについて考えたことはありますでしょうか?

私は「他人の開発環境を目にする機会が減った」ことがデメリットだと感じています。

例えばオフラインでメンバーと会っていた頃は、何かの拍子に「お、〇〇さんのそのツール便利そうですねぇ。」とか「今の操作、どうやったのですか?」といった話題から、業務上の工夫やノウハウを共有する時間が自然に生まれていました。

しかしリモートワークになってから、他人がどんなツールを日頃から使っているのか、どんな工夫をしているのか、親しいメンバーと言えど能動的に質問をしない限りわかりにくい状況となりました。

そういった意味で、「自分はこんなツールを使っている」と主体的に話していくことに対する需要や価値が、以前よりも高まっているように感じます。

本記事では「Alfredで業務効率をUPさせるワークフロー3選」と題して、私が実際に業務で使用しているAlfredワークフロー(Alfredワークフローについては後述)を紹介したいと思います。

この記事を通して、私が普段どんな業務効率化をしているのかを、少しでもお伝えできれば幸いです。またこの記事を読んだ方が、「私はこんなことをしている」というような情報共有をいただけると、とても嬉しいです。

※ 本記事ではAlfredのPowerPack(有料版)のみで使用可能な機能の紹介が含まれています。

目次

  • はじめに
  • Alfredとは
  • Alfredのワークフローとは
  • ワークフロー1:MacのNightShiftを爆速でトグルする
  • ワークフロー2:出勤報告を爆速で行う
  • ワークフロー3:休憩時間を爆速で報告する
  • おわりに

Alfredとは

Alfredとは、Mac向けの作業効率化ソフトです。有名なソフトであるため、名前くらいは聞いたことがある方も多いかと思います。このソフトは一言で表すと、Spotlightに代表される「ランチャーソフト」に近いものではありますが、それだけでなく様々なことができます。以下にAlfredでできることを示します。

  • クリップボードの履歴から古い情報を引っ張ってきたり
  • 膨大な数のスニペットを保存・管理したり
  • 自分だけのワークフローを作成したり...

その他にも様々なことが、Alfred単体でが実現可能です。

本記事では、これらのうちの一つ、Workflows(ワークフロー)((以下、ワークフローと記述))という機能について、実際の業務への適用例を紹介したいと思います。

Alfredのワークフローとは

Alfredのワークフローとは、定型的な作業を自動化するための機能です。ユーザーはGUI上でトリガーアクションアウトプットといった要素をつなげることで、自分だけのタスクを自由に作成することができます。

例えば、下記の図は、

  • インプット ... 「ホットキー(Ctrl + Shift + Option + T)」
  • アクション ... 「Chromeで https://example.com を開く」

を新規作成し、お互いをつなげたものになります。これによりユーザーは、上記のホットキーを押下することで、瞬時にページを開くことができます。

f:id:toranoana-lab:20220221142716p:plain
画面上を右クリックし、表示されるメニューから追加したい要素を選択することで簡単にトリガーやアクションを用意できる。要素の接続はドラッグ・ドロップで直感的にできる。

インプットやアクションは、上記で指定したもの以外にも指定することができます。また、作成したワークフローは .alfredworkflowファイル形式で エクスポート・インポートが可能であり、多くのユーザーが便利なワークフローを共有しています。

次の章から、実際に私が業務で使用しているワークフローを見ていきます。

ワークフロー1:MacのNightShiftを爆速でトグルする

一つ目に紹介しますのは、 MacのNightShift(ディスプレイの色味を暖色系に切り替える機能)のON/OFFを瞬時にトグルするワークフロー、「alfred-nightshift」です。こちらは私が作成したものではなく、開発者様がMITライセンスで公開してくださっているものです。(この場を借りて、開発者様に感謝いたします。ありがとうございます。)

NightShiftの有効/無効を切り替える場合、一般的には以下の手順を辿る必要があります。

  • 「システム環境設定」を開く
  • 「ディスプレイ」アイコンを探してクリックする
  • 「ディスプレイ」画面の中から「Night Shift」タブをクリックする
  • 「明日までオンにする」にチェックを入れる or 外す

しかし、alfred-nightshiftを使用することで、一瞬でNightShiftのON/OFFをトグルすることができます。

f:id:toranoana-lab:20220221142851g:plain
Alfredを起動してNightShiftのON/OFFを切り替えている様子。Alfredの入力欄に"ni"まで打つと自動的に候補が表示されるため、その中から "Turn Night Shift OFF"を選択している。

Alfred-nightshiftのインポート方法はとても簡単です。githubの作者ページより NightShift.alfredworkflowファイルをダウンロードし、ダウンロードしたファイルをダブルクリックするだけでインポートが完了します。インポート後はすぐに使用することができます。

私は日常的にNightShiftをONにした状態で業務を行っていますが、デザインレビューなどでデザインを確認する際、正確な色を把握するためにNithgShiftをOFFにする必要があります。このAlfred-nightshiftを使用することで一瞬にしてNightShiftのON/OFFをトグルできるため、非常に役に立っています。

ワークフロー2:出勤報告を爆速で行う

続いて2つ目の紹介です。2つ目は「出勤報告を爆速で行う」ワークフローです。

弊社では出勤を行う際に以下の二つを実施します。

  • 勤怠管理システム(Webアプリ)で打刻を行う
  • 出勤報告(「出勤しました」と発言する)をSlack上で行う

とてもシンプルなタスクであるため、業務の負担になるようなものではありません。しかし毎朝の貴重な時間に実施する必要があるため、省力化したいという思いがありました。

そこで下記のようなワークフローを作成しました。

  • Ctrl + Shift + sを押下する
    • => 出勤システムがChromeで開く
    • => クリップボードに文字列「出勤しました」がコピーされる

このワークフローは以下の操作で簡単に作成することができます。

  • 下記の3つの要素を作成する
    • インプット( Hotkeyとして、 Ctrl + Shift + s
    • アウトプット(Copy to Clipboardとして、 テキスト「出勤しました」を設定)
    • アクション(Open URLとして、 「勤怠システム」のURLを指定)
  • 各要素をつなぐ
    • インプットとアウトプットをつなぐ
    • インプットとアクションをつなぐ

f:id:toranoana-lab:20220221142959p:plain
AlfredのGUI上でワークフローを作成している様子。各要素は自由に接続することができ、今回のように一つの要素(Hotkey)と複数の要素(Copy tp Clipboard と OpenURL)を接続することも可能。。

このワークフローを作成したことで、素早く快適にタスクをこなせるようになっただけでなく、特定のタスクを忘れるということ(例えば今回のケースでは、「Slackでの出勤報告はしたけれど勤怠管理システムの打刻を忘れた」など)がなくなりました

一点、このワークフローでは、クリップボードにコピーしたテキストをSlack上に貼り付ける作業のみ手動で行う必要があります。そのため、「ソフトをSlackに切り替え、対象のチャンネルを開き投稿する」までの作業も含めてワークフロー化することを課題としています。

ワークフロー3:休憩時間を爆速で報告する

最後にワークフロー3では、「休憩時間を爆速で報告する」を紹介します。

弊社ではお昼の休憩に入る際に、Slack上で下記の2点を報告しています。

  • 休憩開始時刻
  • 休憩終了予定時刻

休憩時間は基本的に1時間のため、現在の時刻と現在から1時間後の時刻を報告する必要があります。

f:id:toranoana-lab:20220221143027p:plain
休憩時間をSlackで報告している様子。

休憩の度に時刻を確認・入力するのが手間であったため、下記のようなワークフローを作成しました。

  • Ctrl + Shift + k を押下する
    • => テキスト「休憩入ります( 現在の時刻 - 現在から1時間後の時刻)」がクリップボードにコピーされる

これはワークフロー2とほとんど同じものなのですが、それに加えて「現在の時刻を取得する」ことと、「現在から1時間後の時刻を取得する」ことの2つが必要です。

これを実現するためには、AlfredのDynamicPlaceholderという機能を使います。DynamicPlaceholderとは、動的に文字列を作成するための機能です。ワークフローやスニペット内の文字列に使用することができるもので、例えば {time}と記入をすると、Macの現在のシステム時刻を取得して動的に置き換えてくれます。

今回は下記の2つの要素を作成し、お互いを接続しました。

  • インプット( Hotkey... Ctrl + Shift + k
  • アウトプット(Copy to Clipboard... テキスト「休憩入ります({time}-{time +1h})」を設定)

f:id:toranoana-lab:20220221143205p:plain
DynamicPlaceholderの"time"を使用して、ワークフローのアウトプットに使用する文字列を設定している様子。Alfredではアクションとして、別途用意したスクリプトを叩くこともできるため、もっと複雑な作業を実行したい場合はそちらを検討してもよいかもしれない。

これにより Ctrl + Shift + kを押下するだけで、文字列が動的に作成され、クリップボードに保存されます。

おわりに

Alfredで業務効率をUPさせるためのワークフローを3つご紹介しました。

今回はワークフロー機能のみの紹介でしたが、Alfredには他にもたくさんの便利な機能があります。補足の方には、今回紹介しきれなかったAlfredの使い方や説明をまとめてくださっている記事・Podcastを載せさせていただきました。よろしければ是非こちらもご覧ください。

この記事をご覧になった方が少しでもAlfredに興味を持っていただけると幸いです。

補足

本記事ではAlfredのワークフローを中心にご紹介しましたが、それ以外の機能についても詳しく知りたいという方は、是非こちらの記事もご覧ください。

  • Alfredを使いこなせてない君に!【Alfredの使い方完全版】
    • 基本的な機能から、PowerPack(有料版)を使用した機能まで、幅広く紹介されています。この記事に影響されてAlfredを使い始めた人も多いはず・・・!?
  • rebuild.fmの第275回
    • Alfredの機能紹介だけでなく、パーソナリティのmiyagawaさん、higeponさんがどのようにAlfredを利用されているかを聞くことができます(超オススメ!!)。Alfredのお話は本編39:30あたりから。

P.S.

虎の穴ラボでは、私たちと一緒に新しいオタク向けサービスを作る仲間を募集しています。
詳しい採用情報は以下をご覧ください。
yumenosora.co.jp