PHPSPOT開発日誌さんで紹介されてたので、活用法を考えてみますた。
JavaScriptで簡単に独自の右クリックメニューを作成するライブラリ「RightContext」
ユーザーとUIが仲良しなサイトへの導入が吉?
一般のWEBサイトよりもSNSとの相性が良さそうだなぁ~ってのが、このライブラリを見ての最初の感想かな。
テクノラティなんかで「RightContext」を検索してみてるとチョイチョイみつけれらると思うけど、
「右クリックを変えてしまうっていうのはユーザビリティ的にすごく危険なんじゃないか」
なんていう指摘も見られた。うん、たしかにそうかも。普段使いなれたブラウザ自体の挙動を制限しちゃうんだから不便に感じないはずがない。
んでも、逆に考えるんだ。「使う」か「使われる」かってのは、コレに限らず何にでもそうだと思うんだ。ってことで、たしかに考えるところは多いんだろうけど、何ともならないわけじゃないと思ったり。
そうこうして考えてみると、どうしても相性がいいのは訪問ユーザーの平均閲覧ページ数が多いWEBサイトになるんじゃないかと。つまりは、訪問ユーザーが2,3ページ見て帰るサイトよりも、訪問ユーザーが20ページも30ページも見てから帰るようなサイトに向いていると。
基本的にSNSのユーザーって、そのサイトに何度も何度もアクセスするし、訪問したらしたでちゃんとSNSを使ってるユーザーであれば、足跡ページを見て、フレンドの最新日記を見て、過去にコメントをつけた日記を見て、自分の日記についたコメントを見て・・・・・・という具合に、ページ上をあっちへこっちへと移動しまくる。
つまりは、そういう風にユーザーがそのWEBページを使い込んで、提供しているUIとどんどん仲良くなってくれる。だからこそ、こういうちょっと特殊なUIをもたらすライブラリとは相性がいいんじゃないかと。
たぶんアレだよ、右クリで独自メニューに慣れちゃったら、逆に無いと不便に感じるくらいじゃないかなー?とか。
そんなわけで、習うより慣れろの精神?で、具体的な活用法を考えてみたりする。
SNSにRightContextを活かす妄想
とりあえずうちでもOpenPNEでSNSを運営してるので、やるとしたらどんな感じのカスタムをするか考えてみる。
まず、通常はユーザーのプロフィールページにリンクされている「ユーザー名」にコンテキストメニューを割り当てる。右クリック時に展開されるメニューは以下のようなもの。
・プロフィールを見る
・最新日記を読む
・メッセージ送信
・お気に入りに追加
・マイフレンド申請
・マイフレンドに紹介
・最新レビューを見る
・この人のフレンドを見る
・紹介文を書く
通常はユーザーごとのページに一度飛んでから行わないといけない挙動を飛ばずにやれちゃう感じ。
これらの動作であれば、メンバーIDさえ取得していれば行える。元々メンバーIDはアンカータグで使っているわけだから、新たにSQL等が必要になったりもしないと思われ。よって負荷なく拡張可能。
同様に「コミュニティ名」にも割り当て。こちらもコミュニティIDだけ持っていればリンクは生成できるので負荷はナシ。
・コミュニティのホームへ
・トピック一覧を見る
・メンバーズレビューを見る
・コミュニティに参加する
・コミュをフレに紹介する
・コミュをやめる
こうして、間接的にメニューを増やしてあげることで、「ユーザーホーム」や「コミュニティホーム」を経由する必要がなくなるために、無駄に開かれるページは減り、結果的にサーバへの負荷軽減に繋がるんじゃなかろうか?
小規模SNSだとそんな小さな負荷云々まで考えずに一般なやり方でかまわないんだろうけど、大規模になればなるほど、そういった小さな負荷が積もり積もって大きな負荷に化ける気がする。
なんなら、設計次第では上にずらっと並んでるメニューだって必要最小限にできるかもしれない。そうなればUIをガラっと変えられる。
ユーザーが思っていた動作ができないくてストレスを感じないように、どこかしらかにこの機能のオンオフ設定があってもいいのかもしれない。
ということで、どうせ使うなら使い倒したい感じですね。
「SNSのUIはmixi型(OpenPNE型)が最高ではない!」と思ってる開発者の方とかは、まぁひとつの参考としてどうぞ。