Slack の代替オンプレ型チャット Rocket.Chat を業務利用している時に知っておくと捗ること

仕事では Slack が使えず Rocket.Chat を使っているのだが、微妙に使い勝手が悪かったり業務利用ゆえの問題があったりしてストレスが溜まる。その辺を軽減するネタが見当たらないこともあり、今回まとめてみることにした。

(前提)

  • 業務としてガッツリ利用している(たとえばメーラーみたく常駐させている)
  • Windows + Firefox で利用している
  • 利用者サイドの話のみ扱う(管理者サイドや開発者サイドネタはほとんどありません)
  • 結果的に Rocket.Chat というよりチャット全般の話が増えてしまったので、Rocket.Chat を使ってなくても参考にできるかもしれません

Rocket.Chat 固有ネタ

実験用のプライベートグループを作る

Rocket.Chat の機能を試したい、書いたメッセージがどのように表示されるか見てみたい、あるいは投稿前の推敲を行いたいといった時のために 実験用のプライベートグループ を作っておくとよい。

プライベートグループは、誰も招待しなければ自分用スペースとして好き勝手に使える。

デスクトップアプリを使う

Rocket.Chat にはデスクトップアプリがある。

GitHub - RocketChat/Rocket.Chat.Electron

ブラウザ版と遜色無い操作感で Rocket.Chat を使うことができる。進んで導入するほど何かに優れているわけではないが、 ブラウザから利用していて問題がある(フリーズが起きやすい等) 場合には試す価値がある。

私の場合、ブラウザから利用していると日本語入力時にたまにフリーズすることがあった(結局 Firefox.exe を殺すしかなくて既に開いてるタブも全部閉じて涙をのんでいた)のだが、デスクトップアプリを使ってからは遭遇しなくなり快適である。

「これのことです」と特定メッセージを指したい時があるが、permalink を使う。メッセージの permalink は引用機能で取得できる。

(追記)最近のバージョンだと「固定リンク」という、まんま permalink をコピーする機能があります。下記は固定リンク機能がない場合に試してみてください。

引用を実行すると、以下のような表記が入力欄に挿入されるが、

[ ](http://(SERVER-IP):(PORT)/group/(GROUP-NAME)?msg=XXXXXXXXXXXXXXXXX) 

この URL 部分がそのまま permalink となる。

メッセージ検索時はクエリをエディタで打ってからコピペする

メッセージ検索は インクリメンタルサーチ(一語入力する毎に検索が走る)が走るため重たい。そのためクエリはどこかエディタ等に打って、それをコピペするのが良いだろう。

メッセージ検索時の on, before, after フィルタはタイムゾーンのズレに注意する

メッセージ側の時刻は GMT、検索時は JST だったりするため、期間系の検索フィルタが正しくフィルタリングされていない(一日分くらいズレてフィルタされる)ように見える。

気に食わないならサーバー側の設定(Rocket.Chatではなくサーバー自体の設定)を変えること。ただ私もまだ試してないので効果は不明。

参考: request: timezone overrides · Issue #3530 · RocketChat/Rocket.Chat

サイドバーを増やしたくないならルームに参加せずプレビューで覗く

公開チャンネルにせよプライベートグループにせよ、ルームに参加するとサイドバーにルーム名が追加される。これが10にも20にもなってくると見通しが悪くなるため、 参加必須でないルームについては参加せず「プレビューモードで覗く」 とよい。

REST API 利用は慎重に

Rocket.Chat は REST API を搭載している が、2018/05/08 現在で work in progress 状態である。万が一不具合でサーバーが重くなったり落ちたりしたら(業務利用しているだけに)インパクトも大きい。そのため普段 Web サービスに対して躊躇なく REST API を叩いてる人は特に注意する必要がある。

(たとえ利用ルールに REST API に関する記載がなかったとしても)念のため管理者に使ってもいいかどうかを確認する ことをオススメする。そうでないと(会社やチームにもよるだろうが) REST API を叩いただけで不正利用や非常識とみなされることさえある。「書いてない管理側の落ち度でしょ」という一般論は(会社やチームにもよるだろうが)通じないこともある。

チャットツール全般に当てはまるネタ

別タブで複数ルームを開いておく

サイドバーのチャンネル名をクリックしてルームを行き来するのは地味に負担が大きい。というのも、行き来する度にルーム内の読み込みが走り表示に時間がかかるからだ。一回ならまだしも、業務で使ってると何回も行き来することになり、結果それなりの時間と集中力が食い潰されてしまう。

よく見るルームについては 別のタブで開いておく。そうすればタブ切り替えだけで切り替えられるので楽だ。

ただしメモリはその分食ってしまうので、どこまでやるかはお使いの PC 性能と相談すること。

デスクトップ通知が邪魔なら切る

デスクトップ通知が有効だと(設定次第だがデフォでは)メンション受信時、画面左下にポップアップが表示されるのだが、これがポップアップは非常に煩わしい。一瞬視界に入っただけでも集中力が削がれる。開発などクリエイティブで集中が必要な仕事の時は特に煩わしい。メールチェックは仕事の効率を損ねると言うが、同じことがチャットでも起きる。

なので 可能なら通知設定は切っておく。その上でチャットの確認は「キリのいいタイミングで」「自分から」行うようにする。Pull 方式のチェックとでも言えば良いだろうか。

※「そんなのしてたら仕事が回らないよ」と思われるかもしれないが、意外と回る。たいていはやり方(コミュニケーションのとり方やチャットの使い方)に問題があることが多い。その辺は本題じゃないので割愛する。

ちなみにチェックすること自体を忘れてしまうならリマインダーを使うと良い。たとえば「Rocket.Chat を見る」というリマインドを毎日朝、昼、夕方の三回分セットしておけば、毎日朝、昼、夕方の三回は必ず読む。

永続(後で見返す)コンテンツは Wiki に書く

(Rocket.Chat に限った話ではないが) チャットは過去メッセージの閲覧に弱い。具体的には、

  • 表示するまでに時間がかかる
  • 表示メッセージの増加に伴ってブラウザが露骨重たくなる
    • 仮に過去一年分のメッセージを表示したらどうなる?地獄だ。

こんな感じだ。とにかく弱い。

なので後で読むようなメッセージについては Wiki などストック情報の扱いに長けたプラットフォームに転記しておく とよい。

Wiki であればページも軽く、ブラウザでサクっと開ける。尤も Wiki の整備や転記といった手間はあるが、その手間をかけるだけの価値はある。過去メッセージを転記するのがだるいなら、メッセージの permalink を書いておくだけでもいい。permalink をブラウザで開くと、当該周辺のメッセージを読み込む挙動となり、周辺の文脈も含めて追える。

最悪 Wiki の整備が無理でも 自分一人だけではテキストとしてローカルに控えておく などの工夫もできる。

大事なのでもう一度言うが、チャットはあくまでリアルタイムにやりとりするものであり、過去の情報を必要に応じて見返すシステムではない。メールと同じ使い方をしてしまいがちだが、過去情報へのアクセスという点では明らかにメールに劣る。 その点を理解せず、時間をかけて過去メッセージを読むのは不毛にも程がある

だらだら会話しない、無闇に割り込まない(割り込ませない)

チャットはメールよりも手軽に発言できる分、油断すると、雑談みたく長時間だらだらと会話することになったり、あるいは仕事で集中したいのに話しかけられることが多くて集中できなかったりする。チャットはあくまで素早くコミュニケーションが行えるツールだと割り切り、だらだら長時間消費しないよう心がけることも大切。

でないと、結局1日に1時間も2時間もチャットに費やしてます、なんて本末転倒なことになりかねない(もちろん業務によってそうなる場合もあるだろうが)。

このあたりの話は別記事にて詳しくまとめた。

stakiran.hatenablog.com

stakiran.hatenablog.com