消費

about me | archive | 2012 | ~2011
 | 

2013-11-30

[]tumblr 創世記 その一 ( AutoPagerize の巻 ) 00:09

この記事は、tumblr reblogging enviroment Advent Calendar 2013 第一日目の記事です。

dashboard の深さが有限であることを、皆様ご存じでしょうか?これはフォローしている古参の種類によりますが通常、2007/3/末〜4/始あたりといったところになります。

さて、Webの世界において、2006年から2007年にかけては実にエポックメイキングな年でした。

さて、今回取り上げたいのは AutoPagerize についてです。

今や私達は web ページはスクロールで、過去へ進むことが出来ること。そして web ページというのは「潜るもの」である。というのを当たり前のように受けいれています。それもこれも AutoPagerize が私達の感覚を変えたといっても過言ではないでしょう。

そんな、みんな大好き AutoPagerize は2007/1月に誕生しました。

GreasemonkeyのスクリプトにGoogleAutoPagerとかなんとかAutoPagerというのがあって、

とても便利なのだけど、こういうのってもっと汎用化できるんじゃないかと考えてみた。

そのデータはJapanizeみたいにWikiとかで管理すれば、

いつのまにかいろんなサイトがAutoPager化されるとかも実現できるんじゃないのかな。

そしてそれから2週間ほどで、SITEINFO方式で動くようになります。

サイト用データを外部から取得するようしました。

取得先は復活していたinfogamiです。

このとき、SITEINFOが置かれたのは、infogami でした。infogami は、 Aaron Swartz が作った Wiki プラットフォームでした(その後、 jottit に繋がっていきます)。

実は wayback machine には swdyh.infogami.com の初期の更新履歴も残されています。

一番最初は2007/01/13のものです。

14	del.icio.us用
15	<textarea class="autopagerize_data" readonly="readonly">
16	url:          http://del.icio.us/*
17	nextLink:     //a[@accesskey="e"]    
18	insertBefore: id("bottom")
19	pageElement:  id("main")
20	remainHeight: 800
21	</textarea>
22	
23	YahooJapan検索用
24	<textarea class="autopagerize_data" readonly="readonly">
25	url:          http://search.yahoo.co.jp/search*
26	nextLink:     id("yschpg")/p/big[last()]/a
27	insertBefore: id("yschpg")
28	pageElement:  id("yschweb")
29	remainHeight: 800
30	</textarea>
31	
32	YahooJapanオークション検索用
33	<textarea class="autopagerize_data" readonly="readonly">
34	url:          http://search.auctions.yahoo.co.jp/*
35	nextLink:     //td[@align="right" and @width="1%"]/small/b[last()]/a
36	insertBefore: //table[position()=11]
37	pageElement:  //table[position()=7]
38	remainHeight: 1200
39	</textarea>

del.icio.us、YahooJapan、YahooJapanオークションのわずか3つの SITEINFO だけでした。

ここで、みんな大好き tumblr の SITEINFO がどのタイミングで登録されたのか見てみましょう。まず皆さんが「表側」と呼ぶユーザーページ側が登録されたのが 2007/05/01 です。

15	### tumblr
16	<textarea class="autopagerize_data" readonly="readonly">
17	url:          /http:\/\/.+\.tumblr\.com\/.*/
18	nextLink:     id("navigation")/a[starts-with(text(),"next")]
19	insertBefore: id("navigation")
20	pageElement:  id("container")/div[@class!="navigation"]
21	remainHeight: 800
22	</textarea>

そして、皆さんが「裏側」と呼ぶ dashboard 側が登録されたのが 2007/05/03 のことです。

15	### tumblr(dashboard)
16	<textarea class="autopagerize_data" readonly="readonly">
17	url:          http://www.tumblr.com/(publisher|dashboard)
18	nextLink:     id("posts")/following-sibling::div[2]//a[last()]
19	insertBefore: id("posts")/following-sibling::div[2]
20	pageElement:  id("posts")
21	remainHeight: 800
22	</textarea>

登録者は brazil サンですね。皆さんご存知 tombloo の開発者であります。history を見るとわかるのですがかなり最初の内から SITEINFO の登録を行なっています。

さて、今の視点から見れば、brazil サンと swdyh サンの距離が近いことはそんなに不思議は無いのですが、それはあくまでも現在の視点に立って過去を見ているからに他なりません。ということで AutoPagerize 1st がリリースされた2007/1月まで時計の針を巻き戻してみます。

AutoPagerize が産声を上げる数日前の2007/01/09 平日火曜日の19:30から1時間ほどの小さなトークセッションが行われました。 そのトークセッションは、「Wiki小話/Vol.7 - Podcastle Night。」と呼ばれるものでした

このトークセッション、発表者、参加者にはそうそうたるメンツが名を連らねています。

発表者としてブログラマー首狩り族の長として名を成す eto サン、マスター・オブ・tombloo な brazil サン。

参加者として otsune サン、dotimpact サン、arton サン、mala サン、yappo サン、kzys サン、kakutani サン、tsuda サン、youpy サン、tsukamoto サン、他。そして AutoPagerize の創造主となる swdyh サン。

brazilさんの発表がやっぱり印象的だったなあ。

あと江渡さんが言っていた「集合知によって改善するシステム」っていうのがなんかしっくりきた。

brazilさんのJavaScriptをWikiに書いてなんとかかんとかっていうのも、そういうことなんだろうなあ。

その、Wiki小話の主催者だった tsukamoto サンに話しを聞いたことがあります。期待したような劇的な出来事があった訳ではなかったようで、拍子抜けしたのを覚えています。ただ、まあ少なくとも AutoPagerize の誕生には大きな要因になったことは間違いないでしょう。

さて tumblr についてです。2007/04/27 に早速 tumblr ver2 がリリースされます。

このとき実装された機能は

  1. FOLLOW YOUR FRIENDS
  2. REBLOG STUFF YOU LOVE

http://gyazo.com/f55f24e38d3c4b7696fc395940c02c37.png

はい。みんな大好き REBLOG です。

今や tumblr の代名詞である Reblog なのですが、これは最初から tumblr に存在する機能ではありませんでした。このとき始めて世界に Reblog が現われました。ハレルヤ。

このように、AutoPagerize の開発と Reblog の誕生という奇跡のような偶然の一致によって、我等、リブログマンキーという種族はこの世に生を受けたわけです。

ところで、アレ? 何かが足りませんね。そうです、 tombloo です。そのお話については次回に続きます。

さて、明日の tumblr reblogging enviroment Advent Calendar 2013 第2日目の担当は YungSang サンです。お楽しみに。

 |