inteiten – teiten.org powered mobile fixed-point observation utility

teitenのdescriptionにはTeiten is a free social fixed-point observation utility.と書いてあるけど、カメラが動かないようではいけない。カメラが動かないのならば自分が動かなければいけない。

自分も今ではjavascriptとObjective-Cばかり書いているけれど、学生の頃にはPHPやperlでプログラムを書いてた。ちょうど、今のソフトバンクモバイルの前のボーダフォンの前のJ-PHONEという会社がカメラがついているケータイを初めて出したころ。シャープの栄光はここから始まった。いまではどんなケータイにもカメラがついているけど、出た頃はみんなケータイにカメラがついてるからってどうしろというんだ、と思ってた。数字はよく覚えてないけど、そのカメラは30万画素とかで96×72ピクセル、できあがるJPGファイルのサイズが10KBもないようなものだった。

ある日La Hortensia Azulのサイトで、画像つき掲示板みたいなのを作りたい、という話があった。そのころは今では過去のものになりつつあるMovableTypeみたいな伝統的ブロギングプラットホームもなかったので(あった?)、そういうものなしにサイトをデジカメ写真+テキストで更新しようと思ったらHTML+FTPで何とかしなければいけなくて結構な手間をかけないとできなかった。そのときに、その何に使うのかよくわからないケータイのカメラで写真を撮ってメールで送ることで、画像付き掲示板が作れるんじゃないかと思った。ケータイならHTML+FTPと違って誰でも使えるし。

これはいいんじゃないかと思って、後でヤプース!という、ケータイで写真を添付してメールで送ればサイトが更新される、というサービスを作った。今はどこのブログにもついている機能だけど、当時は大塚日記とあともうひとつ、なんだったっけ… 忘れちゃったけど自分の知ってる限りではふたつしかなかった。昔の話だから。

そういうサービスをやっていたので、ケータイではひたすら写真を撮っていた。今は自宅のベッドと職場の机との間を行ったり来たりしているだけだけど、その頃は学生だったのでおかねさえあればわりといろいろなところに行けた。行ったところで気になったものがあれば写真で撮って送っていた。初めて終電を逃したときに、この状況をリアルタイムでサーバに遅れるのに気がついたときには興奮した。今自分で書いていて、そんなあたりまえのことで、と思ったけど。今ならTwitterで普通にやってることもそのころやろうと思うとなかなか難しかった。誰も自分が常に見ているべきタイムラインなんてものも持っていなかったから書いたところで見てもらえなかったし。今なら誰でも、つまらないミーティングの隅に座っているときは”ミーティングがつまらない”とTwitterにpostする。それと同じように、自分もどんなときでも写真を撮ってpostしたいときには写真を撮ってpostしたかった。ミーティング中とか関係ないのと同じように。でもやっぱり電車の中で撮ったりすると周りの人が気にする。自分は何も撮ったらまずいものを撮ってるわけじゃないからわざわざ気にしないでほしい。だからケータイを買い換えたらまずバラしてスピーカをはずして音が出ないようにしてた。一度だけ、いつものようにスピーカを外してガワを閉じたら電波が入らなくなっていて焦ったことがあって、それ以来面倒になってやめちゃったけど。その電波が入らなくなるかと思ったケータイの構造の複雑さにびびったのもある。

そのころにライフスライスを知った。最近はTwitter上で子煩悩パパっぷりをみせつけてくれるヒマナイヌkawaiさんの作品。細かいコンセプトとかは知らないんだけれど、10分に一度自動的に写真を撮ってくれるデジカメで(30分だったかも)、あとでPCに繋いで写真を取り出して並べればその日一日が見えてくる、というもので、それだけでもうロガーの血が流れている人にはたまらないデバイスだ。自分がライフスライスのことを知ったときにはもうライフスライスは手に入らなかった。なんでも記録しておきたくてしょうがない人が世の中にはわりといて、そしてそれはだいたい男なので記録することに執着するのは男だけなのだと思う。とにかくずっとライフスライスのようなものがほしかった。

3年か4年前、ボーダフォンのV702NK/V702NK2(Nokia6630)でならpythonでアプリが書けて、当然のようにカメラを操作できて写真が撮れることを知ったときにはすぐにヤフオクで落札してきてマイライフスライスを作った。しかも、なぜかアプリからだとシャッター音が出なかった。日本独自仕様だったのかな。6630はヤフオクで買ってもライフスライスよりもかなり高かったけど、そのぶん格段に画質がいいしMMCカードを刺せたのでいくらでも写真を撮れてさらにBluetoothまで繋がるというハイテクライフスライスを作れた。そのpythonコードも写真もどこかにいってしまって見つけられないけど、わりと面白かった。ただ、自分的にはやっぱりリアルタイムでサーバに送りたかった。今見たものは今送りたい。でもボーダフォンのパケット定額プランは、アプリのパケット通信は定額の枠外だったので、とてもリアルタイムにサーバに送ることなんでできなかった。

それで、そんな自分から言わしてもらえれば、teitenはもったい。せっかく、やっと、いろんな人があきらめてきたものが今すべてそろっているのに、なぜカメラを固定しなければいけないのか。iPhoneアプリであれば通信も定額、カメラも使いたい放題、AppStoreで販売もできる。審査パスできるのか知らないけど。とにかく、長年の夢であったリアルタイムライフスライス、自分が今、目にしているものを同時に多数の人に見せることができる環境があるのに、なぜカメラが自分が見ている方向ではなく、自分を向いているのか。自分はそれが許せなかった。だからNorio Nomuraさんiphonetestのコードを夏ライオン for iPhoneの裏側にくっつけて暇をつぶせるようにして、自動的に写真をteitenに送り込むものを作った。ゴールデンウィークの終わりくらい。いまならそんなことしなくてもnotificationでいけるのかもしれない。

Teitenslice

これで自分のteitenは自分の外にあるカメラではなく、自分というカメラのteitenになった。自分は一度目にしたものはもう自分のものだと思ってる。もちろん、学生の頃に盗撮、というほどではないけれど、盗撮だと言われかねないことをやっていたから、何人も、その承諾なしに、みだりにその容ぼう・姿態を撮影されない自由を有し、警察官が、正当な理由もないのに、個人の容ぼう等を撮影することは、憲法一三条の趣旨に反し許されないという判例があるのは知ってる。でももうみんないつだってケータイを持っていて、そのカメラがCCDの電荷をメモリに移動させているかどうかなんてわからない。自分みたいなどうしても記録を残したいロガーがアプリをつくって常にバックグラウンドでカメラに写ったものをメモリに書き込み続けているかもしれない。だから自分は逆にいつだって、人が持っているケータイは自分を撮影してるんじゃないか、と思って怯えている。思ってないけど。たまに姿勢がいい人が顔の真正面までケータイを持ち上げて見ているときにはそう思う。あのケータイは俺のことを撮影している、と。iPhoneはストラップをつけるのがめんどうだったから、地面ばっかり写ってたけど、Nokiaの6630でやっていたときはストラップで首から下げていて使っていた。そのNokiaのケータイの裏でずっとpythonのコードが写真を撮影してメモリに書き込み続けているけれど、そのことはメニューにあのpythonの気持ちのよくないヘビのアイコンが出ていて、それがなんかよくわかんないスクリプトを実行していて、そのスクリプトはカメラからデータを読み出してメモリに書き込みまくっている、ということは、pythonのコードが読めないとわからない。そう思うと、ケータイのカメラが動いていないなんて誰にわかるだろうか?動いていないように見えても実は裏でアプリがカメラに写ったデータをflickrにアップロードしまくってるかもしれない。

Memory Plus 生ログ – 気紛 – きまぐれ -を読んでくれたら、最先端のちょっとおかしいロガーたちはそのようなことを当たり前のように考えて(奇異の目で見られることをも厭わずに)やっているっていうのもわかる。

だから、少し前にTumblrに流れてきたanalog | 赤の他人の醜態を写メする悪意のない人々の恐ろしさを読んだときも、この話自体は犯罪で捕まるけれど(電車内で高校生の足を撮影していた人が有罪になっていて、その判決文によれば相手に羞恥を覚えさせることがいけないのだ。泥酔している男が羞恥するのかには議論の余地もあるが)、話はそう単純でもないと思った。この投稿はtumblrに誰かがquoteしているのをdashboardで読んで知った。その誰かにtumblrの他の人が書いたコメントは、無理な合理化をしようとするものも多かったが、自分はperiscopeさんが書いていた日本の社会は、すでに各個人に記録端末が行きわたっているの部分に共感を覚えた。

前述の何人も、その承諾なしに、みだりにその容ぼう・姿態を撮影されない自由を有し、警察官が、正当な理由もないのに、個人の容ぼう等を撮影することは、憲法一三条の趣旨に反し許されないという判例を根拠に、監視カメラの合法性を問う声もある。警察が設置する監視カメラはともかく、商店街などが設置する監視カメラは法的にはきわどいので、犯罪捜査に協力するためのみに映像を利用するということになっていると4年ほど前に読んだ(警視庁のPDF資料だった気がするが見つけられなかった)。しかし、全自動で常に周囲を撮影することが容易になった結果、全自動で撮影することを前提にしたサービスが生まれてきている。

先日ひとまずグーグルの「ストリートビュー」は違法にあたらず–総務省の研究会が見解:ニュース – CNET JapanということになったGoogle Street Viewはその撮影結果が無料で公開されていて公共の福祉に資するのだと抗弁することも可能だろうが、ジェイマジック、画像解析技術で屋外広告を「誰が、いつ、何人見たか」測定する新サービス:ニュース – CNET Japanのようにカメラを設置した側にしか利益のないものも現れている(これは映ったデータをリアルタイムで解析し、撮影データは保存されないから”撮影”にはあたらないのかもしれない)。

Picture 4-29
最後にteitenのオフィシャルなFlashがサーバに送信しているデータの形式だけ解析したときのこと。はじめてTwitter / IEIRI Kazuma: Shotted: hbkr http://teite …経由でteitenを見たときに、これが自分がずっと求めていたライフスライス記録サービスだと確信した。どうでもいいけどshottedじゃなくてshotだとも思った。だからあのでかいコンピューターに繋がれた可哀想なシベリアンハスキーのようなカメラではなく、自分が見ているものといつもつねに同じものを見ることができるカメラからデータを送り込めるようにする必要があった。はじめはperlでpostするスクリプトを作った。gistにteiten hacksという名前でpostしてるスクリプトだ。

teitenのオフィシャルFlashがアップロードしているデータを少し見てみればわかるんだけど、送信しているデータの最後にh=120&w=160というパラメータがある。この120×160というサイズはteitenで表示される写真のサイズと同じだ。これを見たときに自分はもう終わったようなものだと思った(あとでいかに自分が愚かだったかを知ることになる)。これでteitenに自分が見たもののログを送り込めると。でもteitenはそんなに甘くなかった。160×120で各ピクセルをRGBの順で%02xでフォーマットしてteitenに送信してもどうしても画像が乱れる。アナログのテレビでいう走査線がずれたような画像がアップロードされてしまう。

でも、ここで学生のときにあったなんとか実験第2みたいなののパートナーだったやつから聞いた話が役に立った。彼は実験の間に、ゲームのディスクからデータを読み出してきて、そのどうなっているかわからないデータをうまいこと人間が視覚的に理解できるキャラクタのビットマップに再構成するまでの話をしてくれた。もうteitenのことは忘れよう、諦めかけたときにそのキャラクタを再構成する彼の話を思い出した。キャラクタはたしか格ゲーのキャラだった。画像が規則的にずれるときは画像の幅が間違っている、そう彼は教えてくれた。

自分は改めてteitenのFlashが送信しているデータの数を数えてみた。驚いた。160×120だと19,200ピクセルのはずなのにteitenのFlashは19,481ピクセル分のデータを送信していた。いったいこれはどういうことだろう。それでも自分は19,481という数字はピクセルの数と一致しているはずだと考えて素因数分解してみた。中学校の数学で習う、ひとつの数字をそれ以上余りなく割り算できない整数にまで細かくするやつだ。教科書にも役に立つことは載っている。ただみんなそれが役に立つような場面にいることに気がつかないだけだ。素因数分解は格ゲーのビットマップやteitenの画像がずれて困るときに問題解決の糸口を与えてくれる。

素因数分解の結果を見て自分はすぐに気がついた。19,481は161×121だった。コードを書き直して縦を121ピクセルにしてデータを送り直すとteitenはこちらが送ったつもりの画像を表示するようになった。h=120&w=160はなんなのかとかcolorsのところはもっとバイト数節約できるんじゃないかとかそんな細かいことはどうでもよかった。

数日後、開発者向けに公開されていたiPhoneOS3.0をインストールしたら、いろいろなアドレスが変わったようでinteitenには何も映らなくなった。

というわけでgist: 138764 – GitHubみたいに書けばUIImageをteitenに送りこめるので誰か作ってください。

一度2manjiののりで書いた文章をあとからふつうに書き直して飽きたのをtakaakik.comの河上さんに会って話をしたのきっかけにもう一度書き直したものです。一部に2manjiテイストのときに入れた嘘と誇張が残っております。

About this entry