ChumbyをTumblrのフォトフレームにする
May 23, 2008 at 11:24 PM | View Comments先日、overlastさんが主催して共同購入したChumbyをみんなで受け取るイベント「Chumby Night #00」へ行ってきました。
http://overlasting.dyndns.org/2008-03-12-1.html
恵比寿のリキッドルームの上のTowerCafeが会場だったのですが、眼鏡男子率が異常に高く、変な機械を受け取ってはみんなで写真を撮りだす集団は異様だったかもしれません。
でも、みんな楽しい人ばかりだったし、overlastさんやスタッフの人のしきりも良かったので非常に楽しいイベントでになりました。
overlastさん、たつをさん、いちるさん、その他スタッフのみなさん。ありがとうございます。
というわけで入手したChumbyですが、前々からTumblr用のフォトフレームが欲しかったので、ちょっと弄って実装してみました。
Chumbyのハックは通常ActionScript2で書く必要があります。
しかし、たつをさんが紹介してくれたように「Load Image from URL」Wigetを使うとactionscript2を使わずに簡単にChumbyに画像を表示できるのでそれを使うことにしました。
http://chalow.net/2008-05-17-2.html
「Load Image from URL」は名前の通り画像URLを指定しておくとその画像を取ってきて表示するWigetなので、サーバー側でTumblrの画像をランダムに表示するプログラムを書きました。
サーバー側は、さくっと作るためにDjangoです。
http://www.ueblog.org/chumby/tumblr/photo/ueblog/
一番最後のueblogを別のユーザー名にすれば、その人のtumblrの画像をランダムに表示(リダイレクト)します。
あとは、chumbyのサイトの「My CHUMBY」で「Load Image from URL」Wigetを追加して、こんなように設定すればOK。
自分のTumblrだけじゃなく、別の人のTumblrも「Load Image from URL」に登録して次々と切り替わるようにしました。
(一番左は時計です)
そして、実際に動かしたのがこの動画
http://www.youtube.com/watch?v=teHgpSvTeJE
左がChumbyで右はiPod touchで前に作ったRandomTumblrを動かしてます。
http://www.ueblog.org/randomtumblr/photo/
ChumbyはTumblrのフォトフレームとしても優秀でした。買ってよかったです。
RandomFlickrも作ろう。
追記:
僕のChumbyの様子を見せるのにXacti & Youtubeを使いましたがvirtualChumbyを使うともっと簡単に紹介することができるようです。
virturalChumbyはflashで擬似chubmyをWebに表示させるものです。僕のtumblrフォトフレームを表示するものは以下です。
15秒ごとに画面が切り替わるのがわかると思います。
Chumbyを持って無くてもChumbyのアカウントは作れそうなので、興味ある人はまず、アカウントを作ってVirtualChumbyでどんなものだか試してから買うといいかもしれません。
RandomTumblrを作ってみた
February 23, 2008 at 08:22 AM | View CommentsJavaScriptは難しいので全く触ったことが無かったのだけど、ちょっと使う必要があったので練習してみた。
ちょっと練習したあとに
「Tumblrの画像をランダムに表示したいな」
と前から思ってたので実装してみることに。
jQueryというライブラリとjquery.jsonp.jsというプラグインを使用したらあっさり実装できた。
jQueryはなかなかいいですね。
出来上がったものは以下
http://www.ueblog.org/randomtumblr/photo/ueblog/
http://www.ueblog.org/randomtumblr/photo/(Tumblrのユーザー名)/(サイズ 75,100,250,400,500のどれか オプション)/
で8秒後ごとに表示される(Tumblrのアカウントがないと表示されないという話もあるけど良く分らない)。
サーバー側はDjangoだけど特別なことはなにもやってない。パラメータ(ユーザー名、画像サイズ)をテンプレートに反映させてるだけなので省略。
生成されたhtmlはこんな感じ。恥ずかしいがさらすことが大事なので、、、、、、、
最初にjsonでトータル数を取得する必要はないのでそこは後で直す予定。
良い書き方があったら教えてほしいです。JavaScriptそのものも、カッコいいエフェクトのかけかたとかも知りたい。
JavaScriptに慣れたら、サーバー側でXML生成と画像の一時ダウンロードをしてActionScript3.0に挑戦したいと思います。
<html>
<head>
<title>Random Tumblr - ueblog</title>
<script type="text/javascript" src="http://www.ueblog.org/media/javascript/jquery.js"></script>
<script type="text/javascript" src="http://ueblog.tumblr.com/api/read/json?num=1&type=photo"></script>
<script type="text/javascript" src="http://www.ueblog.org/media/javascript/jquery.jsonp.js"></script>
<script type="text/javascript">
function get_total() {
return tumblr_api_read["posts-total"];
}
function get_random() {
return Math.floor(Math.random() * get_total());
}
function tumblr_image_jsonp() {
//この下のueblogはサーバー側で生成
var url = "http://ueblog.tumblr.com/api/read/json?callback=tumblr_image&type=photo&num=1&start=" + get_random();
$.getJSONP(url, tumblr_image);
}
function tumblr_image(json) {
var result = json.posts[0];
var url = result["url"];
//この下のphoto-url-500はサーバー側で生成
var photo_url = result["photo-url-500"];
$("#photo_link").attr("href", url);
$("#photo_link").attr("target", "_blank");
$("#photo_img").fadeOut();
$("#photo_img").attr("src", photo_url);
$("#photo_img").fadeIn();
}
$(document).ready(function () {
tumblr_image_jsonp();
setInterval(tumblr_image_jsonp, 8000);
});
</script>
</head>
<body>
<div id="photo">
<a id="photo_link">
<img id="photo_img">
</a>
</div>
</div>
</body>
</html>
TumblrのAPIでdata=1をパラメーターに渡すと、PHPのprint_r関数の表示結果そのものが出た!!
TumblrはPHP製らしい。
download_tumblr_image.py
August 28, 2007 at 08:30 AM | View Commentsちょっと思い立ってtumblrの画像を保存するスクリプトを書いてみました。
が必要。
BeautifulSoupはdownloadの「tarbal」をクリックしてダウンロードして解凍したあと、
% python setup.py install
でOKです。
以下のスクリプトの最初の部分にtumblrのURLとダウンロード先のパスを書いてください。
書き捨てなのでこんなもんでしょう。
追記(8/30)
はてブで上手くいかないとのことだったので少し直しました。
download_tumblr_image.py
import urllib2
import os
import re
import time
from BeautifulSoup import BeautifulSoup
URL = "http://ueblog.tumblr.com/"
PATH = r"c:\tmp\image"
def get_url(page=1, endpage=None):
while True:
if endpage:
if page > endpage:
break
print "page: ", page
soup = BeautifulSoup(urllib2.urlopen((URL + "page/%s") % page).read())
for img_tag in soup.findAll('img', src=re.compile("http://data.tumblr.com/.+")):
yield img_tag.get("src")
page += 1
if not soup.find('a', href='/page/%s' % page):
break
def image_download(url, path=PATH):
filename = url.split(r'/')[-1]
image = urllib2.urlopen(url).read()
wf = open(os.path.join(path, filename), "wb")
wf.write(image)
wf.close()
print "save %s" % filename
time.sleep(5)
if __name__=="__main__":
for i in get_url(1, 2):
image_download(i)
tumblrにどっぷりはまった2ヶ月
July 02, 2007 at 04:41 AM | View Comments先日書いたエントリーが「みたいもん」で取り上げられました。
Webサービスとはまず個人のものである、tumblr編
http://mitaimon.cocolog-nifty.com/blog/2007/07/tumblr.html
いしたにさんありがとうございます!!
前回はtumblrは他のWebサービスとは違うとは言ったのですが、どう違うのかは説明できませんでした。 せっかくなので、もう少し掘り下げて語ってみたいと思ったのですがとても難しいことです。 tumblrはいろいろな使い方があるし、人によって使われ方もさまざまなので一概に「こうだ!」とは言えないからです。
そんな訳で今回は「僕にとってのtumblr」ということで、何もわからない状態でtumblrを触って今の見識になった過程を紹介してみたいと思います。
僕がtumblrをはじめたのが5/10。きっかけは「みたいもん」の「Web2.0ブームに対する揺り戻し:tumblr編」というエントリーでした。
http://mitaimon.cocolog-nifty.com/blog/2007/05/web20tumblr_ba4f.html
最初の印象として「シンプルなものが好きな僕としてはとても好印象」と書いてます。
http://ueblog.tumblr.com/post/1725376
噂のブックマークレットが凄さを実感するために、引用リンク、画像、YouTubeなどいろいろ試しました。 わりと直ぐにブックマークレットだけじゃないtumblrの魅力を感じたようですが、どう凄いのか分からずに戸惑いました。
この時は「これはWeb版のChangeLogなんじゃないか?」と感じたので、一つの話題をなんども連続して書き込んだり、連想することをありのままに書いたりしました。
http://ueblog.tumblr.com/post/1823453
僕はtumblrは好きですが、同時にFolksonomyも信じていてるのでソーシャルブックマークへを擁護する考えを書いてます。このことに関しては現在も同じ考えです。
ただ、個人的なものだからいいのではないかと感じていたようです。ネットのコミュニケーションは素晴らしいし、楽しいけど過度にコミュニケーションを催促される状態にちょっと疲れてきてたのかもしれません。
http://ueblog.tumblr.com/post/1878775
このころ、個人的なものということでネガティブな発言をいろいろ試してみました。これは結果的に大失敗しました。 ネガティブな言葉は表にだすことでネガティブさが増幅されてしまうのです。 ためしに5%くらい本気で思っているネガティブなことを吐き出したら、5%だったものが瞬時にふくれあがって20%くらいの思いになってしまいました。今ではあまりネガティブな方向にいかないように気をつけています。
基本的にblogやSNS、ソーシャルブックマークにおいてはエロを避けることが多いのですが、まわりのtumblrを見てるとアートとしてのエロスな写真が多くありました。自分ではなかなかそういった写真を載せることはできなかったのですが、思い切って載せたのがこの写真です。
http://ueblog.tumblr.com/post/2072032
この写真を載せることでドキドキする時期が僕にもありました。まだReBlogは使ってません。
こういうときの為にReBlogがあるんだと思い、すぐに試したのがこちら
http://ueblog.tumblr.com/post/2080836
ReBlogというのは人のエントリーをそのまま自分のエントリーにできることなのですが、まったくそのままに抵抗があるようで「かわいいな」という言葉を付け足してます。今の僕の感覚で言うなら野暮な行為です。
ここで、僕にとってもっとも影響力のある人物「youpy」さんのtumblrに出会う
エロ写真と、良い写真の区別がつかなくなる。
とりあえずは、それでもいいと思う。 言葉による解釈が必要な写真、デザインとしてキレイな写真は、そんなに良いものではないと思う。
そうすると、写真は、考えずに、ただ何かを感じたものが良いものということになる。 深く考えずに写真を見る。
少しバカになる。
何かを感じたら、Tumblrへポストする。 それがおもしろい写真だった。
それがエロい写真だった。
何かを感じたということでは大差はない。 何かを感じていることに気がつけること。
何かを感じ、考えずにアクションを起こせること
http://ueblog.tumblr.com/post/2138886
youpyさんのこの言葉は僕にとってのtumblrが「Web上のChangeLog的なもの」から「その瞬間の感性を切り出す場所」に変わるきっかけになった気がします。tumblrをやってない人からすればなぜWeb上での人格がある人がだれだか特定できる状態であそこまでエロ画像を貼れるのか不思議に思うかもしれません。少なくとも僕がエロ画像をReBlogする抵抗がなくなったのはyoupyさんのこの発言によるところが大きいです。tumblrの全てを言い表しているような気もします。
そしてこちらが僕が載せた初ヌード写真です。
http://ueblog.tumblr.com/post/2169209
youpyさんのをReBLOGしました。相変わらず余計な一言を加えてしまってます。
テキストのReBlogも試しましたが、はやり余計な言葉を加えてしまいます。
http://ueblog.tumblr.com/post/2202881
このへんでReBlogに関して考えるようになりました。 悩みどころは「まったくそのまま載せていいのか?」ということです。 ReBlogはDashBoardからはReBlogしたことが分かるのですが、通常の画面で見るとReBlogしたものかどうか全く分からないのです。写真ならともかく文章になると誰かの言葉が僕の言葉として受け止められるので、本当にそれでいいのか当初は迷いました。しかし、結局テキストのReBlogも何の抵抗もなく行えるようになりました。
このころには回りでtumblr論とReBlog論が頻繁にかわされるようになりました。僕はこのころに
http://ueblog.tumblr.com/post/2544304
のように「どこからReBlogというアイディアがきたのか?どこまで考えて作られてるのか?」 いろいろ疑問に持つようになりました。一方で画像のReBlogは続けていました。
この時期に自分のtumblrをDashboardではなく、表から見ていて重要なことに気がつきます。
http://ueblog.tumblr.com/post/2599074
これは意識的にネガティブなことを発言していたのと違って素で感じたことです。自分が尻フェチだと思った事はこれまで全くなかったのですが、ReBlogしてる画像を見返してみると意外と尻ものが多かったので思わず発言しました。普通だったら思ってもわざわざこういった発言はしないのですが、つい発言してしまうのがtumblrの持つ魔力なのかもしれません。 また、tumblrが感性を切り出す場所だということはyoupyさんの言葉をきっかけに分かっていたので「意外と面白いかも」と思ったのも事実です。
さてtumblrはたしかにいしたにさんが言われるように自分を主体としたものですが、同時に主体が消滅する場所でもあります。
http://ueblog.tumblr.com/post/2604022
リンクは僕のtumblrですが、これはyoupyさんの発言を僕がReBlogしています。ようやく自分の痕跡を残すことの野暮さに気がついたので何も手を加えずReBlogしてます。この僕のエントリーを誰かがReBlogするとその人のDashboardからは僕からReBlogしたことは分かるけどもyoupyさんが元であることが分からなくなる。
不思議な話ですが、tumblrに書くと言葉は誰の言葉でもない純粋な言葉になってしまうのです。
このことをWeb界の大物etoさんはこのように述べます
やっぱり,Tumblrの本質には「主体の消滅」があると思うな.これを抜きにしてはTumblrは語れん.
http://ueblog.tumblr.com/post/2840548
このことの面白さを当時の僕はこんなふうに言っています
http://ueblog.tumblr.com/post/2943146
主体を無くすReBlogという行為のなかで、あえて自分の痕跡を残すのは自分の主張が過ぎるのです。あえて言い過ぎな例えをすれば、発掘した歴史的遺産に自分の名前を掘るような行為です。自分が受け取ったすばらしい何かはそのままの状態で他の誰かに引き渡さなければいけないのです。
これを書いたときと同時期に面白い事態が発生します。「小鳥ピヨピヨ」で徳力さんの写真がペテン師にしか見えないというエントリーがありました。すると、僕が「良識tumblr派」と呼んでいるアルファブロガーの人たちが一斉にtumblrにあげたのですが、すべて自らの引用リンクで誰一人としてReBlogを使わなかったのです。Webへの見識が高ければ高いほどReBlogは抵抗ある仕組みということがこの一件ではっきりしたように思います。
ある人はReBlogはアートだと言います。ちょっと大げさな気もしますが僕もそう思います。 HipHopのトラックメーカーが過去のレコードから1フレーズ1フレーズ切り出して新しい価値を生むのに似た部分があるように思います。
tumblrにはFriend登録するとそのひとのtumblrが自分のDashboardに現れるようになるのですが、Friendを多くしすぎる面白い反面、登録されたエントリーが多すぎて見づらくなるという欠点があります。制限というのは時と場合によっては有効だということをこのように書き留めています。
http://ueblog.tumblr.com/post/3405017
Friendさんたちが集める莫大な画像やテキストを自分の価値観にあうかどうかの判断を続けていると、自分の感性がどんどん研ぎすまされていく気がします。
http://ueblog.tumblr.com/post/3869124
以上が僕がtumblrにどっぷりはまった2ヶ月弱の記録です。振り返ってみても他のWebサービスとはかなり違う気がします。そしてどうしてtumblrの作者がReBlogという仕組みを思いついて作ったのかが全く分かりません。こんなサービスは今後なかなか出てこないんじゃないかと思います。
これを読んでtumblrをやってみようと思うかどうかは分かりませんが、もしやってみようと思う人がいるならyumblrさんのこの一文を読むと良いと思います。
http://yamarena.tumblr.com/post/2257758
注意) これはあくまでも僕のtumblrの話であって、tumblrには最初に言ったように人それぞれの使い方があります。 まったく触れませんでしたが、僕も自分の撮った写真を載せる写真日記としても活用してます。 ReBlogをしないでWebスクラッチブックとして活用されてる人も、ブログの代わりにしている人もたくさんいます。