2012-01-30
RetroTubeをリニューアルしています
5年ほど前に作ったRetroTubeを、去年の暮れからまた新たにいじり始めています。
最初に作った当初は、週に一度くらいの間隔で表示データを手動更新していたのですが、だんだん面倒くさくなってきて、ここ3年ほど全くやっていませんでした。
おかげで今ではひどい状態になっており、これはかわいそうだなーいつかなんとかしないとなーと、長い間思っていました。
なので、今回ようやく重い腰を上げて取り組むことにしたのです。
とりあえずは、今時のインフラの上で動くようにしようと考え、例によってGAE上でcronを回し、自動でデータ更新するようにしました。
このあたりはもうお手のものですね。
次に、今時のWebサービスのように、画面遷移をしないUIに変更してやろうと考えました。
こういうことをやろうと思うと、かつてはものすごく大変だったのに、今は色々ライブラリを組み合わせていくだけでできるようになっているんですよね。
まず、年代の指定にjquery ui sliderというライブラリを使い、スライダーで指定できるように変えました。これを使って動画の一覧が動的に更新されるようにしています。
これでひとつ画面遷移を減らすことができました。
次に、ユーザーの選択した動画を表示する際に、lightbox風のイフェクトをかけようと思い、prettyPhotoというライブラリを使うことにしました。
これでさらに画面遷移が減りましたね。っていうか全くなくすことができましたね。
その他の変更点としては、検索対象の年代を大幅に増やして、1960年から2009年までの半世紀を対象にしました。
なので、結構年配の方にも楽しんでいただけるようになったかなーと思っています。
また、検索ジャンルは邦楽のみに絞っています。これは、映画とかアニメについては、また別のサービスとして違った形で提供していこうと考えているからです。
今後の機能追加としては、現時点で年代単位の検索はできるのですが、歌手単位で横串検索できるようにしないと面白さが半減するので、それをやろうと思います。
まだUIがちょっとよくイメージできていないのですが…
2012-01-27
趣味プログラマーとして生きる
趣味プログラミングについて、最近考えていることについて書きます。
昔からネット上には、ネタとしてギークを自称している人たちがいて、例えば、べにぢょさんという方は、明らかにこのカテゴリに属している方です。
私は昔から彼女が、なにかにつけては「コンパイル(はーと)」と言う言葉を繰り出す度に、必ずイラッときてしてしまうのです。
なぜなのかというと、やはり私が、職業として「コンパイル」という行為を真剣に行なってきたからなんですね。
私が新人だった頃の話ですが、当時、一万本程度のプログラム郡を一括コンパイルする必要があって、事前に詳細なスケジュールを組んで、一日あたり千本ずつくらい、深夜にバッチを回してコンパイルしていったことがあります。
ある日のこと、夜間バッチに異常に時間がかかってしまい、翌朝になっても積み残ってしまうという事象が発生しました。
たったそれだけのことなのですが、影響は大きく、関係するプロジェクトの要員の手が一日止まってしまうことになりました。
当時は100人程度の開発要員がいたので、5人月ですから金額にしておよそ500万円程度が吹っ飛んだことになります。
上司からは、コンパイル時間の見積もりが甘いと攻められ、泣きそうになりながらどうすることもできなかったのを憶えています。
私にとって、コンパイルという行為は、常に死と隣り合わせの非常にインパクトのある行為なのです。
まさに、「女子供はすっこんでろ」とでも言いたくなるような、泥臭い世界での血みどろの戦いなのです。
まぁ、そんな感じで、真剣にプロとして行動している者が、遊び半分で楽しくやっている者へ嫌悪感を抱くという、これってある意味わかりやすいパターンですよね。
でも、最近になって、私のべにぢょさんに対する嫌悪感は、ちょっとねじれていることに気づいたのです。どういうことかというと、これは近親憎悪というやつなのではないかと…
つまり、私自身も、「楽しそうに適当な調子でWebサービスとか作ってんじゃねーよ」とか、「その道のプロ」からは思われているんですね明らかに。
私がべにぢょさんに抱く感情は、ちょうど彼らが私に抱いている感情となんら変わりのないものなのです。
そういうことにようやく気がつく歳になりました。
では、なんでそんな風に一部大勢の方々から疎まれながらこんなことを続けているのかというと、やっぱりどこかで技術オタク的な人たちよりも、ずっと面白いものが自分には作れるような気がしているからなんですね。
結構周囲を見渡してみても、「俺様はガチでギークだぜ!」とか言っている人よりも、そのへんの子供やおっちゃんの方が、Web上の事物に対して面白いアイデアを持っていたりすることが多いと感じます。
あとはもう一歩進めて、彼らの発想を形にしていくことができればよいのですが、そういうことのお手伝いをしていけたらよいなぁと思っているわけです。
考えてみれば、googleやfacebookも、個人プロジェクト時代はまさかこれで食っていくつもりでやっていなかったと思うのです。
ただ純粋に自分たちが必要なものであったり、作ること自体が楽しかったから適当にやっているうちにここまできてしまったというところが大きいのではないでしょうか。
本当に面白いものは、そういう脱力したところからしか産まれてこないような気がするのです。
なので、自分の周囲にいる「技術を持たざる者達」に対しては、決して芽を摘んでしまうことのないように、大切に育てていく方向でいきたいと考えています。
私自身は、あまり肩肘はらずに、これまでどおりヘラヘラ笑いながら他人の見よう見まねでいろいろやっていこうと思います。
2011-12-01
FBとかG+とか、そのあたりのSNSのこと
最近、Facebookの「いいね」ボタンや、Google+の「+1」ボタンとか、色々と「押しモン」が増えてきました。
今やネット上のありとあらゆる要素に対して、ボタンがゴテゴテ貼りつけられていて、どれを押したらよいのか迷ってしまうほどです。
これらのボタンがもともと何を意図して作られたのかというと、「1クリックでポジティブな感情を相手に対して伝える」ということだと私は思っていました。
ところが最近の私は、ちょっと妙な使い方をしていることに気づいたのです。
例えば、ネット上の自分の発言に対して誰かがレスポンスを返してくれても、それがちょっと返答に困ってしまう内容だったり、あるいは返答に時間がかかったりする場合があるのですが、そういう時にとりあえず「いいね」や「+1」ボタンを押しておけば、なんとなくお茶を濁すような感じで丸く収まることが多いのです。
昔のmixiだと、「足あと」がついているのにレスポンスを返してくれない人に対して、「あの人、私の日記見てるのになにも反応してくれない」という思考状態に陥りがちで、そこから「mixi疲れ」という言葉が流行ったりしたことがありました。私の場合はそういう状態を避ける為に、最近の「押しモン」を利用しているような気がしますね。
でも、なんかそういうのって、本来の使い方とは違っているような気がしていて、「+1」ボタンとは別に「±0」ボタンとか、そのくらいのニュアンスのボタンがあってもいいんじゃないかなという気がしています。
あと、FBとかG+とか最近のSNSは、実名での登録を強制していますが、それでよく言われているのが「実名だと誰が誰だかわからない」という矛盾ですね。
ネットの世界でハンドルが使えないということが、これほどお互いの認識に不都合を及ぼすものだということを初めて思い知らされたような気がします。
そこで、発想を逆にしてみて、いっそのこと他人に対してあだ名をつけられるようにすればよいのではないかと最近よく思うのです。
現実世界でも、例えば、私は毎朝の通勤途中で道でいつもすれ違う人に対して、勝手に脳内であだ名をつけています。「吉田栄作」「くわえタバコ」「ビッチ女子高生」とか、相手の外見的な特徴から適当に名付けています。同じように職場でも、相手の名前をなかなか覚えられない時には、脳内で勝手にあだ名をつけるようにしています。
そういうのって、相手の実名を知らないから仮で名付けているわけではなくて、そうした方が記憶に残りやすいからやっているんですよね。
なので、最近の実名制SNSでも、他人に対してあだ名をつけることができるようにすればいいのになぁと思います。
当然、誰が誰にどんなあだ名をつけているのかは非公開にできるようにしておいて、そういうことをシステム的に実装してくれたらよいのになぁと思うのです。
2011-11-29
自分が楽な場所
このあいだ、pha語録をまとめていた中で、私が一番いいなぁと思ったのは、合気道の話です。
とりわけ印象的なのは、「力で対抗してはいけない。自分が楽な場所に行けばいい。自分が楽な場所は絶対あるから」という言葉です。
この部分だけ取り出してみると、「仕事が長続きせずに転職を繰り返す若者」的なイメージを持たれるかもしれないのですが、全然そういうことを言っている訳ではないんですね。
その昔、映画監督の北野武さんが、自身の監督した映画について、「国内ではボロクソに叩かれるが、海外の映画祭などに出展すると非常に高い評価を受けて、いくつも賞を取ったりする。」と不思議がっていたことがありました。彼はそういうことがあって以来、日本という国をあまり相手にせずに、海外の人々から評価してもらえる機会を積極的に増やしていったそうです。
私の話をすると、私は中学生の頃、美術という科目が非常に苦手で、どんなに頑張ってもよい成績を取ることができませんでした。
授業でやっていることは、ただ単に、目の前の風景や人物などを模写するだけなのですが、何故か先生からはよい評価を得ることはできませんでした。
英語や数学など、他の教科は努力した分だけ、成績に反映されるのに、これはやっぱり自分に美術的なセンスがない為ではないかと思い込んで、諦めていました。
ところが高校に入り、そこでの美術の授業は、抽象画や立体図形など、頭の中にあるモヤモヤしたものを自由な形で表現することが求められる内容で、そんな中では、信じられないくらい高い評価を得ることができたのです。
これらの例は、評価を受ける場所が変わったことによって、受けとめられ方も変化し、それによって高い評価を得ることができた好例だと言えるでしょう。
「自分が楽な場所」って、言い方が抽象的でわかりにくいのですが、それは「自分のことを適切に評価してくれる場所」のことなんじゃないかなと思っています。
日常生活の中での生きづらさの本質はこういうところにあって、例えば、自分のやっている仕事がうまくいかないんだけれども、それって自分の努力が足りないせいなんじゃないかなと思い込んでしまい、闇雲に力技で対処しようとしてもダメだということなのです。
誤った場所でいくら努力したところで、そこから得られるのは誤った評価でしかないのです。
そういう意味では、phaさんはもう既に、「自分が楽な場所」を見つけているような気がしますね。今まさにphaさんのいる場所が、彼にとっての「楽な場所」なんじゃないかなという気がしています。ただそのことに、本人が気づくだけでよいのではないかなと思ったりしてしまいます。
それとは正反対で苦しんでいるのが、ハックルさんですね。彼は、「自分が評価を受ける場所」を完全に勘違いしているような気がします。はてなのユーザーに対して、いくら力で対抗しようとしても、それがかなうはずはないのです。これも同様に、本人がそのことに気づきさえすれば、楽になれるのになぁと思ってしまうのです。
2011-11-17
眼鏡とAVとSIと
今日は再び、SIと呼ばれるお仕事について、自分の過去の経験を振り返りながら語ってみたいと思います。
今から15年ほど前、私がこの仕事を始めた頃ですが、当時の職場は「○○のことなら××さんに訊け」みたいな得意分野の割り当てが、わりとはっきりしている世界でした。
実際に、先輩社員からはそういう教育を受けていて、当時の新人は、何か一つでもよいから自分の得意分野を見つけて、それに精通する人材になることを奨励されていたように記憶しています。
それと同時に、自分の職場の中で誰がどの分野についてのエキスパートなのかを普段から把握しておいて、必要な時に適切な人材に対してヘルプを求めることができるようになっておく必要があると教えられていました。
イメージとしては、人と仕事が密結合していて、その上で、人と人の間も密結合しているような感じだったと思います。
こういう世界では、人と人のつながりが命綱になってくるので、いわゆる「飲みニケーション」的なことが頻繁に行われていました。
「飲み会の幹事をそつなくこなすことができるようになって初めて一人前だ」なんてことをPMクラスの人間が会議で真顔で発言するような、今考えると、なんとも古き良き時代だったなーとは思います。
しかし、そういう状態にはある問題が存在するということに、職場の人間たちは次第に気づき始めました。
人と仕事が密結合してしまうと、その人がいないとその仕事が進捗しなくなってしまったり、あるいは特定の人だけに作業が集中してしまったりということが起こる可能性があります。
また、人と人が密結合してしまうことで、チームの組み立てがやりにくくなるという問題も起こります。色んな場所から得体のしれない人材をかき集めてきて、彼らに対してチームとして成果物をアウトプットさせるということが難しくなるんですね。
理想的な形は、プロジェクト開始時に、適当な人材を集めてきて、適当に仕事を投げても、納期や品質にバラつきが出ることなく一定の成果物が出てくるようにすることです。
そこで始まったのが、人と仕事、あるいは人と人を疎結合化しようとする取り組みでした。
仕事のインプットに対しては、開発基準を明確にし、開発ツールや利用マニュアルが整備されていきました。
また、仕事のアウトプットに対しては、品質をチェックするツールやガイドラインを充実させていきました。
そうすることで、誰もが同じ開発基準に従い、同じ開発ツールを使用しながら作業を進めていくことになります。
そこから生み出された成果物に対しては、全員が同一のチェックツールを使用して、求められる品質に合致しているかを確認することになります。
結果的に、誰が誰に作業を指示しても、同一の納期と品質で成果物があがってくるという状態を目指していたんでしょうね。
確かに、昔と比べて、チーム内での作業はやりやすくなったように思います。
誰かが誰かに作業依頼する時、相手の経験やスキルなど、内面的な部分について把握していなくても、仕事を渡すことができます。
仕事を受けた方も、指定されたツールやマニュアルを利用して、自分の力で仕事をこなしていくことができます。
ただ、そうした流れについていけなくなる人というのも、一定数存在していて、そういう人達がどうなるのかというと、ギブアップして職場を去ることになります。そして、代わりの人材が間髪入れずに補充されていくのです。
それでも、チームとしては、何の問題もなく成果物をあげていくことができるのです。
人と仕事、あるいは人と人の間のインターフェースをできるだけ統一しておいて、両者の再利用性を高めていこうとすること。
これが、この15年間で、私が体感として変化を感じた一番のポイントだと考えています。
興味深いのは、こういうことって、最近このブログで書いてきた話(眼鏡の話やアダルトビデオの話)と同じことなんじゃないかなと思ってしまう点です。
顧客の価値観は、あくまで「速い、うまい、安い」といった吉野家的なそれに支えられています。
その価値観に引きずられるようにして、プロダクト提供者は、人やモノなど、あらゆる開発リソース間のインターフェースを統一化しようとしてきました。
その努力の行き着く先は…なんともつまらない世の中になっていきそうな気がして仕方がないのは、私だけなのでしょうか。




