心地よいストレスは、人をやる気にさせる
僕が体験した心地の良いストレス
プライベートでプログラムを書いているときに、ちょっとしたパッケージが欲しくなって、作成して、jsr(JavaScript Registry) にパブリッシュした。
別にそうする必要がないのだが、個人的に Deno の開発したものはちょくちょく触っているので、興味本位でやってみた。
jsr の詳しい説明はしないが、npm と同じようなものと思ってもらえれば良い。
この jsr の UI が僕にとってはこころ地の良いストレスであった。
jsr にはスコアという概念があって、例えば、パッケージの README が書かれているとスコアが上がる。
jsr 側は、パッケージ作成者になるべく質の高いパッケージを提供してもらいたいので、UI に開発者がストレスを感じるようにして、スコアの向上を促している。
例えば、jsr の自分のページ(正確にはスコープ)を見ると、スコアが表示されていて、一覧ページに表示されているとそれなりにストレスがかかる。
そして、詳細ページに入ると、当然そこにもスコアが表示されている。「ただスコアが低いですよ」だけだとこのめんどくさがり屋の僕を動かすには足りない。
ここからが、この jsr の UI/UX のよいところである。スコアをクリックすると、スコアがどのように計算されているかが表示される。
そして、それぞれのスコアを上げるための指標の項目にリンクが紐づいていて、ドキュメントに遷移させたり、入力を促す画面に遷移させたりする。そもそもドキュメントを探したりしなくてもよいし、遷移先のドキュメントにも何を書けばよいかが明確に記載してある。そう、この UI のストレスを解消するのは、簡単かつめんどくさくないのである。ほとんど自分のために開発したパッケージのスコアを思わず 100% にしてしまった。この僕が。
そう、この心地よいストレスというのは、ストレスがある かつ それを解消する方法が明確であるということである。この心地よいストレスは、人をやる気にさせる。
僕が体験した心地よくないストレス
反対にユーザーがストレスを感じる UI にしておきながら、ずっと放置してしまうこともある。そう、github のブランチの保護設定である。
これを個人のリポジトリで設定している人はいるのだろうか。
設定画面に移動すると、最初の入力欄に、「Ruleset Name*」がある。
いきなりルールセットに命名しなければならない。ここで僕は、「ルールセットに命名を!?」という気になる。ブランチ名をつければいいのか、そうではないのか迷う。そしてその下にある、「Bypass list」「Targets」「Rules」もざっと目を通すが、初見での理解はまず厳しい。ここで僕は「ドキュメントを読むか」という気になる。ページの目立つところにあるテキストリンクを踏んでみる。
圧倒的英語の羅列である。ネイティブスピーカーの僕(嘘)ですら読む気にならない。ここで僕のブランチ保護ルール設定の気力は尽きた。仕事でもない限り、この設定をする気にはならないだろう。
UI にストレスがあるが、それを解消する方法が明確でないと、ユーザーはやる気をなくす。これは、僕にとっては心地悪いストレスであった。
心地の良いストレスによって、日記が半年以上続いている話
僕は、Helpfeel 社が提供している、Scrapbox (現 Cosense) というサービスを使って日記を書いている。
初めて日記を書いたのは、高校生の頃で、それから今まで、何度も日記を書こうと思っては挫折してきた。僕以外も似たような経験をしている人が多いのではないだろうか。
そのくらい毎日何かを継続するというのは難しい。
日記を毎日書いていたら、テンプレートが欲しくなった。Scrapbox にはテンプレート機能がない。UserScript というものでカスタマイズできるようだが、ソースコードを Github 管理できないので、書きたくない。
さらに、参照系の API は公開されているが(非公式)、書き込み API は公開されていない。仕方なく、ヘッドレスブラウザを使って、テンプレートを作成する CLI を作った。これを Github Actions で毎日実行している。
僕は、毎日コピペするのがめんどくさかったので、CLI を作成したが、本来の意図とは別の効果があった。毎日実行させるので、日記を記載しないと、Scrapbox 上に、初期状態のテンプレートが残り続けてしまう。これが僕にはストレスになって、日記を書くモチベーションになった。これも jsr の UI と同じで、ストレスがあるが、それを解消する方法が明確かつ簡単なので、やる気になるのである。
これによって、僕の日記は半年以上続いている。自社サービスでも、できるだけユーザーに情報を入力していただきたいので、ユーザーに心地よいストレスを感じさせて、やる気になっていただきたい。
Discussion