Slackに気を取られすぎる問題とその解決
この記事は「さくらインターネット Advent Calendar 2015」の20日目の記事です。
Slackは非常に気の利いたチャットツールで、とても便利に使っています。
問題
しかし、このツールにも問題があります。
ジョインしているチャンネルが多くなると未読のメッセージがつぎつぎに溜まり、未読を消化したい欲と仕事に集中したい欲を常に戦わせる状態となります。
(そして、だいたい未読を消化したい欲が勝ちます)
解決
仕事の効率を高めるはずのツールで仕事の集中力を欠いてしまっては仕方がないので、この問題を2つのツールを使って解消します。
Slack Silencer
まず、Slack Silencerというツールを使います。
このツールは指定したチャンネルをミュートにしてくれます。ミュート状態のチャンネルはリスト上に薄く表示され、メッセージの未読を伝える白文字の表示になりません。また、メンションされた場合にはバッジが付きますが、通知は飛ばなくなります。
ジョインしておきたいけどリアルタイムでウォッチする必要がないチャンネルをミュートすることで、未読を消化したい欲に振り回されることがぐっと少なくなります。
使い方
1. SlackのAPI tokenを作成
Slack Web API | Slackより作成可能です。
2. tokenを環境変数に設定
export SLACK_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3. Slack Silencerをgit clone
git clone git@github.com:dopin/slack-silencer.git
4. コマンドラインよりプログラムを実行
# foo, barのチャンネルがミュートされる
/path/to/slack-silencer/mute.rb foo bar
ちなみに自分は、就業時間の09:30-18:30の間だけミュートするため、以下のようにcrontabに設定しています。
# 9:30からミュート 30 9 * * * /path/to/slack-silencer/mute.rb foo bar # 18:30にミュート解除 30 18 * * * /path/to/slack-silencer/mute.rb
Slack Reporter
Slack Silencerを使うことで未読により集中力を削がれることはなくなりました。
しかし、ミュートにしている間に投稿されたメッセージは既読扱いにされてしまうため、就業後にゆっくりメッセージを読もうとすると探しだすのが大変という新たな問題が発生します。
そこで、この問題を解決するため、Slack Reporterというツールを作成しました。 このツールは指定の期間に投稿されたメッセージをレポートにまとめてくれるツールです。
レポートのサンプル
使い方
1. SlackのAPI tokenを作成 (※ Slack Silencerで実施済みの場合スキップ)
Slack Web API | Slackより作成可能です。
2. tokenを環境変数に設定 (※ Slack Silencerで実施済みの場合スキップ)
export SLACK_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3. Slackのユーザ名を環境変数に設定(オプション)
設定するとSlackのダイレクトメッセージでレポートのパスをお知らせします。
export SLACK_USER=xxxxxxxxxx
4. Slack Reporterをgit clone
git clone git@github.com:hogesuke/slack-reporter.git
5. コマンドラインよりプログラムを実行
# 9:30から18:30のメッセージを対象にする場合 /path/to/slack-reporter/reporter.rb 0930 1830 # 現時刻から1時間前までのメッセージを対象にする場合 /path/to/slack-reporter/reporter.rb 60
これもcrontabに設定し、自動実行させると便利でしょう。
# 18:30にレポート作成 30 18 * * * /path/to/slack-reporter/reporter.rb 0930 1830
レポートファイルは/path/to/slack-reporter/contents/
ディレクトリにhtmlファイルとして生成されます。
一件落着(?)
Slack Reporterについては、このAdventCalendarを書いている直前までコーディングしていたため、まだ運用できていません…
追記
ブクマコメントにて、最近Slackに実装されたdo not disturb
で良いのでは?というご意見を複数いただいたので、ちょっと追記します。
do not disturb
を設定すると、メンションされた際の通知は飛ばなくなりますが、未読の状態は分かってしまいます。具体的には、チャンネルリストに白太文字で表示され、Slackアプリのアイコンに赤丸で未読が存在することが分かる表示になります。
インボックスゼロ派の自分としては、この状態が目に入ると未読を消化せずにはいられないので、上で紹介しているツールでサイレントな環境を作っています。
追記2
ブコメで使ってみるって書いてくださってる方、ありがとうございます!
ただ、実のところSlack Reporterに関しては、メンションやリンク、Botによる投稿などの表示が不完全で一部見づらいものになっています。これについては、使いながら徐々に改善していく予定です。
また、PullRequestも歓迎してます。よかったらPR送ってください。
![Slack入門 [ChatOpsによるチーム開発の効率化] Slack入門 [ChatOpsによるチーム開発の効率化]](http://ecx.images-amazon.com/images/I/51g9K9r7quL._SL160_.jpg)
- 作者: 松下雅和,小島泰洋,長瀬敦史,坂本卓巳
- 出版社/メーカー: 技術評論社
- 発売日: 2016/06/28
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る