AutoPagerize Shibuya.js 2007 9/15

Preview:

Citation preview

AutoPagerizeswdyh

2007 9/15 Shibuya.js

自己紹介

はてなダイアリー SWDYHhttp://d.hatena.ne.jp/swdyh/

ふだんは

フリーランスのような

ニートのような

AutoPagerize

次のページを自動で読み込み、

今のページの下に継ぎ足して表示する

Greasemonkey Script

demo

自動でページを継ぎ足す仕組みは

GoogleAutoPagerとだいたい同じ

対応しているサイト

Google, Flickr,

del.icio.us, Yahoo,

YouTube, Twitter,

Tumblr...

どうやって複数の

サイトに対応しているのか

SITEINFO

AutoPagerizeを動かすのに

必要な情報のうち

サイトごとに違う部分をまとめたもの

url: http://(.*).google.*/(search|custom)*nextLink: id("navbar")/table/tbody/tr/td[last()]/ainsertBefore: id("res")/*[last()-1]pageElement: id("res")/div[child::div[@class="g"]]

SITEINFO sample

url

適用するURL

(正規表現)例:http://(.*).google.*/(search¦custom)*

nextLink

次ページのリンク

(XPath式)例:id("navbar")/table/tbody/tr/td

[last()]/a

insertBefore

どこに挿入するか

(XPath式)例: id("res")/*[last()-1]

pageElement次ページのうちの挿入する部分

(XPath式)例: id("res")/div[child::div[@class="g"]]

手順

nextLinkを使って

次のページのURLを

取得

XMLHttpRequest

で次のページを取得

pageElementを

使って、必要な部分

を切り出す

insertBeforeの位置

に切り出したものを

挿入

SITEINFO

2007 9/14

193個

どうやってこれだけの数

を作ったのか

一番重要なポイント

Wiki

だれでも追加や変更

が可能

ユーザー自身が

SITEINFOを作る

最初のころ

対応サイトは自分で

SITEINFOを作ったと

ころだけ

ある日、SITEINFOを

作っていないサイト

で動いた

別のユーザー(brさん)が

WikiにSITEINFOを

追加していた

Wikiの効果が

初めて現われた

その後

徐々にSITEINFOは

増えていった

またあるとき

「YouTubeで動かないよ」

英語版YouTubeの

HTMLが変わってた

SITEINFOを修正

「youtube.com.br

で動かないよ」

えー、もう知らない

ダメ開発者

でもしばらくしたら

解決してた

ユーザーのひと(kuさん)

が直してくれていた

これもWikiを使った

ことの重要な効果

AutoPagerizeは

Wikiで管理している

情報をもとにして

GoogleAutoPagerを

いろんなサイトで使える

ようにしたもの

作ろうと思った

きっかけの話

GoogleAutoPager

by malahttp://la.ma.la/blog/diary_200506231749.htm

なんとかAutoPager

がいくつかでてきた

サイト独自の部分を切り

出せば、いろんなサイト

で使えるはず

でもそのときは

作らなかった

しばらく経ってから

Japanize

by Kazuho Okuhttp://japanize.31tools.com/

翻訳情報をWikiで

管理している

その仕組み

すごくいい!

そして考えたこと

機械には難しい、

人なら割と簡単な

もの、こと

そういう人の知識を

Wikiを使って集める

(集合知)

そしてそれを、

機械(プログラム)か

ら使う

プログラム + Wiki

(機械 + 集合知)

もっとこういうもの

があっていいはず

プログラム + Wiki

(機械 + 集合知)

というパターン

このパターンの何か

を作りたい!

何かないかなあ

あ、AutoPagerで

できるかも

というのが作ろうと

思ったきっかけの話

その後、

どう開発してきたか

ブログの [autopagerize]

を見てくださいhttp://d.hatena.ne.jp/swdyh/archive?word=%2a%5bautopagerize%5d

今後

AutoPagerizeの

スクリプトよりも

Wikiをなんとかする

AutoPagerizeで

使うためのWiki

もう少し広げて

プログラム + Wiki

というパターンを実装する

ためのWiki、WikiFarm

作る予定

関連するものの紹介

Pagerization

by ofkhttp://userscripts.org/scripts/show/7623

GoogleAutoPagerを

いろんなサイトで使えるようにした

Greasemonkey Script

AutoPagerizeよりやや高機能

外人に人気

Wikiを前提にしてない

AutoPagerizeとほぼ同時期に開発

相互に良い影響

AutoPager

(Firefox Add-on)

by Wind Lihttps://addons.mozilla.org/en-US/firefox/addon/4925

Firefoxの拡張機能にしたもの

XULのユーザーインタフェース

SITEINFOを作りやすくする

ブックマークレット

Firefox以外への移植

Opera

fub

Sleipnir(SeaHorse)

LDRize

by snj14http://userscripts.org/scripts/show/11562

LDRのような操作感を実現する

Greasemonkey Script

SITEINFOとWikiという仕組みを

使っている

お礼

mala, Kazuho Oku,

br, ofk, youpy, koyachi, ku ...

SITEINFOを書いてくれたひと、

AutoPagerizeのユーザー

とても感謝してます

ありがとうございます

ご静聴ありがとうございました