id:brazilさんのGreasemonkeyスクリプト「LDR - Signal」がとても良いというお話。
LDRにて次のフィード、次のエントリーのタイミングで音が鳴ります。ディフォルトでは次のエントリーでポン(エントリーが進むごとに高くなる)、次のフィードでポーンと高めの音がなりますが、mp3ファイルを再生する仕組みなのでファイルを変更すれば違う音も鳴らすことができます。
- MP3_PI
- 次のエントリーへ移動時の音
- MP3_PON
- 次のフィードへ移動時の音
に割り当てられているので、それぞれ好きなデータに書き換えると使用できます。data:URLを作るときは、The data: URI kitchen等が便利です。
僕はLDRでエントリーをざーっと流し読んで、気になったところに戻って読み直したりするのですが、戻ったときに音が鳴らなくてさみしかったので、少し書き換えて使わせていただいています。ピンを立てたエントリーを開いたときなんかにも鳴らしたら楽しいと思います。
addBefore関数の第1引数をw.Controlにして、第2引数を鳴らしたい動作の名称にして、第3引数の無名関数の中に音を鳴らす処理を書けば良いだけなので簡単です。例えば、前のエントリーに戻ったときに音を鳴らすようにするには、
addBefore(w.Control, 'scroll_prev_item', function(){ pis().SetRate(4 + (2 * w.get_active_item(true).offset /w.get_active_feed().items.length)); })
とするだけです。エントリー数が進めば音が高くなるように書かれているので、それをそっくりそのまま転用させて頂いて、逆に戻れば戻るほど音が低くなるようになっています。ここで注目すべきが第2引数の「scroll_prev_item」、ここを「open_pin」という風に変更すれば、ピンをたてたエントリーを開いたときに鳴らすようにできます。
視覚だけでなく、聴覚も使って情報を伝える。
リアクションを確かなものにすることで、利用者を世界に招き、より集中へ近づける。
メモ、Signal、音、リアクション - oct inaodu
導入してから、フィードの消化がとても楽しいものに変わりました。集中力が切れてくると、ピポピポ鳴らして遊ぶなんて使い方もしています。
「音が鳴る」
たったそれだけのことが、とても重要だと気づかせてくれた、とてもシンプルなGreasmonkeyスクリプトでした。
[10/12:追記]
キー操作の名称とか拾うときはreader_main.0.3.4.jsの
/* ボタンから呼び出される操作など */ var Control = { ... };
の部分を読めば良いと思います。
[10/15:追記]
すいません。ちゃんとソース呼んでなかったのがバレバレなんですが、キー操作の名前とかreader_pref.0.3.4.jsのにまとまってました。
- scroll_next_item
- 次のアイテム
- scroll_prev_item
- 前のアイテム
- scroll_next_page
- 下にスクロール
- scroll_prev_page
- 上にスクロール
- feed_next
- 過去の記事に移動
- feed_prev
- 未来の記事に移動
- view_original
- 元記事を開く
- pin
- ピンを付ける / 外す
- open_pin
- ピンを開く
- toggle_clip
- クリップボタン
- instant_clip
- 一発クリップ
- compact
- 本文の表示 / 非表示
- unsubscribe
- 購読停止
- reload_subs
- フィード一覧の更新
- toggle_leftpane
- マイフィードを畳む / 戻す
- focus_findbox
- 検索ボックスに移動
- read_next_subs
- 次のフィードに移動
- read_prev_subs
- 前のフィードに移動
- read_head_subs
- 最初の未読に移動
- read_end_subs
- 最後の未読に移動
- toggle_keyhelp
- ヘルプを表示 / 非表示