2007-10-14
☆削除機能について
|導入
さきほど、はてなスターで自分でつけた☆を削除できる機能を追加しました。
☆を削除できる機能を追加しました - はてなスター日記
そんな訳ではてなスターリリースから3ヶ月越しでようやく実装された☆削除機能。
1Q持ち越したのははてなの4半期決算があったから…かどうかは知りませんが。
ともあれ、導入後1ヶ月の削除要望アイデアall却下を見てきてる自分にとっては、このまま削除しない方針で行くのかと思ってたので少々拍子抜けです。
JavaScript初心者の自分がちょっと実装を見てみる
そんな訳ですが、個人的には以下の部分が気になりました。
☆を削除するには、削除したい☆の上にマウスをかざしてしばらく待ってください。しばらくすると、確認画面が出て削除を行うことができます。
☆を削除できる機能を追加しました - はてなスター日記
「しばらく」ってのは具体的にどの位なんだ?
ということでこういう場合はHatenaStar.jsの実装を見るに限ります。
見てみると(deleteでソースを検索すると)、おそらくココというのは案外簡単に見つかりました。1610行目辺りから。
: ⇒ setTimer: function(e) { var self = this; if (this.deleteTimer) return; if (!this.name || !this.entry) return; if (!Hatena.Visitor) return; if (!Hatena.Visitor.RKS) return; this.deleteTimer = setTimeout(function() { self.deleteTimer = null; var uri = Hatena.Star.BaseURL + 'star.deletable.json?name=' + self.name; new Ten.JSONP(uri, self, 'confirmDeletable'); ⇒ }, 5000); }, clearTimer: function() { if (this.deleteTimer) { clearTimeout(this.deleteTimer); this.deleteTimer = null; } }, confirmDeletable: function(res) { if (res.result && confirm('Delete this star?')) { this.deleteStar(); } }, deleteStar: function() { var uri = Hatena.Star.BaseURL + 'star.delete.json?name=' + this.name + '&uri=' + encodeURIComponent(this.entry.uri) + '&rks=' + Hatena.Visitor.RKS; if (this.quote) { uri += '"e=' + encodeURIComponent(this.quote); } new Ten.JSONP(uri, this, 'receiveDeleteResult'); }, receiveDeleteResult: function(res) { if (res && res.result) { this.anchor.style.display = 'none'; } }, :
あれだけイヤダイヤダ!とだだをこねられていた(?)割にはえらくシンプルな実装だというのが第一印象。まあHatenaStar.jsは一番表層だけなので、中の実装は手が込んでるのかもしれません。
さて、この実装を見るとsetTimer()の設定値が"5000"なので、おそらくですが「5秒」待てば(ブラウザの設定時間等で多少変動あり)、アラートウィンドウが開くようです。アラートメッセージはconfirmDeletableが呼んでいる模様。
それにしても「5秒」という明確な数値を既定してるにも関わらず「しばらく」と曖昧(3cm、そりゃぷにってことかい?ちょ!)な表現にしてるのはなぜでしょうね?日本人って結構この手の待たせるタイプってシビアじゃないかと思うんだけど、そう感じるのは自分だけなのかな?
導入したはいいんだけど
今まで削除機能が無かったから仕様としてOKになってた所が、削除機能ありになると途端に様相が変わってくる訳で。例えば、
- Favoritesにコメントも☆も無いエントリが作成されてしまうけど、コレってどういう扱いになるの?
- 元々Friends関係にあったユーザの最新1ヶ月間の☆を全部削除したら、そのユーザとのFriends関係は一体どうなるの?解消されるの?
- ☆レポート上には☆がついた痕跡があるのに、現状見たら無いんだけど、それっていいの?
- これは明日以降にならないとどうなるのか分からないけど。
- はてなアイデア
- トップページの☆トータルカウント数には☆削除機能はちゃんと反映されるの?
- ☆を付ける側と☆を消す側の所要時間差を考えると、圧倒的に付ける側が有利なので、本当に反映されてるかはちょっと分からない。
等々。BlogsやStarsも見たけど、その辺りはちゃんと動作してるみたい。
まあはてなスターリリース当初もやれβだなんだと言われてたし、まず削除機能ありきで今後実装していくんだろうなぁとは思います。
そんな訳ですが
☆削除機能、個人的には最終的に過去1ヶ月間分だけ削除できるようにする方がいいんじゃないかなと思います。FriendsやFavoritesに関わるのは過去1ヶ月だけなので、それだけ☆削除の対処にすればいいんじゃないかと。
(元々のスターのコンセプトにエントリは流れていくものだとあったし)
とは言っても、現状導入したばっかりだし、暫くは全期間削除できるようにしておいた方が都合が良さそうですが。
「はてなムラはどこにある?」という議論自体が既に古いと思う
|- 煩悩是道場
- うちもはてな村じゃないんですよ - 別冊はてな話 - betaグループ
- はてな村は俺の睾丸の中にある - 平民新聞
- じゃあここがはてな村の中心です。 -
- はてな村役場が見つかりませんでした(><) - fragile-fractus
- はてな村役場の行き方(私信) - 別冊はてな話 - betaグループ
- はてなムラについて - だいちゃんの以下略@β - betaグループ
あるのか無いのか分かんないんだったら作ればいいじゃん!
ということで作るだけ作りました。(thx! id:anonymous_27)
別に自分は村長になる気は更々ありませんので、そのうちid:hatenacinnamon辺りに権限を譲渡しようと思うのですが、いかがでしょうか。
誰か村長になりたいと言う方が居たらここで名乗り出ろ!!(なぜに命令口調)