| @写真

今日はFlickrの話をさせてください。

唐突ですけど僕はFlickrが好きです。もう2年Proアカウントだし、先日また更新してしまった。無職の僕に$24.95はとてつもない大金です。払わずに済ませられるものなら払いたくない。$24.95(今日のレートで2,406.21082円)あれば、映画を見て松屋で豚めしの並を食べ、ドトールコーヒーでMブレンドを嗜むことが可能ですし、あるいは1,000円カットのQB Houseを二軒ハシゴしたあと、スターバックスで小粋にダブルトールラテを頼むことだって可能です。あるいはもう1,600円足してcrocsの最新サンダルを買うことだって可能ですし、そうでなければ146,400円つぎ足してアルミユニボディのMacBookを買うことだって可能です。そんな大金を僕はもう3年もFlickrに貢いでいるのです。自分でも信じられません。一体Flickrの何が僕を惹きつけるのでしょうか?

Flickrのデザインが良い

第一にFlickrの見た目が好きです。写真共有サイトは沢山あるけど、ごちゃごちゃしてるサイトが多い。Flickrはシンプルで使いやすい。広告は出ないし(FreeアカウントだとトップページにMooやプリントの広告が出るけど、フォト蔵みたいに口臭のGoogle Adsenseが表示されたりはしない)、ごちゃごちゃうるさいアニメーションバナーとかもありません。

メタ情報を使っていろいろ出来る

第二に写真のメタ情報(Exif)を使っていろいろ出来るところが良いです。カメラの機種ごとに写真を絞り込んだり、カメラ小僧的にはFナンバーとかシャッタースピードとか撮影情報を(ユーザーが削除していなければ)見られるのが楽しいです。グループやタグといったソーシャルな機能も良い。さらに一昨年くらいからジオタグに対応していて、位置情報を含んだ写真をアップロードすると地図上に撮影位置をドロップしてくれます。日本の地図はしょぼいのでこの機能はあまり使えませんですけどね。

Web 2.0なところが良い

第三には他のサイトやサービスとの連携がいかしてます。Picnikと連携してて、Flickrにアップロードした写真の簡単なレタッチができますし、上にも書いたけどMooカードとか、オンラインプリント注文(日本から頼むと送料がクソ高い)とかFlickrの収入源的なサービスから、ユーザーのブログにJavaScriptコードを貼り付けられたりとか、APIを公開してるのでectoみたいなブログクライアントから画像を操作したりもできます。こういうオープンなのがやっぱいいわ、Flickr。

使い方が自由

第四には雰囲気がいい。Flickrは入魂の作品を発表する場としても使えるし、撮りまくった写真をじゃんじゃんアップロードするオンラインストレージとしても使えるし、ブログのイメージリソース置き場としても使えます。使い方はユーザー次第で自由自在。たとえばfotologueとかはシャレオツで見た目もかっちょいいけど、僕なんかは「シャレオツじゃない人お断り」みたいなオーラを感じるわけですよ。ふざけんなバカヤロー、人間だったら松屋で豚めしだって食べるしうんこもするだろが! って感じです。Flickrはシャレオツな使い方もできるし僕みたいなうんこな使い方もできる。そこが好きです。

Flash Free

さらにはFlashが少ないのもいい。Organize(複数ファイルの一括編集画面)やSlideshowこそFlashですが、基本的にAjaxで何でも実現してます。むやみにFlash使ってない。fotologueは確かにシャレオツです。かっちょいいです。作り手もユーザーもハイセンスでしょう。しかしオールFlashがうざい。僕のおんぼろMacBookでアクセスするとしんどい。巷間には僕のおんぼろMacBookよりももっとぼろいPC/AT互換機でWinnyの片手間に写真共有サイトをブラウズしていらっしゃるハイセンスな御仁もおられるわけで、Winnyをバックグラウンドで動かしながらFlashだらけのサイトを見るとかほとんど拷問ですよ。シャレオツだから何でも許されると思ったら大間違いだ。

要するにFlickrが好き

いろいろごちゃごちゃ書いてきたけど言いたいのはこういうことです。僕はFlickr使うまで特別に写真が好きというわけじゃありませんでした。デジカメも持ってなかったし、写真は携帯で撮ったり、人に撮ってもらったのをもらったりしてました。でもFlickrを始めてからカメラ好きになって一眼レフ買ったりレンズ買ったりするようになった。それまで桜とか新緑とか蛍とか紅葉とか阿蘇山の野焼きとかまじどうでもいいと思ってたのに、写真を撮るようになってから自然を見る目が変わった。何かあったら写真を撮りたいと思うようになった。そして人に見せたいと思うようになった。

2007年の春、僕は病気で入院してた。抗がん剤やってたから自由に外を出歩くことは出来なかった(抗がん剤の副作用で免疫力が極端に低下し、すぐ風邪をひくから。免疫力が低下している状態で風邪をひくとすぐに肺炎になり、死に至る)。せっかく辺りに桜が咲いているのに、それを見に行くことも出来ない。でもFlickrがあった。僕はWILLCOMの遅い回線でFlickrにアクセスし、「桜」で検索した。健康な人達がアップロードした桜の写真を見ることが出来た。2007年春のささやかな花見でした。

多分僕はFlickrがなかったらそんなに写真は撮らなかったと思うし、携帯で撮った写真で満足してたと思う。Flickr前夜は写真は僕にとって縁遠い物だったけど、Flickrのおかげで写真が近くなった。なによりFlickrは誰でもアカウントを取ることが出来て(招待制とかクソだろ)、児童ポルノみたいなヤバい写真じゃなければ素人でも写真をアップロードして公開できるようになった。これはささやかだけれども良いことだと思う。三脚ジジイたちから写真を開放したFlickrの功績はでかい。

Flickr is the photo publication for the rest of us.

| @WWW

最近、”Product Advertising API PHP4” みたいなキーワードで検索してくる人が多いです。みなさん対応にてんやわんやのようですね。ちょっとググったところ、レンタルサーバーでPHPのバージョンが4の場合、HMACエンコードする方法は見つけられないですね。自宅サーバーならいろいろ手はありそうなんですが。Amazonの仕様変更が原因でPHP 5に移行する人とかもいそうですね。

ところでこういう記事を読みました。

AmazonのAPIは去年、ECS 3.0からECS 4.0に完全移行したばかりなのに、なぜまた一年で仕様を変更するのか不思議だったんですけど、上の記事では

 ブログパーツを使ったクライアント(ブラウザで見てるユーザー)からのリクエストがめちゃくちゃ多いので、対応してらんないよ、というのがほんとのところのような気がしてた。

 もともとは、プログラムを知ってる人が、サイトの構築に役立てるように、という目的が、そうでない一般ユーザーにも使われるようになったのは想定外で、ここまでリクエストが増えると、おいらもやってらんないよ。

 っていうことなんだろうなあ。とか。

 なるべくハードルあげて、リクエストを減らしたい、っていうのが本音なんだろうなあ。とか。

って書かれてました。いままで面倒くさいサーバー側での処理はAmazonがやってたんだけど、これからはクライアント側でも下処理(署名を暗号化して送る)っていう作業が必要になるってことらしい。(あ、JavaScriptとかでアフィリエイトリンク作るツールがダメならectoのAmazon Helperも使えなくなりそうな悪寒。)

リクエスト減らしたらAmazonの売り上げにも響くと思うんですけど、これどうなんだろう。アクセスを綿密に解析した結果、「Webから直で買う人が多いからAPIにかかる負荷を減らしたい、だから負荷ばかりかかるAWSはProduct Advertising APIへ移行!」ってことなんでしょうか。Amazonてスゲー頭のいい人が集まってやってそうなイメージなんで凡人には分からない背景があるのでしょう。

でもAPIの変更でこの手のツール類で使えなくなるものが増えるのは事実です。P_BLOGのISBN変換プラグインについても、今回はAmazonのサンプルコードが公開されてて、コードを数行追加するだけだったので僕でも対応できましたが、これがもっと面倒くさい作業が必要なんだだったらPlug-inの配布やめちゃいそう。レンタルサーバーでPHP 4を使ってる人とかはPHP 5にアップデートするかPHPを使うのやめるかアフィリエイトを諦めるかの三択ですもんね。Amazon、思い切ったことするなーと思った次第です。

| @ブログ

Tribe Called Questの人のことじゃないよ(古)

ToolTip系のPlug-inはブログを作ったばかりの結構最初の頃から長いことArekorePopupを使ってました。透過やtext-shadowが美しいのでいまでも好きなんですけど、SafariがVersion 3.xになってからポップアップの位置がずれるようになった。誰か解決方法をブログに書いてないかなーってずーっと探してたんだけど、なかなか見つからない。

さらに先日、Googleの(Googleとは直接関係ないらしい)Chromiumを試してみたところこちらでもArekorePopupの表示位置がずれる。どうやらこれはSafariに固有の問題じゃなくてWebKit系全般の問題のようだ。

ArekorePopupは長らくバージョンアップとかされてないし、jQueryのプラグインに似たようなやつがあったので思い切って外してみることにした。それがこのqTipってやつです。

qTip jQuery plug-in qTip - The jQuery tooltip plugin - Home -

qTipの特徴はと言いますと、

  • スタイルを簡単にカスタマイズできる
  • 透過pngとか画像を使ってなくて完全にCSSとHTMLだけでスタイリングされてる
  • クロスブラウザなのでIEのこととかなんも考えずに使える
  • ファイルサイズが小さい
  • APIとかが充実しててカスタマイズ魂を刺激する
  • 画像とかHTMLもポップアップで表示できるらしい

text-shadowとか背景の透過表示はできないところがArekorePopupに負けてますが、ToolTip自体の表示位置だとか矢印の表示位置を激しくカスタマイズできるのが結構良い感じです。

ちなみにこのブログでは以下のように記述して使ってます。

$("a[title], img[alt]").qtip( {
	style: {
		padding: 5,
		background: '#191919',
		color: '#FFFFFF',
		title: {
			'font-size': 10
		},
		border: {
			width: 7,
			radius: 5,
			color: '#191919'
		},
		tip: 'topLeft',
		name: 'dark' // Inherit the rest of the attributes from the preset dark style
	},
	position: {
		target: 'mouse'
	}
});

| @技術/プログラミング

クリックした後にしばらく経ってから続きの部分が表示されるだけだとつまらないから、クリックしてから続きが読み込まれるまでの間にローディングgifが表示されるようにしてみた。参考にさせてもらったのはhysyskさんのブログ。

ローディングgifはこちらで作った。

コードはこんな感じ。よかったらどなたか添削してください。

function readMore(x) {  
  
	// format vars
	var id = x.replace("#", "");
	var loadPath = '/article.php?id=' + id + ' div#wrapper div[class=comment entry-content]';
	var rm = x + ' p.read-more a';  
  
	// hide read-more  
	$(rm).hide();  
  
	// write ajax-loader.gif
	$(x).append('<div id="loading" style="text-align: right; position: relative; top: -28px;"><img src="./images/ajax-loader.gif" width="28" height="28" /></div>');  
  
	// show and hide ajax-loader.gif
	$("#loading").bind("ajaxSend", function() {
		$(this).show();
	}).bind("ajaxComplete", function() {
		$(this).fadeOut("slow");
	});  
  
	// load rest of content
	$(x).load(loadPath);  
  
}

| @ブログ

実は密かに別のサブドメインにMovable Typeを設置して、映画の感想をぼちぼち書いてました。このブログのアクセスログを見ると映画の感想はほとんどアクセスがないので、今後は別の場所に分けることにしました。映画専用ブログの方では劇場公開だけでなくDVDで見た映画の感想もわしわし書いていこうと思います。人に見せるためのものっていうより自分で後から「あー、あの映画何だったっけ?」ってときの記憶の引き出しのとっかかりにするために。

そんなブログに興味のある酔狂な方はこちら。

| @技術/プログラミング

はてなダイアリーとかはカテゴリーごとにフィードを生成してて便利だと思ったので真似してみました。たとえば category.php?k=映画 にアクセスしたら、映画のフィードだけにアクセスできる。もう金輪際、僕のチラシの裏的雑記で精神的苦痛を被ることはありません! =-o 読みたいカテゴリーのフィードを選択して時間を有効活用してください。

| @技術/プログラミング

P_BLOGをわさわさいじって、Tagを付けられるようにしました。いや正確には前からTag付けられるようになってたんだけど、P_BLOGのTagは「CategoryをTagっぽく使う」っていうコンセプトなので、WordPressとか他のブログツールのTagの概念とちょっと違った。もともとP_BLOGにはTagはなくて、SafariStandのhetimaさんのハックを取り入れてCategoryをTag代わりに使えるようになっていたわけでした。

Tagはいっぱい付けといた方がいいとは思うんだけど、いままでTagをいっぱい付けまくったので数が260個ちかくになってしまって、こうなると逆に目当ての情報にたどり着くのが難しくなった。そういうわけでTagとは別にCategoryによって記事を大まかに分類しておくと便利だなーと思って、ちょちょっといじってみました。

データベースの `p_blog_log` テーブルのこれまでTagとして使っていた `category` フィールドを `tag` という名前にしてしまい、新たに `category` フィールドを作ってphpMyAdminでテキトーに記事にカテゴリーを割り振りました。その後P_BLOG本体のカテゴリーにまつわる部分をごにょごにょと改造して、TagとCategoryの機能を明確に分けました。要するにコピペして変数名や関数名を書き換えただけなんですけどね。

P_BLOGの後継プロジェクトのLoggix含め世の中には優れたブログツールが沢山ありますが、「自分で欲しい機能をどんどん拡張できる」のはオレオレ仕様のこのP_BLOGだけなわけでして、もう開発は終了していますがオレオレ仕様でどんどん進化して行っております :-) なんかもう主客転倒で、P_BLOGをいじる片手間でブログ書いてるような感じです :-P