Elevator.jsは、誰もが知る気まずい瞬間についての冗談から始まった。Tim Holmanのプロジェクトページは、読者が長いページを一番下までスクロールしたときに何が起こるかを問いかけた——「わあ、こんなにスクロールして…トップに戻るのにすごく時間がかかりそうだ」——そして、「トップへ戻る」ボタンは機能的ではあるものの、その瞬間を素通りしてしまうと指摘した。彼の答えは、トップへ戻るボタンをエレベーターと呼び、エレベーターのように振る舞わせることだった。

このライブラリは約束を小さく技術的なものに保っている。スタンドアロンでjQuery不要であり、扱うのは音声とスクロールだけだ。開発者がメイン音声ファイルと終了音声ファイルを指定すると、ボタンをクリックしたときにエレベーター音楽が始まり、滑らかにトップまでスクロールし、最後に「チン」の音が鳴る。オプションはカスタム対象要素、固定時間、垂直パディング、コールバックをカバーし、コードはGitHubとNPMでMITライセンスの下に公開され、デモ音声はPond5からライセンス供与されている。

仕掛けは、プロジェクトページ自体がデモを兼ねていることだ。訪問者は気まずさを語る文章を下へスクロールし、エレベーターボタンをクリックして乗って戻る——冗談は説明されるのではなく体験される。2015年4月21日にこのページがHacker Newsに登場すると、コメント投稿者たちは思わず笑ったと述べ、音楽や自動再生について情報を交換し、13階を飛ばすなどの追加案を提案した。

実用の瞬間そのものを製品として扱うこと——トップへ戻ることを、機能的でありながら楽しいエレベーター乗車にする

機能はそのまま残る。今でもトップまでスクロールし、ライブラリはスタンドアロンのドロップインであるため、演出が装飾する実用性を決して犠牲にしない。

体験が自らを売り込む。エレベーターをクリックした読者に冗談が実際に起こるのであり、だからこそコメント投稿者たちは思わず笑った、早く使いたいと述べたのだ。

小さなMITコードとNPMパッケージが試すコストを下げ、スタイルと音声を導入する側に委ねることで、各サイトが乗車を自分たちのものにできた。

その瞬間は普遍的なものだった。どの長いページにもあの退屈な戻りのぼりがあるため、それを楽しくする修正には、どこに現れても観客がいた。

定型の操作が無駄な時間に感じられるときは、小さな演出を加えよう。機能を保ったままの喜びが、雑用を人々が共有する瞬間に変える

2015年4月21日のHacker Newsのスレッドは438ポイントと66件のコメントを集め、そのほとんどがこの冗談の要点そのものだった。スピーカーをミュートしていた人々はスレッドを読んで初めて音楽に気づき、トラックの追加や13階を飛ばすことを提案する者もいれば、タブを非アクティブのままにすると曲が鳴り続ける可能性があると指摘する者もいた。プロジェクトは小さなオープンソースの成果物であり続け——ページとリポジトリは2026年9月時点でも公開されていた——Elevator.jsは、ビジネスではなく実用的なインタラクションに喜びを加える例として頻繁に引用されるようになった。

出典をたどる

出典

  1. Elevator.js - Hacker News Hacker News · news.ycombinator.com ·
  2. Elevator.js Tim Holman (tholman.com) · tholman.com
  3. tholman/elevator.js - finally, a 'back to top' button that behaves like a real elevator GitHub · github.com