maco's life

主にエンジニアリングと読書について書いていきます。

esaの記事更新を促すchrome extensionを作った

私の周りで情報共有のためのツールとしてesa.ioというサービスを深く愛用させていただいております。最近使い始めて1年が経ちました。サービスを使っていく中で最近あったちょっとした出来事とそれを改善するために作ったchrome extensionについて紹介します。

esaについて

esaというサービスは、公式サイトに書いてある通りチームで情報を育てていくサービスです。各人で記事を作成・共有など行い、皆でその記事の情報を更新し育てていきます。

情報を育てるため・育てやすくするための仕組みとして、

  • 複数人での同時編集
  • 書いている途中でも周りに共有し易くするためのWIP機能
  • リアルタイムプレビュー
  • markdownサポート
  • タイトルと連動したカテゴリの整理方法
  • リビジョン機能
  • etc…

などの様々なサポートがあります。また提供されているchrrome extensionを使用することで、markdown入力時のサポートが受けれて記事作成も楽に行なえます。こちらのextensionはesaのサイト以外でも使えて大変便利です。esarea - Chrome ウェブストア

またここ1年の間esaを使って情報共有をしてきましたが、カテゴリを基準をもって切っていけば様々なケースに使用できて汎用性もあり大変扱いやすいです。現状では日報、議事録、企画案の共有、約束事など様々な用途に使用されています。 ※個人的にはUIが大変親しみやすく、また使いやすいところが大変気に入っています。

最近の出来事

1年近く使うとそれなりにたくさんの記事が溜まっていきます。そんな中最近よくあるのが過去作成された記事で最新の情報が反映されていないものが少しずつ増えてきたということです。読んでいる人は早い段階で気づけばいいのですが、気づくのが遅くなってしまった場合に時間のロスにつながることもあります。

対応

その記事が信頼足り得るものかどうかを図るための指標として、記事の最後の更新時間と現在時刻の差分が大きいかどうかみたらいけるのでは?と考えました。githubでいう 直近数ヶ月何もcommit履歴がないリポジトリ ≒ メンテナンスがされいないかもしれないのような1つの判断基準は、esaにも当てはまるであろうと思った次第です。記事の更新が一定期間ない場合に注意書きを出すことで、ユーザに古い記事かもしれないという示唆を行う。注意書きをみたユーザは「記事更新チャーンス!」といわんばかりに記事の更新を行い常にアップデートされていく記事がesaに溜まっていくみたいな方針をぼんやりと考えました。記事の更新期間があいている時に注意文言を出すのは、qiitaDevelopers.ioなどではかなり前から導入されているもので、今回はそれらをオマージュしました。

作ったもの

esa-cautionerというchrome extensionを作成しました。

chrome.google.com

github.com

※コードはjsの経験ほぼゼロの初心者が組んだようなものなのでPRお待ちしております。

仕組みは画面右端に下のスクショのように記事作成時刻と記事更新時刻がでているのでタグから記事更新時刻を取ってきて現在時刻と比較します。

f:id:Maco_Tasu:20170726211307p:plain

比較してみて半年間更新がなければ注意文言を記事トップに表示するといったシンプルなものです。

f:id:Maco_Tasu:20170726211639p:plain

半年間というのは今の利用状況に合わせて決めた値なのでnヶ月みたいな設定ができるような改善が今後必要そうかなと思います。

簡単な実装のchrome extentionですがesaの記事を有用な状態に保っていくには地味に効果を発揮してくれそうな感じ。

そうなるといいなー