米国時間7月22日、Slackはウェブとデスクトップクライアントのメジャーアップデートの公開を開始した。新機能はなくユーザーインターフェイスも変わらないが、内部は完全に作り直されている。2012年にSlackが登場したときにはウェブとデスクトップクライアント(この両者は基本的に同じコードベースだ)はjQueryなどのテクノロジーを使用していたが、ここ1年ほどかけてモダンなスタックに移行してきた。
Slackのプロダクトマネジメントのディレクター、Jaime DeLanghe(ジェイミー・デラング)氏は筆者に対し次のように語った。「Slackは仕事に必要なツールと一緒に、簡単にシンプルに、できれば楽しく使ってもらいたいと思っている。そのために我々はSlackがどんな環境で使われるかを考えた。また、クライアントサイドの開発のエコシステムは、ここ5年で大きく変化している。JavaScriptがアップデートされたし、ReactやReduxといった新しいテクノロジーでダイナミックなウェブアプリを以前よりも簡単に作れるようになった。モダンなパラダイムに合うようにスタックをアップデートしたいと考えていた」。
ここ数カ月、実はSlackは今回のアップデートの前段階の多くをサイレントに展開してきた。ただし全容は、クライアントを最新版にアップデートしたときに明らかになる。新しいElectronアプリですべてが統合されるからだ。
Slackは、新バージョンではメモリ使用量が最大で50%減り、起動は33%速くなるとしている。着信通話に参加するまでの時間も10分の1になるという。
こうした変化の多くは、複数のワークスペースに参加しているユーザーに特に顕著に現れる。デラング氏が強調するように、多くのユーザーが複数のワークスペースに参加しているという想定のもとに新しいアーキテクチャを設計したからだ。これまでのアプリでは各ワークスペースがそれぞれのElectronプロセスを使っていたため、ワークスペースを切り替えるときにメモリやCPUを多く必要としていた。
Slackは、Reactを使って新しいアプリのすべてのUIコンポーネントを作った。新しいアプリでは、すべてのデータがロードされてからUIに表示されるのではなく、利用できるデータを適宜ロードする。
この結果、オフラインのときに、前に開いていたチャンネルや会話を読むこともできるようになった。
さらに重要なポイントは、基盤としてのSlackがモダンなクライアントとなり、機能開発が今後高速化されると考えられることだろう。デラング氏は「無理な約束をするつもりはない。スケーリングと構築を同時に進める企業にとって、検討しなくてはならない障壁のひとつが今回のアップデートによって取り除かれる。トレードオフがこれまでよりもいくらか容易になる」と語った。
今回のアップデートは今後数週間で全ユーザーに展開される。アップデートを利用するには、デスクトップクライアントを新しくすることと、新しいバージョンを使える対象となることの、2つが必要だ。Slack側の状況だけでなく、例えば自社のIT部門がアップデートをどのように導入するかといった要因もある。
画像:Drew Angerer / Getty Images
[原文へ]
(翻訳:Kaori Koyama)