<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>cloudrop &#187; FriendFeed</title>
	<atom:link href="http://cloudrop.jp/tag/friendfeed/feed" rel="self" type="application/rss+xml" />
	<link>http://cloudrop.jp</link>
	<description>クラウド使ったインターネットサービスの技術支援、ウェブサービスの開発</description>
	<lastBuildDate>Wed, 25 Aug 2010 15:49:43 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://cloudrop.jp/tag/friendfeed/feed" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>WordPressをPubSubHubbubに対応させてTwitterへリアルタイムで通知されるようにした</title>
		<link>http://cloudrop.jp/wordpress/pubsubhubbub_twitter?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=pubsubhubbub_twitter</link>
		<comments>http://cloudrop.jp/wordpress/pubsubhubbub_twitter#comments</comments>
		<pubDate>Mon, 14 Sep 2009 04:57:51 +0000</pubDate>
		<dc:creator>sekine</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[FriendFeed]]></category>
		<category><![CDATA[PubSubHubbub]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://cloudrop.jp/?p=176</guid>
		<description><![CDATA[ブログの更新をTwitterへ通知するのにFriendFeedを利用しているのですが、FriendFeedのクローラ―がフィードを取得しにくるまでTwitterへは通知されず、ひどい時は1日経っても通知されないことがあり [...]]]></description>
			<content:encoded><![CDATA[<p>ブログの更新をTwitterへ通知するのに<a href="http://friendfeed.com/">FriendFeed</a>を利用しているのですが、FriendFeedのクローラ―がフィードを取得しにくるまでTwitterへは通知されず、ひどい時は1日経っても通知されないことがありました。</p>
<p>これを解消するために、最近Googleによって開発・公開された新しいプロトコル<a href="http://code.google.com/p/pubsubhubbub/">PubSubHubbub</a>に対応させました。</p>
<div class="toc">
<ol>
<li><a href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter#toc-pubsubhubbub">PubSubHubbubとは</a></li>
<li><a href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter#toc-wordpress">WordPressで対応するには</a></li>
<li><a href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter#toc-pubsubhubbub1">PubSubHubbubの実力</a></li>
<li><a href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter#toc-pubsubhubbub2">その他のPubSubHubbub対応サービス</a>
<ol>
<li><a href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter#toc-google-reader">Google Reader</a></li>
<li><a href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter#toc-livedoor-reader">livedoor Reader</a></li>
</ol>
</li>
<li><a href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter#toc-pubsubhubbub3">わかりにくいPubSubHubbub</a></li>
<li><a href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter#toc-">参考サイト</a></li>
</ol>
</div>
<h3 id="toc-pubsubhubbub">PubSubHubbubとは</h3>
<p>PubSubHubbubは、今までの配信者（Publishers。以下、ブログ）と購読者（Subscribers。以下、RSSリーダー）が直接やり取りをしていたその間に、ハブ（Hubs）と呼ばれる中間サーバーを配置して、そのハブを介してメッセージのやり取りをWeb Hooksの仕組みで行うものです。<br />
Web Hooksはある決められたアクション（たとえば、「ブログの公開ボタンを押す」など）をきっかけに動作して、決められたデータを決められたURLに決められた方法で送信する仕組みです。</p>
<p>いままで「更新されました？」「いや、まだです。」と304の繰り返しだったフィードの世界に、「更新したしました」きっかけで、購読者に一斉に通知が行くわけですから、こんなエコな仕組みはないと思います。</p>
<h3 id="toc-wordpress">WordPressで対応するには</h3>
<p>簡単です。プラグインを入れるだけです。<br />
現在PubSubHubbubに対応させるためのプラグインは2つ出ていて、どちらも最新の2.8.4に対応していますし、機能的には同じですので好みで導入しましょう。</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/pubsubhubbub/">PubSubHubbub</a></li>
<li><a href="http://wordpress.org/extend/plugins/wp-pubsubhubbub/">WP Pubsubhubbub</a></li>
</ul>
<p>ハブのURLを登録するだけの簡単な設定画面で、しかもすでに2つのハブが登録されているので特に設定することはありません。</p>
<p>プラグインを有効にすると、出力されたAtomに<br />
&lt;atom:link rel=&quot;hub&quot; href=&quot;http://pubsubhubbub.appspot.com&quot;/&gt;<br />
&lt;atom:link rel=&quot;hub&quot; href=&quot;http://superfeedr.com/hubbub&quot;/&gt;<br />
とハブへのリンクが追加されます。</p>
<p>ここから以下の流れで更新の通知がされるようになります。</p>
<ol>
<li>この新しいフィードを取得したPubSubHubbubに対応したRSSリーダーがハブへのリンクを読み取って、ハブに購読の依頼を行います。</li>
<li>ハブは本当にRSSリーダーが依頼してきたのか確認します。確認ができたら次回の更新から通知するように動作します。</li>
<li>WordPressで新しく記事が公開されたタイミングで、プラグインがハブに対して公開の通知を送信します。</li>
<li>ハブは本当に記事が公開されたのか確認します。確認ができたら購読の依頼があったRSSリーダーへ通知を行います。</li>
</ol>
<h3 id="toc-pubsubhubbub1">PubSubHubbubの実力</h3>
<p>実際に前回の投稿がどのようになったかを追ってみました。</p>
<p>まず投稿後、ハブからチェックがきます（apacheのログ）。</p>
<pre class="terminal">
64.233.172.18 - - [12/Sep/2009:18:42:23 +0900] "GET /feed HTTP/1.1" 200 14246 "-" "AppEngine-Google; (+http://code.google.com/appengine; appid pubsubhubbub)"
</pre>
<p>ハブの<a href="http://pubsubhubbub.appspot.com/publish">デバッグツール</a>でハブにどのように登録されているか確認してみると、</p>
<p><a href="http://cloudrop.jp/wp-content/uploads/2009/09/push_gae.png"><img src="http://cloudrop.jp/wp-content/uploads/2009/09/push_gae-300x165.png" alt="ハブのデバッグツールのキャプチャ" title="push_gae" width="300" height="165" class="aligncenter size-medium wp-image-232" /></a></p>
<p>無事登録されているようです。（クリックで拡大）</p>
<p>ではFriendFeedの方はというと、</p>
<p><img src="http://cloudrop.jp/wp-content/uploads/2009/09/push_friendfeed.png" alt="FriendFeedのキャプチャ" title="FriendFeedのキャプチャ" width="530" height="80" class="aligncenter size-full wp-image-236" /></p>
<p>WordPressの投稿ボタンを押して、登録が終わってから一拍おいてすぐ画面に現れたくらいの感覚です。</p>
<p>さて、本題のTwitterは</p>
<p><img src="http://cloudrop.jp/wp-content/uploads/2009/09/push_twitter.png" alt="Twitterのキャプチャ" title="Twitterのキャプチャ" width="530" height="79" class="aligncenter size-full wp-image-235" /></p>
<p>素晴らしい！画面の更新タイミングに影響していますがが、ほぼリアルタイム。</p>
<h3 id="toc-pubsubhubbub2">その他のPubSubHubbub対応サービス</h3>
<p>FriendFeed以外にも、<a href="http://jp.techcrunch.com/archives/20090805google-reader-speeds-up-sharing-with-pubsubhubbub/">Google Reader</a>や<a href="http://jp.techcrunch.com/archives/20090819google-continues-to-feed-the-pubsubhubbub-google-alerts-now-in-real-time/">Google Alerts</a>、<a href="http://www.itmedia.co.jp/news/articles/0908/18/news090.html">livedoor Reader</a>などが対応していて、確認できるGoogle Readerとlivedoor Readerでも確認してみました。</p>
<h4 id="toc-google-reader">Google Reader</h4>
<p>PubSubHubbubへの対応という記事は共有機能からということだったので、対応していないかもしれないと思ったんですが、</p>
<p><a href="http://cloudrop.jp/wp-content/uploads/2009/09/push_gr.png"><img src="http://cloudrop.jp/wp-content/uploads/2009/09/push_gr-300x61.png" alt="Google Readerのキャプチャ" title="Google Readerのキャプチャ" width="300" height="61" class="aligncenter size-medium wp-image-230" /></a></p>
<p>時差なしできっちり更新に上がってきました。（クリックで拡大）</p>
<h4 id="toc-livedoor-reader">livedoor Reader</h4>
<p>こちらは更新がされず…。</p>
<p><img src="http://cloudrop.jp/wp-content/uploads/2009/09/push_ldr.png" alt="ライブドアリーダーのキャプチャ" title="ライブドアリーダーのキャプチャ" width="258" height="352" class="aligncenter size-full wp-image-231" /></p>
<p>PubSubHubbub対応後にlivedoor Readerのクローラが来ていることは確認しているので、腑に落ちないところです。</p>
<blockquote><p>(※ 最初の更新でLDRがそのブログのpubsubhubbub対応を検出し，次の更新から更新情報を受けるようになるので，二回目の更新から反映が最速になります。)<br />
<a href="http://blog.livedoor.jp/nabokov7/archives/904777.html">PubSubHubbub で最速に更新を通知しつつ，舌をかまないためのテスト ： nabokov7; rehash &#8211; livedoor Blog</a>
</p></blockquote>
<p>ということなので、この更新から反映されるようになるかもしれません。<br />
今回は確認できず。</p>
<blockquote><p><strong>2009/9/15 追記</strong><br />
やはりlivedoor Readerではすぐに更新されませんでした。<br />
時間が経ってからの更新だとクロールによる更新なのか、ハブからの通知によるものなのか判断できないので、やはり確認できず。<br />
livedoor Readerでちゃんとリアルタイムで更新されてるというパブリッシャーはいらっしゃるんでしょうか。livedoor Blog以外で。<br />
ざっと調べてみたところ実践している方はいらっしゃいましたが、やはりリアルタイムでの更新は確認できていないようです。</p>
<ul>
<li><a href="http://blog.nomadscafe.jp/2009/08/pubsubhubbub.html">昨日のPubSubHubbub記事がどのように反映されたか &#8211; blog.nomadscafe.jp</a></li>
</ul>
</blockquote>
<h3 id="toc-pubsubhubbub3">わかりにくいPubSubHubbub</h3>
<p>読み方の話ではなく。<br />
複数の要素が絡まっているため、仕様が明らかとは言え、ブログ側からするとハブやRSSリーダーの挙動がわからず、更新が通知されない場合に理由がわかりにくい側面があります。</p>
<p>例えば、ハブへ購読依頼をするRSSリーダーが、エントリーが更新されているかどうかにかかわらず、フィード内にハブへのリンクを検出したらハブへ購読依頼をする仕様なのか（FriendFeedはこちらのようです）、エントリーが更新されたタイミングで検出・通知する仕様なのか（livedoor Readerはこちらのようです）、などです。</p>
<p>FriendFeedは前者のようなので、PubSubHubbub対応を行った後に、1度フィードを手動で読み込ませれば次のポストから反映されるはずです。</p>
<p><a href="http://cloudrop.jp/wp-content/uploads/2009/09/friendfeed_update.png"><img src="http://cloudrop.jp/wp-content/uploads/2009/09/friendfeed_update-300x119.png" alt="FriendFeedでフィードの手動取得" title="FriendFeedでフィードの手動取得" width="300" height="119" class="aligncenter size-medium wp-image-250" /></a>
<div style="text-align:center;margin-bottom:15px;">設定→サービス 追加/編集→マイサービスのリンクをクリック→Blogを更新（クリックで拡大）</div>
<p>まだまだ新しい仕組みなので、確立されるまでもう少し時間がかかるかもしれませんが、多くのサービスが対応してさらに便利になることを望みます。</p>
<h3 id="toc-">参考サイト</h3>
<p>FriendFeed→Twitterの詳しい説明が載っています。</p>
<ul>
<li><a href="http://www.ideaxidea.com/archives/2009/06/twitter_via_friendfeed.html">ブログの更新情報は『Friendfeed』で流すことにした &#8211; IDEA*IDEA ～ 百式管理人のライフハックブログ</a></li>
</ul>
<p>PubSubHubbubに関する参考サイト</p>
<ul>
<li><a href="http://code.google.com/p/pubsubhubbub/">pubsubhubbub &#8211;  Project Hosting on Google Code</a></li>
<li><a href="http://labs.unoh.net/2009/08/what-is-pubsubhubbub.html">ウノウラボ Unoh Labs: PubSubHubbubとは</a></li>
<li><a href="http://d.hatena.ne.jp/snaka72/20090902/1251916771">自宅でPubsubhubbubのPub,Sub,Hub一式を動かしてみた &#8211; 今日もスミマセン。</a></li>
<li><a href="http://www.ryo.com/2009/09/04/991/">PubSubHubBubのpubに対応する : ryo.com</a></li
</ul>
]]></content:encoded>
			<wfw:commentRss>http://cloudrop.jp/wordpress/pubsubhubbub_twitter/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://cloudrop.jp/wordpress/pubsubhubbub_twitter" />
	</item>
	</channel>
</rss>
