Hatena::Groupdaichan330

趣味には偏ってないだいちゃんの日記 このページをアンテナに追加 RSSフィード

2009-04-22

idea:24103

| 13:52 | idea:24103 - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク - idea:24103 - 趣味には偏ってないだいちゃんの日記 idea:24103 - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

はてなアイデア - ブクマ未使用ユーザがエントリページを見た場合、http://s.hatena.ne.jp/js/HatenaStar.jsの241行目で「Cannot read property ’addEventListener’ of null」のスクリプトエラーになる(2回程)。


エラー箇所におけるbacktrace(Google Chrome)。

$ backtrace

Frames #0 to #7 of 8:

#00 #<an Object>.start() http://s.hatena.ne.jp/js/HatenaStar.js line 241 column 25 (position 6952)

#01 new [anonymous](element=null, event=onclick, obj=#<an Object>, method=clickHandler) http://s.hatena.ne.jp/js/HatenaStar.js line 230 column 14 (position 6608)

#02 #<an Object>.registerEventListeners() http://b.hatena.ne.jp/js/Hatena/Bookmark.js?013b410e9f9a line 4742 column 9 (position 166691)

#03 new [anonymous](url=*****, iEL=null, niEL=null, icEL=#<an HTMLElement>, nicEL=#<an HTMLElement>, imageEL=#<an HTMLImageElement>) http://b.hatena.ne.jp/js/Hatena/Bookmark.js?013b410e9f9a line 4737 column 14 (position 166572)

#04 function () {}.[anonymous](undefined) http://b.hatena.ne.jp/entry/***** line 71 column 17 (position 1966)

#05 function () {}.dispatchEvent(type=onload, opt=undefined) http://s.hatena.ne.jp/js/HatenaStar.js line 341 column 26 (position 10310)

#06 function () {}.finishLoad() http://s.hatena.ne.jp/js/HatenaStar.js line 533 column 15 (position 16790)

#07 [anonymous]() http://s.hatena.ne.jp/js/HatenaStar.js line 525 column 19 (position 16599)

原因はソースに直に埋め込まれているコレ。

new Hatena.Bookmark.Interest(
[URL],
⇒document.getElementById('interesting'),
⇒document.getElementById('not-interesting'),
document.getElementById('interesting-count'),
document.getElementById('not-interesting-count'),
document.getElementById('interest-image')
);

「document.getElementById('interesting')」は、投票フォーム(β使用)のアンカータグのIDを取ってきている。

が、この機能はブクマ使用中のユーザのみ使える機能であり、その場合はHTML上のソースでは「はい」「いいえ」がID付きアンカーになっている。

<tr>
  <th>参考になった:</th>
  <td>
    <span class="interest">
      <a id="interesting" href="http://b.hatena.ne.jp/*****/api.interesting?url=[keywordのURL]">
      <img src ="/images/yes.gif" alt="はい" /></a>
      <span id="interesting-count" class="interest-count">0</span>
      <img id="interest-image" class="interest-image" src="/images/rank_05.gif" alt="0 / 0" title="0 / 0" />
    </span>
    <span id="not-interesting-count" class="interest-count">0</span>
    <span class="interest">
      <a id="not-interesting" href="http://b.hatena.ne.jp/*****/api.not_interesting?url=[keywordのURL]">
      <img src ="/images/no.gif" alt="いいえ" /></a>
    </span>
  </td>
</tr>

ブクマ未使用ユーザの場合、ここが単なる文字列の「はい」「いいえ」になっており、アンカータグそのものが無い。

<tr> 
  <th>参考になった:</th> 
  <td>
    <span class="interest">はい
      <span id="interesting-count" class="interest-count">0</span> 
      <img id="interest-image" class="interest-image" src="/images/rank_05.gif" alt="0 / 0" title="0 / 0" /> 
    </span>
    <span id="not-interesting-count" class="interest-count">0</span> 
    <span class="interest">いいえ</span> 
  </td> 
</tr> 

当たり前だがタグすらないのでIDが取れる訳がない。よって、値はnullとなる。(not-interesting)も同じ。


Hatena.Bookmark.Interestは初期化時にクラス内メソッドのregisterEventListeners()を呼んでおり、2個のTen.Observerのインスタンスを作成している。

(内容からすると投票機能のボタンを押した時のイベントリスナみたい)

Hatena.Bookmark.Interest = new Hatena.Bookmark.Class({
    initialize: function(url, iEL, niEL, icEL, nicEL, imageEL) {
        this.url = url;
        this.iEL = iEL;             /* ブクマ未使用だとここがnull */
        this.niEL = niEL;           /* ブクマ未使用だとここがnull */
        this.icEL = icEL;
        this.nicEL = nicEL;
        this.imageEL = imageEL;
⇒      this.registerEventListeners();
        this.nowPosting = false;
    }
}, {
    registerEventListeners: function() {new Ten.Observer(this.iEL, 'onclick', this, 'clickHandler');
⇒      new Ten.Observer(this.niEL, 'onclick', this, 'clickHandler');
    },

で、この場合のTen.Observerはというと、http://s.hatena.ne.jp/js/HatenaStar.js のTen.Observerを呼んでいる。しかしこの時点でelementにはnullが入ってしまっている。

/* Ten.Observer */
Ten.Observer = new Ten.Class({
    initialize: function(element,event,obj,method) {
        var func = obj;
        if (typeof(method) == 'string') {
            func = obj[method];
        }
        this.element = element;   /* element=nullになる */
        this.event = event;
        this.listener = function(event) {
            return func.call(obj, new Ten.Event(event || window.event));
        }
        this.start();
    }

で、start()を結局呼ぶようなのだが、ここでthis.element.addEventListenerとelementがnullかどうか確認せずにaddEvenetListenerを呼ぶためエラーになっている模様。

    start: function() {if (this.element.addEventListener) {
            if (this.event.match(/^on(.+)$/)) {
                this.event = RegExp.$1;
            }
            this.element.addEventListener(this.event, this.listener, false);
        } else if (this.element.attachEvent) {
            this.element.attachEvent(this.event, this.listener);
        }
    }

関連

23847は出し主がブクマ未使用だったのでこの影響を受けていると思われる(実際にGoogle Chrome/Firefoxで確認した)が、本当にスクリプトによる誤動作のせいなのか直接の因果関係は不明。

idea:24084

| 13:56 | idea:24084 - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク - idea:24084 - 趣味には偏ってないだいちゃんの日記 idea:24084 - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

はてなアイデア - Webkit系ブラウザ(Safari/Google Chrome)だと、はまぞうの検索結果画面で検索クエリの表示部分と「すべて/Amazon/楽天」選択タブが被ってしまい、「すべて/Amazon/楽天」のタブ切り替えができない。

はまぞうのCSSの設定が問題みたい。


問題箇所は、http://d.hatena.ne.jp/css/hamazou.css の以下。

#tabdiv{
  margin-top:-25px;
  text-align:right;
  width:100%;
}

「#tabdiv」は検索ウィンドウのタブ表示部分のCSS設定。

margin-topが「-25px」に設定されている。IE/Firefoxだとタブが負の方向(いやゆる上方)に上がり過ぎないみたいだが、Safari3/Google Chromeだと「-25px」では予想以上に上がりすぎてしまい、隠れてしまっている模様。

ちなみにSafari1/2だとこの問題は以下があるので発生しないみたい。

html:\66irst-child #tabdiv{
  margin-top:-18px;
}

参考文献:404 Not Found|忍者ホームページ


Safari3/Google Chromeだと上記のFirst-childハック?は有効にならないようなので、タブが隠れてしまう。この際全部「margin-top」の設定を「-18px」統一にすれば問題が収まるような気もするし、そうでもないのかもしれない。

2009-04-21

最近の「はてなハイク」の状況を公衆浴場に例えてみる

| 15:39 | 最近の「はてなハイク」の状況を公衆浴場に例えてみる - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク - 最近の「はてなハイク」の状況を公衆浴場に例えてみる - 趣味には偏ってないだいちゃんの日記 最近の「はてなハイク」の状況を公衆浴場に例えてみる - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

[ハイク観察記]はてなハイク観察記・またしてもはてなハイクユーザに

はてなハイクで今週あった2つの揉め事について

先週上記の揉め事がはてなハイクで起こった訳ですが、この揉め事が起こってから「はてなハイクの雰囲気が悪くなった」という意見を見るようになった(最近一応「書き込みは自粛中」だけど)ので、現状について(分かりやすく?)書いてみようと思います。


はてなハイカー達が利用してきた「はてなハイク」風呂は、これまで少々の焚き付け(≒揉め事)等はあったものの、全体としては封殺されており、大体温度は38度程度といわゆる「ぬるま湯」の状態で推移していました。

しかしここに「もっと熱く(議論)しようぜ!」という新規入浴者が焼け石を投げ入れて飛び込んできました。このお陰で「はてなハイク」風呂の温度が「38℃」から「38.5℃」に上がりました。それでも上がった温度は全体から見ると「0.5℃程度」ではなかったかと思います。

しかし、いつもならばすぐに冷めて元の温度に戻るはずだったのが、今回は運悪くその「焼け石をぶつけられた」入浴客が炎上し、周りに飛び火する事態が発生しました。この影響で全体的に温度が上がってしまい、「はてなハイク」風呂の温度が「38.5℃」から「40℃」に上がりました。

こうなった場合、「38℃でも40℃でも適温なので特に問題ない」という入浴客もいれば、「38℃は適温、でも40℃になると熱湯なので我慢できない」という入浴客もいます。40℃を熱湯と感じる入浴客の中には「今までは我慢できていたことも我慢できなくなってしまった」ということも出てきます。

そのような「我慢できなくなった」モードによる「くすぶり状態」が週末以降から現状も続いており、未だに風呂の温度は元の「38℃」に戻らず、大体「39~40℃」付近で推移する状況が続いているようです。

一方、この状況を「はてなハイク」風呂を利用している客以外(つまり「はてなハイク」を使用していないユーザ)から見た場合、「高々上がったのは2℃程度なんでしょ?それ大したことないんじゃないの?」と言われている状況です。


現状は上記のような感じですが、このまま「はてなハイク」風呂が元の38℃台まで戻るか、それとも39~40℃台で暫く推移し続けるかはまだ分かりません。今回直接原因となった「揉め事」そのものは両者とも収束しつつある(している)状況ですが、「はてなハイク」自体が開始から1年以上を経過して、以前書いたような「場としての特有の揉め事」を孕みやすくなっている現状、今回の「場」そのものの全体的な温度上昇により、更なる「揉め事」が誘発しやすい状況になっているのではないかと思います。

いつまで人力検索の入力支援機能はSafari/Google Chromeで使えないのか

| 22:36 |  いつまで人力検索の入力支援機能はSafari/Google Chromeで使えないのか - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク -  いつまで人力検索の入力支援機能はSafari/Google Chromeで使えないのか - 趣味には偏ってないだいちゃんの日記  いつまで人力検索の入力支援機能はSafari/Google Chromeで使えないのか - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

今回は人力検索の話です。最近は人力検索もすっかり新機能リリースは滞り、他サービスのリリースも伴っていつの間にやら「正式サービスの第2群」辺りまで寂れた感が否めない感じですが、それでもたまに質問がブクマで話題になったりと存在感はまだそこそこあるのではないかと思います。


で、この人力検索ですが「人力検索」や「いわし」で回答しようとした場合、回答ウィンドウ欄の以下の赤枠の部分をご存知でしょうか。

f:id:daichan330:20090421223309p:image

人力検索を使ったことのある人なら分かると思いますが「入力支援ボタン」です。見た目の通りそこそこ簡単な機能が備わっていると思います。ちなみにこの機能、2006年3月の人力検索リニューアル時から用意されているようです。


ですが、ちょうど1ヶ月程前にこの機能が使えないという以下のアイデアが立てられました。

はてなアイデア - Google ChromeでもIEと同様に回答入力画面の書式ボタンが使える様にして欲しい。

実際にGoogle Chromeで見てみるとこのような感じです。

f:id:daichan330:20090421224116p:image

確かに入力支援機能は全く表示されません。同じWebkit系のブラウザで(Google Chromeよりもリリースが古い)Safariではどうかと言うと、こうなります(バージョン3.2.2)。

f:id:daichan330:20090421224117p:image

やはり入力支援機能は全く表示されません。ちなみに今回は試していませんが、IEではちゃんと表示されます。

つまり、Safari/Google Chromeでは人力検索リニューアル時の2006年3月から入力支援機能そのものが使えていなかった可能性が高くなるという訳です。*1


なぜ入力支援機能が表示されないのか

実際にHTMLのソースコードを見ると、唯一どのブラウザでも表示されている「はまぞう」付近のソースコードはこのようになっています。

<div id="anser-form-button">

<script type="text/javascript">
insertEditButtons();
</script>
<input type="button" class="field" onclick="javascript:window.open('/*****/hamazou/?can_review=0','_blank','width=460,height=600,resizable=1,scrollbars=1,status=1');return false;"  value="はまぞう" >
</div>

つまり、insertEditButtons()というJavaScriptの関数を呼んで、入力支援機能の表示部分を生成していることになります。

で、insertEditButtons関数内容はというと、すぐ上のanswer_edit.jsの中に書かれています。

http://q.hatena.ne.jp/js/answer_edit.js上でのソースコードはこのような感じです。

function insertEditButtons() {
    if (!document.getElementById ||
	navigator.userAgent.indexOf("Safari")>=0) // IE5,6 and Mozilla
	return;
    document.write(
:
    );
}

自分も含めて、Javascriptの初心者の方でも分かるのではないかと思うのですが、3行目の「navigator.userAgent.indexOf("Safari")>=0」が「入力支援機能が使えない直接の原因」と見て良いようです。「navigator.userAgent」で現在使っているブラウザのユーザエージェントの文字列を返すのですが、その文字列の中に"Safari"という文字列が入っていれば、この条件式は真になるというものです。

ちなみにこのブラウザのnavigator.userAgentの値ですが、どんな値になるかと言うと、IE8やFirefox3.08の場合は、

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)

と「Safari」の文字は含まれません。では、肝心のSafari 3.2.2やGoogle Chromeはどんな感じになるのかと言うと、

Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.53 Safari/525.19

こんな感じで「Safari」の文字列が入っています。そのため条件文内にある「return」でinsertEditButtons関数が終了してしまい、入力支援機能の部分が表示されなくなっているようです。


なぜこんなソースコードになっているのか?

入力支援機能自体がリリースされたのは、先にも書きましたが人力検索がリニューアルされた2006年3月とのことです。ソースコードのコメントを見ても「IE5,6 and Mozilla」とあり、「Safari」は最初から除外されていた?感じが見受けられます。

この頃はもちろん「Google Chrome」はありませんでしたし、「Safari」はというと、Wikipediaの項目を見る限り「MacOS X版の2.0系列」が最新だったようです。現行最も使われている3.0系やWindows版のリリースは2007年にリリースされています。

となると「MacOS X版のSafari 2.0系列」では入力支援機能が上手く動作しなかったため表示しないようにしたが、その後のWebkit系ブラウザのリリース状況に対応できていないと考えるのが妥当なのかもしれません。

ちなみにローカルでWindows版のSafari3.2.2やGoogle Chromeで簡単に上記のスクリプトコード部分を外し、入力支援機能を簡単に使ってみましたが、ほぼ問題なく使えるのではと思います。現にダイアリーでもこれとよく似た入力支援機能が用意されており、そちらはSafari/Google Chromeでも利用できています。


しかしそう考えると

少なくとも人力検索がリニューアルされてから既に3年が経過されていますが、はてなアイデアに入力支援機能が使えないアイデアが立てられた形跡はGoogle Chromeの件が出るまではありませんでした。となると「SafariGoogle Chromeを使って人力検索の質問・回答をしていたユーザはこの事実に今まで全く誰も気付かず使っていた?」という疑問が生じることになります(またいつものことだから…という可能性も考えられますが;;)。「はてな」ユーザはIE/Firefoxを使用しているユーザさんが多いとはいえ、Mac使用者ならば、Safariを使ってるユーザさんもそれなりにいらっしゃるのではないでしょうか。

その点を踏まえて、実際人力検索で回答を行ったことがあるユーザは、いつもどのブラウザを使っているのか?を以下で質問している状況です。

人力検索で回答をしたことのあるユーザのみに質問です。 現在最も使用しているブラウザの種別を教えてください。

現在最も使用しているブラウザの種別を教えてください。
Internet Explorer 79
Mozilla Firefox 101
Safari 16
Opera 10
Google Chrome 5
Netscape 0
Sleipnir 17
Donut 7
Lunascape 7
その他 8

*1Google Chromeは2008年末にバージョン1.0がリリースされていますが。

2009-04-19

カラースターの市場価値と普及策について考えてみた

| 22:06 |  カラースターの市場価値と普及策について考えてみた - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク -  カラースターの市場価値と普及策について考えてみた - 趣味には偏ってないだいちゃんの日記  カラースターの市場価値と普及策について考えてみた - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

今回は今更ですが「カラースター」について少し考えてみようと思います。

カラースターショップ - はてな

カラースターについて - はてな


カラースターの「現在の市場価値」は実際どれ位なのか?

現在、各種カラースターは「カラースターショップ」による購入、もしくは「はてな市民制度」などに応じて適宜配布されるようになっています。

実際にその市場価値を換算してみるとどの位なのかを以下の資料から調べてみます。

レアリティ
  • イエロースター:レア度0
  • グリーンスター:レア度1
  • レッドスター:レア度3
  • ブルースター:レア度5
  • パープルスター:レアスター
はてな市民
  • 銅:グリーンスター3個
  • 銀:グリーンスター5個
  • 金:グリーンスター10個
  • プラチナ:グリーンスター20個+レアスター
カラースターショップ
  • カラースターBOX(10個入):100ポイント
  • カラースターBOX(32個入):300ポイント
  • カラースターBOX(55個入):500ポイント
  • カラースターBOX(112個入):1,000ポイント
  • カラースターBOX(580個入):5,000ポイント
カラースターショップ - はてな

はてなポイント・サービス利用日数で換算

簡単に換算すると以下の表の通りになりました。

種別はてなポイントサービス利用日数
グリーンスター(http://s.hatena.ne.jp/images/star-green.gif)10ポイント*110~30日分*2
レッドスター(http://s.hatena.ne.jp/images/star-red.gif)30ポイント*330~90日分*4
ブルースター(http://s.hatena.ne.jp/images/star-blue.gif)50ポイント*550~150日分*6
パープルスター(http://s.hatena.ne.jp/images/star-purple.gif)100ポイント*7100~500日分*8

上記表の換算に当てはめてみると、レアスターであるパープルスターはレア度10相当と捉えることができるようです。


貨幣価値と実際の物品で換算

ここで「はてなポイント」ですが、ご存知の方も多いと思いますが「1ポイント=1円」となっています。実際に貨幣相当での価値だけだとピンと来ないので、実際の物品価値でも表してみます。「うまい棒」が大体1本10円ですから、カラースターの価値を金額・物で示すとこのようになります。

種別貨幣価値「うまい棒」換算
グリーンスター(http://s.hatena.ne.jp/images/star-green.gif)10円1本
レッドスター(http://s.hatena.ne.jp/images/star-red.gif)30円3本
ブルースター(http://s.hatena.ne.jp/images/star-blue.gif)50円5本
パープルスター(http://s.hatena.ne.jp/images/star-purple.gif)100円10本

グリーンスターは無料配布も始まっているので、単純にこの換算ではないと思いますが「グリーンスターを付けること=そのエントリに対して『10円』、すなわち『うまい棒1本分』の価値を付けること」と同義と考えても良いのではないかと思います。


カラースターをもっと普及させるには?

さてこの「カラースター」ですが、現状見てみるとそれ程大々的に普及しているとは言えない状況です。無料配布が始まって、グリーンスターはこれから付けやすくなる土台が出来上がりつつあるのではと考えられますが、もう少し踏み込んで色々案を考えてみます。


そもそも市場価値を低くすればどうか?

まず最初に普及案として考えられるのは、市場価値そのものを下げることです。現状上記で記した通り「グリーンスター=10円」という付加価値が大まかに与えられています。「たかが10円」という意見もありますが「されど10円」な訳で、実際カラースターを付ける側、付けられる側それぞれに心理的な負担が少なからずかかることは否めません(レア度が上がれば更に負担は増加)。

例えば、市場価値を1/10(=グリーンスターなら1円で買える)にすれば、ユーザ側の心理的負担はかなり軽くなると思われます。

※ただし、はてな側から見た場合「価値を1/10に下げると儲からない」というトレードオフが発生しますが。

はてなアイデア - カラースターの単価を下げて欲しい。1個10pt(=10円)はいくら何でも高すぎる。


購入せずカラースターをゲットできる方法を考える

現状「カラースター」を手に入れるためには「カラースターショップで購入する」という方法が主となっています。しかしやはり「購入してまでカラースターを付けたいのか?」という部分は少なからず疑問として出てくるのではと思います。

現状対応策としては「はてな市民制度」やサービス使用開始などに紐付けてグリーンスターの無料配布がありますが、もう少し踏み込んでみてはいかがでしょうか。

例えば現状だと「有料オプション」を使っているユーザに対してオプション継続時におまけとしてカラースターを付けるなどすれば、少なくとも「購入する」という心理的負担は無くなるものと思われます。

はてなアイデア - 沢山ブックマークされた記事を書いたはてなユーザーに対して、運営がカラースターをプレゼントする。例えば100ブクマで、8カラースターくらい。

はてなアイデア - 各種有料オプション継続のおまけとしてカラースターを何個か貰えるようにして欲しい。(idea:23860再要望)

はてなアイデア - ユーザーの登録してある誕生日に"はてな"からのプレゼントとして、カラースターの各色詰め合わせを毎年プレゼントしたらどうでしょう?


特定色のカラースターを購入できるようにする

現状、レッドスター、ブルースター、パープルスターはそれぞれカラースターの購入時に確率でゲットできるようになっているようです。*9

しかし「特定色のみを付けたい」というユーザも多少なりともいらっしゃるようです。

はてなアイデア - グリーンスターだけからなるグリーンスターボックスを購入できるようにして欲しい。

少なくとも現行の価値換算は上記で記したとおりなので、それに合わせた特定のカラースターBOXを用意する方法も考えられるのではと思います。


カラーバリエーションを増やす

現状の4色から更に「カラーバリエーションを増やす」のも一案かもしれません。以下ではレインボー色にしてみるのはどうか?という案もあります。

はてなアイデア - カラースターにパープルスター(紫)が欲しい。いっそのこと、オレンジスター(橙)とネイビースター(紺)も足してレインボースター(七色)にしたらどうだろうか?

またあえてこの際「ブラックスター」を設けてみるのもアリな時期に来ているのかもしれません。カラーそのものに意味付けをしてみるのも一案としてはあり得るのかもしれません。

はてなブラックスター - ぼくはまちちゃん!(Hatena)

はてなアイデア - はてなブラックスター(http://d.hatena.ne.jp/Hamachiya2/20080705/HatenaBlackStar)を本実装し、はてなスターのモデレーションとしての能力をアップさせる。

ただ「そのまま導入すると…」という負担があるのであれば、レアスターとして通常購入はできず、特定の方法のみ(ゲーム感覚的なもの?)を通してゲットするという案もあるのではと思います。

はてなアイデア - レッドスター1個とブルースター1個を生贄にして、レア度8のパープルスター1個を召喚する機能

はてなアイデア - グリーンスター・レッドスター・ブルースターそれぞれ1個ずつを生贄にして、レア度9のブラック(もしくはホワイト)スター1個を召喚する機能


カスタマイズ可能なスターを用意する

カラースターから更に一歩踏み込んでユーザ側で自前でカスタマイズできるスターを作るというアイデアも提案されています。

ただし、この案を導入すると、ユーザ側の自由度は格段に上がる反面、ただでさえ「ロードが重い」と言われているはてなスターを更に重くしかねない(画像サイズ等々も含めて)ので、トレードオフ的な要素が大きいかもしれません。

はてなアイデア - スターの形も変化に富んでほしい。記号や顔みたいな絵文字とか。

はてなアイデア - ショップで星を買うと、ねんどスターがたまについてくる。 ※ねんどスター=自分でこねて色々な形にできる=自分デザインのスター。


最後に

今回はカラースターについての市場価値と普及案について考えてみました。カラースターの価値は現状「グリーンスター1個=10円」に相当しますが、やはり少々心理的負担度が高いものになっているのではないかと思われます。無料配布案等以外にも色々な普及案があると思いますので、ご検討願えればと思います。

*1:カラースターBOX(10個入):100ポイントより

*2:銅・銀・金のサービス利用日数をグリーンスターの個数で割った値

*3:レアリティ度「グリーン:レッド=1:3」より換算

*4:レアリティ度「グリーン:レッド=1:3」より換算

*5:レアリティ度「グリーン:ブルー=1:5」より換算

*6:レアリティ度「グリーン:ブルー=1:5」より換算

*7:上記と同じ換算で右より最も少ない「1日分=1ポイント」で換算

*8:{1000日(プラチナ)-300日(金)}-{10~30日分}×20個(グリーンスターの数)で算出

*9:10個入りはレッドのみ、32個入りからブルーが登場、580個入りでパープルが登場。

2009-04-16

「とらドラ!」スター Ver.2

| 21:43 |  「とらドラ!」スター Ver.2 - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク -  「とらドラ!」スター Ver.2 - 趣味には偏ってないだいちゃんの日記  「とらドラ!」スター Ver.2 - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

これまで「カラースターショップ」にて販売していた グリーンスターについて、はてなのサービス内で広くお使いいただけるよう、本日(4/16)よりはてなのサービス内で特定の活動を行ったユーザーの皆さまを対象として無料配布を開始しました。

はてなのサービス内で特定の活動を行ったユーザーの方に対するグリーンスターの無料配布を開始しました - はてなスター日記

ということですが、カラースターにも改良があり、これまでのグリーン・レッド・ブルーに加えて「レアスター」として「パープルスター」が追加されました。*1


上記に伴い、「とらドラ!」スターについても若干の変更を加えました。変更は以下のとおりです。

  • パープルスターへの画像対応
    • これまでは「ブルースター」に「川嶋亜美」を割り当てていました。
    • 「パープルスター」対応により以下に変更しました。
      • ブルースター:北村祐作
      • パープルスター:川嶋亜美
    • ようやく北村に日の目が(´;ω;`)ブワッ
  • パープルスターへの省略数字対応
    • 実装されているかは不明ですが、念のため対応しました。

Ver.2変更前後イメージ

変更前

f:id:daichan330:20090416213355p:image

変更後

f:id:daichan330:20090416213354p:image


CSSソース

/* ☆の画像をurl()の中に指定します */
.hatena-star-star-image {
  background-image: url("http://f.hatena.ne.jp/images/fotolife/d/daichan330/20090331/20090331223909.png");
}
.hatena-star-green-star-image {
  background-image: url("http://f.hatena.ne.jp/images/fotolife/d/daichan330/20090331/20090331223908.png");
}
.hatena-star-red-star-image {
  background-image: url("http://f.hatena.ne.jp/images/fotolife/d/daichan330/20090331/20090331223911.png");
}
.hatena-star-blue-star-image {
  background-image: url("http://f.hatena.ne.jp/images/fotolife/d/daichan330/20090416/20090416211738.png");
}
.hatena-star-purple-star-image {
  background-image: url("http://f.hatena.ne.jp/images/fotolife/d/daichan330/20090331/20090331223910.png");
}
.hatena-star-temp-star-image {
  background-image: url("http://f.hatena.ne.jp/images/fotolife/d/daichan330/20090331/20090331224216.png");
}

/* Addボタンの画像をurl()の中に指定します */
.hatena-star-add-button-image {
  background-image: url("http://f.hatena.ne.jp/images/fotolife/d/daichan330/20070909/20070909040006.jpg");
}

/* はてなスターの省略数字変更 */
.hatena-star-inner-count {
  color: #f4b128;
  font-weight: bold;
}
.hatena-star-inner-count-green  {
  color: #8ed701;
  font-weight: bold;
}
.hatena-star-inner-count-red  {
  color: #ea475c;
  font-weight: bold;
}
.hatena-star-inner-count-blue  {
  color: #57b1ff;
  font-weight: bold;
}
.hatena-star-inner-count-purple  {
  color: #cd34e3;
  font-weight: bold;
}

*1:現状はカラースターショップで5000pt(580個分)を買うと付いてくる場合があるか、プラチナ市民で1個貰える。

2009-04-11

はてなハイクで主に活動中のBOTまとめ

| 20:36 |  はてなハイクで主に活動中のBOTまとめ - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク -  はてなハイクで主に活動中のBOTまとめ - 趣味には偏ってないだいちゃんの日記  はてなハイクで主に活動中のBOTまとめ - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

今回は現在「はてなハイク」で主に目立った活動を行っているBOTをまとめてみようと思います。


カミナギ(h:id:kaminagi)

http://www.hatena.ne.jp/users/ka/kaminagi/profile.gif

  • 言わずと知れた「はてなハイク」内の有名BOT。活動時期も古い。
  • 現在プロフィール上では「カオス担当」となっている。
  • 現在の投稿先キーワードは「カミナギ」のみ。
  • 活動時間は朝8:00~翌深夜2:00頃まで。
  • 活動時間中は、通常の発言、及び、他のユーザからの発言に対するReplyを不定期に実施する。
  • 口癖(?)は「こやつめ、ハハハ。」「新ジャンル:~」
  • よくできた人間のにせもの(h:id:kaminaqi)も存在する。

ハヅキ(h:id:ha_dzu_ki)

http://www.hatena.ne.jp/users/ha/ha_dzu_ki/profile.gif

  • カミナギに続く第2BOT。
  • 現在プロフィール上では「実務担当」となっている。
  • 「実務担当」の役割通り、活動内容は以下と多岐に渡る。
    • キーワード「カミナギ」への発言。
      • カミナギとは違い、このキーワード上でのReplyはしない。
    • 占い。キーワード「カミナギ占い」に投稿した他ユーザからに対してReplyの形式で占いを出力。
      • ハヅキの発言に対するReplyには反応しない。
    • キーワード「統計」に対して、前日分のタイムライン内容の解析結果を出力(大体毎日昼11時頃)。
    • キーワード「定時」への投稿。現在、投稿時間は深夜1時、深夜4時、朝8時でほぼ固定。
  • 活動時間はカミナギとほぼ同じだが、占いのみはそれ以外の時間でも対応。
  • よくできた人間のにせもの(h:id:ha_bzu_ki)も存在する。

Undecimber(h:id:undecimber)

http://www.hatena.ne.jp/users/un/undecimber/profile.gif

  • カミナギ、ハヅキに続く第3BOT。意味は「13月」。
  • 現在プロフィール上では「メンヘル担当」となっている。
  • 現在の投稿先キーワードは「カミナギ」のみ。
    • ただし発言回数はカミナギやハヅキに比べると少なく、毎日0時・8時・16時の3回が固定となっている。

yomiushi(h:id:yomiusi)

http://www.hatena.ne.jp/users/yo/yomiusi/profile.gif

  • カミナギと同じく活動開始が古いBOT
  • 投稿内容は以下の2種類。
  • 古参BOTでありながら、発言内容のせいかはてなハイカーからカミナギ程の人気は集めていない。

nobuno_haiku(h:id:nobuno_haiku)

http://www.hatena.ne.jp/users/no/nobuno_haiku/profile.gif

  • こちらもはてなハイクの活動開始時期は古い。
  • 名前の由来は「苺ましまろ」の伊藤伸恵から来ている。
  • 毎日0時頃にキーワード「声優さんのお誕生日」に、その日誕生日を迎える声優の名前をPOSTするのが主な作業。

ドルジ(h:id:DolgorsurengiinDagvadorj)

http://www.hatena.ne.jp/users/Do/DolgorsurengiinDagvadorj/profile.gif


めりも(h:id:merrymore)

http://www.hatena.ne.jp/users/me/merrymore/profile.gif

  • 最近はてなハイカーの間で急激に人気を集めているBOT
  • 活動は主に「めりも天気予報」に投稿したユーザの発言から地域を推定し、livedoorの天気情報の内容を返すというもの。
    • 最近、献立や食材について質問するとcookpadから対応するレシピを返す機能も追加された。
    • 結果に対して質問したユーザがReplyを返すと、お礼をReplyしてくれる機能が付いている。

カレン(h:id:kalen_t)

http://www.hatena.ne.jp/users/ka/kalen_t/profile.gif

  • 名前の由来は「カレンダー」から来ている模様。
  • 日付に合わせてプロフィールアイコンの画像を変更する。
  • BOTとしてのハイクへの投稿はIDページへのみ実施。
    • 1時間毎に現在盛り上がっているお題(注目キーワードの先頭と思われる)と、はてなブックマークの新着エントリを紹介。
    • 1日の活動時間は朝7:30頃~深夜24時まで。

最後に

はてなハイクで主に活動しているBOTのみを今回は集めてみました。上記以外にもはてなハイクで活動しているBOTも存在します。

はてなハイクもリリースしてから1年半がそろそろ経とうとしていますが、APIが公開されて以降、最近は様々なBOTが増えてきています。同じミニブログのtwitterとほぼ同等のAPIが公開されていることもBOTが作りやすい要因の一つではないかと思います。

2009-04-10

WebKit系ブラウザ(Safari/Google Chromeなど)におけるユーザブックマークページの表示が高速化した件

| 17:12 |  WebKit系ブラウザ(Safari/Google Chromeなど)におけるユーザブックマークページの表示が高速化した件 - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク -  WebKit系ブラウザ(Safari/Google Chromeなど)におけるユーザブックマークページの表示が高速化した件 - 趣味には偏ってないだいちゃんの日記  WebKit系ブラウザ(Safari/Google Chromeなど)におけるユーザブックマークページの表示が高速化した件 - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

はてなアイデア - [WebKit][JavaScript]最近のJavaScript入替えの結果、WebKit系ブラウザ(Safari,Google Chrome)上で表示が固まる確率が非常に高くなった。

本日、上記のアイデアが(ようやく)実装されました。

これまでWebKit系のブラウザではブックマークエントリの表示は然程重くはならなかったのですが、ユーザブックマークページを表示しようとした際、CPU使用率が100%でブン回しになり、ロード時間がかなりかかることがありました。特に1ページ「20件表示」では然程でもないのに対し、「50件表示」だと兆候が顕著化する傾向にありました。

Safari/Google ChromeWebインスペクタで見ると、ブックマークの表示ではdisplay:noneで見えていないコメントボタン(Hatena.Star.CommentButton)と[☆+]ボタン(Hatena.Star.AddButton)のイメージに対するロードがかなりの割合を占めていました。


今回の修正でhttp://b.hatena.ne.jp/js/Hatena/Bookmark.jsの末尾に以下の処理が加えられており、ボタン表示関連の上位クラスであるHatena.Star.CommentButtonのgetImgSrcメソッドがブックマーク用の専用処理にオーバーライドされたようです。*1

    // 現在のスタイルの取得が重いので省く
    // http://hatenadiary.g.hatena.ne.jp/keyword/%E3%81%AF%E3%81%A6%E3%81%AA%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%AE%E3%83%9C%E3%82%BF%E3%83%B3%E7%94%BB%E5%83%8F%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B
    // に従ってスタイルが指定されているのならこれで十分なはず
    Hatena.Star.Button.getImgSrc = function(c,container) {
        var sel = c.ImgSrcSelector;
        if (sel) {
            var prop = Ten.Style.getGlobalStyle(sel,'backgroundImage');
            if (prop) {
                var url = Ten.Style.scrapeURL(prop);
                if (url) return url;
            }
        }
        return c.ImgSrc;
    };

*1:実質の修正内容は「no title」の「重い箇所3」に対する改善案の一部の模様。

2009-04-03

カラースターの省略数字スタイルを個別にカスタマイズする

| 10:51 |  カラースターの省略数字スタイルを個別にカスタマイズする - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク -  カラースターの省略数字スタイルを個別にカスタマイズする - 趣味には偏ってないだいちゃんの日記  カラースターの省略数字スタイルを個別にカスタマイズする - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

色付きはてなスター「カラースター」の販売を開始しました - はてなスター日記

先日リリースされたカラースターですが、いつの間にか各カラースターの省略数字に対して、それぞれ以下のような個別のclass設定が行われていました。(はてなスター日記等では未広報)

デフォルト(イエロー)スター:hatena-star-inner-count*1

グリーンスター:hatena-star-inner-count-green

レッドスター:hatena-star-inner-count-green

ブルースター:hatena-star-inner-count-blue

なので、各カラースターの省略数字の色合いをスターと統一し、かつ、boldで強調表示する以下のCSS設定をブクマやダイアリー等に追加してみました。

/* はてなスターの省略数字変更 */
.hatena-star-inner-count {
  color: #f4b128;
  font-weight: bold;
}
.hatena-star-inner-count-green  {
  color: #8ed701;
  font-weight: bold;
}
.hatena-star-inner-count-red  {
  color: #ea475c;
  font-weight: bold;
}
.hatena-star-inner-count-blue  {
  color: #57b1ff;
  font-weight: bold;
}

表示結果

レッドスターとグリーンスターのサンプルが見つからないのですが、デフォルトスターとブルースターはこんな感じです。

(ブクマでの例)

f:id:daichan330:20090403104944p:image


関連

はてなアイデア - .hatena-star-inner-count以外のグリーン、レッド、ブルーの各種スター専用の省略数字CSS設定を設けて欲しい。(ex. .hatena-green-star-inner-count,.hatena-red-star-inner-count, .hatena-blue-star-inner-count)

*1:以前から広報されていたもの

2009-04-01

カラースターリリースのどさくさに紛れてデフォルトスターが軽量化されてた件

| 03:35 |  カラースターリリースのどさくさに紛れてデフォルトスターが軽量化されてた件 - 趣味には偏ってないだいちゃんの日記 を含むブックマーク はてなブックマーク -  カラースターリリースのどさくさに紛れてデフォルトスターが軽量化されてた件 - 趣味には偏ってないだいちゃんの日記  カラースターリリースのどさくさに紛れてデフォルトスターが軽量化されてた件 - 趣味には偏ってないだいちゃんの日記 のブックマークコメント

色付きはてなスター「カラースター」の販売を開始しました - はてなスター日記

昨日「1日早いエイプリルフールか?」とはてなー達を賑わせたカラースター販売開始*1ですが、そのどさくさに紛れていつの間にやらデフォルト(黄色)スターにも改良が加えられていたようです。

改良内容は何かというと、以前id:rikuoさんによって提案されていた画像軽量化案です。


はてなスター画像を54%まで軽量化する - 聴く耳を持たない(片方しか)

実際には3/17時点でコメント欄にid:tikedaさんからの報告があり、現在は7色の軽量化スターが使われているようです。


実際にデフォルトスターを見比べてみる

昔のスター現在のスター
画像ファイルf:id:daichan330:20090401034047g:imagehttp://s.hatena.ne.jp/images/star.gif
画像サイズ178バイト93バイト

rikuoさん本人もおっしゃられていますが、確かにぱっと見ただけでは軽量化されているか分からない感じになっています。


他のカラースターはどうなのか?

ついでに新規にリリースされた他のカラースターのサイズも確認してみました。

グリーンレッドブルー一時用
画像ファイルhttp://s.hatena.ne.jp/images/star-green.gifhttp://s.hatena.ne.jp/images/star-red.gifhttp://s.hatena.ne.jp/images/star-blue.gifhttp://s.hatena.ne.jp/images/star-temp.gif
画像サイズ72バイト72バイト72バイト126バイト

一時用スターのサイズが他と比べて大きいですが、それでも以前のデフォルトスターの70%の画像サイズとなっています。通常表示される各種カラースターはどれも一律同じ画像サイズになっており、デフォルトスターよりも小さい容量となっています。


相変わらず知らないうちに(提案されたrikuoさんご本人には告知されていましたが)という感じですが、色んな意味で昨日の時点で「はてなスター」は「新生はてなスター」となった感じがします。


関連