Previous month:
April 2008
Next month:
June 2008

なぜオープン系開発者の間でMacへのシフトが急速に進んでいるのか

Air

 先日のRails Conference 2008に関するレポートでも書いたが、米国のオープン系の開発者の間でのMacへのシフトが急速に進んでいる。たまにWindowsマシンを持っている人がいても、そんな人たちは口を揃えたように「うちの会社は.Netの案件もあるので、Macは買わせてもらえないんですよ」と本当は彼らもMacに切り替えたいことを告白する。

 いろいろな事情・環境がからみあってこうなっているのだが、簡単にまとめると、そもそも、

  • アップル製品に対する昔からある漠然としたあこがれ
  • 90年代にソフトウェア業界の富を独り占めにしたマイクロソフトに対する恨み
  • iPodの成功で一躍元気を取り戻したアップルという企業自身の魅力の上昇

という潜在需要があったところに、

  • 意味もなく重くなっただけのVistaに比べて完成度の高いOS-X
  • Unix系OSをカーネルに持つが故に整った開発環境
  • バーチャルマシンのおかげでWindows/Mac両OS上での各種ブラウザーに関して1台でテストが可能なこと

という現実的な理由が重なり、PHP/Perl/Ruby/Pythonなどでウェブサービスを開発している技術者たちにとっては、趣向・実用の両面から見てMacが最適な開発マシン、という状況になっているのだ。

 それもこれも、NeXT Computerの買収、iPod、iTunes、インテルチップへの切り替え、iPhoneという一連の戦略的な投資が着実に実を結んで来た結果のことであり、これに関してはアップルの経営陣の経営手腕にひたすら敬意を表するしかない。

 こんなブログエントリーをポートランドのスタバで朝食を食べながら書いている私のマシンも、いまやMacBook Air。Windows95の開発チームの一員であった私としては、若干複雑な気持ちではあるが、開発者として自分に最適な環境に勝るものはない。


Rails Conference 2008

5256 私は今日からポートランドで開かれているRails Conferenceに参加。結構面白いのは、参加者に偏りがあること。参加しているTutorialセッションの部屋にいる人をサンプルとして調べたデータがこれ。

男性:女性 = 100:0
ノーネクタイ:ネクタイ = 100:0
Mac:Windows = 80:20
年齢(20代:30代:40代) = 40:50:10


AJAXでコジャレたホームページ作り、その2

 わずか営業日二日という、私としては例外的に短い日本出張の後は、シアトルには帰らずポートランドに直行し、Railsカンファレンスに参加だ。

 時差ぼけの頭でObjective-Cのプログラミングは辛いので、眠気覚ましに「Javascriptでコジャレたホームページ作り」に再挑戦。

 先日のものより改良したのは以下の三つ。

1) サムネールを個別の画像として取得せずに、一つの画像として取り込んで切り刻んで表示
2) ダミーのイメージファイルを使って、テキストのアンダーラインとアニメーション領域の下部を一致させる
3) ianime.jsのベジエ・アニメーション機能を最大限に使って、よりオシャレにする。

 出張中で仮想Windowsを積んでいないMacBookしかないので、Mac版のSafari/Firefox/Operaでしかテストをしていないが、それなりに動いている。それに加えて、1)のおかげでiPhone上のSafariでもちゃんと動くようになったのがうれしい。デモは以下のリンクをクリックすると別ウィンドウで始まる。

 Logo

 ブラウザーのコンパチリビティには気をつけて書いたつもりなので、大抵のブラウザーでは動くはず。ただし、1)によりIE6のキャッシュのバグが回避できたかどうかは未確認。予想される一番の問題点は、あまりにたくさんの画像を同時に動かしているために、遅いマシンではフレームレートが極端におちてしまうこと(iPhoneだと3〜5frame/secになる)。比較的遅めなマシンでのアニメーションのスムーズさなどに関する感想をいただけるとありがたい。

 ちなみに、2)の解決方法のもとになったのは、コメント欄でいただいた「staticを使えば?」というもの(感謝、感謝)。最終的にはstaticは使わなかったのだが、absoluteでアニメーションエリアにオーバーラップさせたDIVの中で、アニメーションエリアと同じ高さの画像(ただし、visibility:hiddenなので非表示)とテキストを並べることにより、ベースラインの位置を任意にコントロールするというもの(例えば、ページの上から120pxの所にベースラインをあわせてテキストを表示したい場合、style="position:abolute;top:0px;0px"のDIVの中にstyle="visibility:hidden;width:1px;height:120px"なダミーの画像と並べてテキストを書けば良い)。思いつくまでは大変だが、実装はとても簡単というまさにコロンブスの卵的な手法だ。


ianime.js でコジャレたホームページ作りにチャレンジ

 少し前にオープンソースとして公開したアニメーションライブラリianime.jsを使って、ちょっとしたアニメーション・エフェクトを持つホームページを作ろうとしているところだが、すべてのブラウザーできちんと表示しようとすると色々と細かな問題点に行きあたる。

 作成中のページへのリンク

 まず、一つ目の問題はIE6.0が持つ「同じURLを指すimgタグをinsertHTMLで複数追加するとキャッシュが働かずに何度もサーバーに取りに行ってしまうというバグ」(詳細)。このバグのために、すべてのimgタグが準備できるまでに余計に時間がかかってしまい、アニメーションが歯抜けになってしまう(ちなみに、IE7でこのバグがなおっているかどうかは未確認。上のリンクをクリックして結果を報告していただけると大変ありがたい)。もし、このバグを回避する方法をご存知の方がいらしたら、ぜひとも教えていただきたい。

 もう一つは、フォントのベースラインのアラインメント。画像とオーバーラップさせた"Life is beautiful"の文字のベースラインと7列目の画像の下のラインをきっちりと会わせたいのだが、画像も文字もposition:absoluteで置いていることもあり、インラインで並べた時のように自動的にベースラインを会わせてくれる訳ではなく、そこの解決方法が分からない。たかがベースラインと言えばそれまでなのだが、一度気になりだすとどうしても気になる性格なのだ。

 「フラッシュで作る」というのも一つの方法ではあるのだが、このくらい軽いアニメーションはJavascriptでするべきだと最近は考えているので試みているしだいである。


ラーメン激戦区とWeb2.0サービスの共通点

529

 久しぶりの日本。渋谷のセンター街を歩いている時に見かけた金伝丸というラーメン屋を試してみたのだが、なかなかの味。バブルの時代には意味のなく高い店がもてはやされたが、ここ数年のB級グルメブームで、東京のラーメン屋はかなり底上げされた。多少不景気な方が適切な競争原理が働いてコストパフォーマンスの高い店が増えるのかも知れない。

 ちなみに、ラーメンを食べながら考えたのだが、高級店でフランス料理とか懐石料理を食べているいわゆる一流グルメの人たちよりも、おいしいラーメン屋を探し求めて東京中を歩き回るB級グルメの人たちの方が実は舌が肥えているのではないか、というのが私の持論。

 私自身がそうだが、ン万円を出してフランス料理とかを食べると、「これだけの値段を出したのだからおいしいに違いない」という気持ちが働き、本当は「これならラーメンの方が良かったな」と思いつつも「やっぱり四つ星レストランはおいしいね」などと見栄をはってしまうのが人間の常。特に有名店や料理評論家の評価が高い店だったりすると、「お前はこの味が分からないのか」と思われたくないのでついつい褒めてしまうもの。まさに「はだかの王様」状態だ。

 それと比べると800円のラーメンでB級グルメをうならせるのは本当に難しい。簡単に食べ比べができてしまうので、まずい店からはあっというまに客が離れて行く。5000円出したフォアグラをおいしくもないのに残さず食べる客はいても、800円が惜しくてまずいスープを最後まで飲みほす客はいない。その意味では、「鉄人シェフ」や「4つ星」などの「看板」に支えられている高級店よりは、はるかに激しい生き残り競争を強いられているわけだ。

 こんなことを書いていると、ITゼネコンになんのためらいもなく数億円の発注をする社会保険庁が、味も分からないのに高級店で散在をする成金に見えて来る。それに対して、Web2.0サービスはそう簡単にはもうけさせてくれないB級グルメ相手のラーメン屋ってことか。やっぱ激戦区なわけだ。


大根の花

4738

 今日の写真は我が家の庭に植えてある大根に咲いた花。根っこが大きくなる前に茎が伸びて花が咲いてしまった状態である。どうしたものかと調べてみると、農家の人たちはこれを「薹(とう)が立ってしまった」と呼ぶらしい。薹とは茎のことを指し、「薹が立つ」とは「野菜として食用に値するものができるまえに茎が伸びて花が咲いてしまった状態」。気温が低すぎた場合などになってしまうらしい。

 適齢期をすぎた女性に対して「薹が立つ」という言葉を使うケースがあるが、もともとは農家の人たちが比喩として「うちの娘もそろそろ薹が立ってきた。(花を咲かせてしまって売り物にならなくなってしまった大根のようになる前に)そろそろ嫁に行ってもらわねば」などと使っていたのが一般化したもののようだ。


ついに1ガロン4ドルを突破

 妻に「最近ブログを更新してないじゃないの」と指摘されてしまった。iPhone向けのアプリの開発で「実際に時間がに余裕がない」というのも事実だが、「一生懸命にプログラムを書いていると、それだけで創作意欲が満たされてしまう」というのもたぶんにある。

 もう少しiPhone向けのアプリについて具体的なことが書ければ良いのだが、少なくともWWDCまでは「ステルスモード」を保つもりなので、そうは行かない。

 そこで、とりあえずは「iPhoneで日常的な出来事を撮影して、それをブログのネタにしてひとこと」という「フォトプログ」のスタイルでしのごうかと思う。

4678

 ということで、今日はその第一弾。乱高下を繰り返しながらも徐々に上昇し、ついに1ガロン4ドルの大台にのせたのに腹を立てて撮影したのがこれ。満タンで57ドル(約6000円)だ。これでも日本よりは安いかも知れないが、数年前までは満タンで十数ドルだったことを考えると何とも。

 ちなみに、今の原油高は需要と供給のバランスが崩れたことにあるが、その中でも大きな役割を果たしているのが(私も含めた)米国の消費者。90年代の原油安と他の先進国よりも大幅に低いガソリン税にあぐらをかいてSUVだのスポーツカーだのを乗り回すライフスタイルにドップリとはまった米国の消費者が、(地方自治体による)公共交通機関への投資よりも渋滞の解消のための道路の拡充を求めた結果、ますます車にたよったライフスタイルが加速されるということが起こったのが90年代の後半から2000年の前半。その勢いで石油を消費し続ける米国に、中国の発展による特需が重なれば、中東不安がなくとも需給のバランスが崩れるのは時間の問題だったのかも知れない。

 あとわずかしか任期の残っていないブッシュ政権は、「どうやってこの原油高をストップするか」という近視眼的な解決策しか探しておらず、「SUV不買運動」だとか「地方自治体は道路への投資を縮小して、その分を公共交通機関への投資にまわすべき」などと言った本質的な議論は一切していないのが大きな問題。まあ、ただでさえ悲惨な状況のデトロイトを抱える米国としては、口が裂けても「SUVをやめてプリウスを」とは言えないのが頭の痛いところ。

 あ、「写真をポストしてひとこと」、と思っていたわりには妙に長くなってしまった。


理想のパワーナップ・チェアを求めて、その2

 先日の「理想のパワーナップ・チェアを求めて...」というエントリーに対して、いくつかのフィードバックをいただいたが、その結果、なかなか良さそうな候補が二つ見つかったので、ここで報告。

 一つ目は、コメント欄で紹介をいただいたHuman touchのPerfect Chair。木のフレームも皮張りのところも私のイメージ通りだが、完全に平らにならないところがいささか疑問。これはNasaが研究の結果たどりついた"zero gravity"と呼ばれる体に最も負担がかからない姿勢らしいが、実際に試してみない限り信用出来ない。

Perfectchair

 「こんな姿勢で寝心地がいいのかな?」と私が悩んでいると、「同じような形のキャンプ用の椅子をREIが売ってるよ」と妻が指摘してくれたのが、Comfort Lounger Chair。革張りではないが、メッシュなので涼しそうだし、139ドルという値段も「ちょっと試してみる」には悪くない値段だ。

Comfortchair

 ということで、とりあえずはREIのComfort Lounger Chairをしばらく試してみて、この"zero gravity"の姿勢での昼寝パワーナップが気に入ればHuman touchのPerfect Chairにアップグレードを考慮する、という作戦に出ることにした。


理想のパワーナップ・チェアを求めて...

 ここの所、朝の4時半ぐらいから起きて朝ご飯前に2〜3時間集中してプログラミングをするのが日課のようになっているが、これを続けていると、昼過ぎぐらいから妙に眠くなって頭の回転が鈍くなる。それを解消するには、パワー・ナップが最高

 ちなみに、パワー・ナップとは「仕事中に堂々とする昼寝」のこと。ニューヨークの金融関係のエグゼクティブが、会議をしながら食べるランチをパワー・ランチと呼んでいるが、そこから「パワー(=仕事をバリバリしている人の)」の部分を取ってきて「ナップ=昼寝」とくっ付けただけだと私は理解している。

 寝すぎても寝足りなくても効果が薄いので、自分なりにベストの長さを探す必要がある。私の場合、30分以上寝ると深い眠りに入りすぎて、逆に「寝疲れ」してしまうので、いろいろと実際に試した結果、たどり着いたのが18分。これくらいだと、眠気だけが取れてすっきりとしてとても良い。

 家で仕事をしている時は、ソファーやベッドで寝てしまえば良いのだが、オフィスに出ている時が少々問題。駐車場の車の中で寝るというのを何度か試みたが、どうも寝心地が悪いので(新しい商品のアイデアですよ→自動車メーカーの人)、やはりオフィスに「パワー・ナップ・チェア」を置くしかないとググってみると出てきたのがこれ。

Powernap

 いかにもニューヨークの投資銀行のエグゼプティブのオフィスに似合うデザインだ。私のオフィスには、こんな大げさなものを置く場所もないし、8000ドル(80万円)は出したくないので、もう少し探してみることにする。本当はビーチ・チェアでも十分なんだが、「それだけは絶対に変よ。やめて!」と妻に却下されてしまった。波の音でもパソコンのスピーカーから流しながら、アイマスクの代わりに麦わら帽子を顔にかぶせて、というのも悪くないと思うんだが...。

Beachchair


UIEジャパン、映像配信サービス「ひかりTV」において、GUIの“ユーザー・エクスペリエンス”を演出

 ここのところ個人的な趣味のiPhoneばかりに気を取られて、あまりUIEの話は書いていないが、久しぶりに良いニュースが舞い込んできたのでここで紹介。

 UIEジャパン、映像配信サービス「ひかりTV」において、GUIの“ユーザー・エクスペリエンス”を演出

 UIEngineというミドルウェアを持ち、思いっきりローレベルな組み込み機器のドライバーのレイヤーから、ウェブ・サービスまで幅広く開発をこなすUIEだが、最終的な目的は「すばらしい技術を作る」ことなんかではなくて「最高のおもてなしをユーザーに提供すること」。その意味では、これからの「ネットでテレビを見る」時代のリーダーシップをとることになるだろうNTTのIPTVサービスのおもてなしの設計を担当するということは、まさにUIEという会社の存在意義を証明するような話で、創設者の私としてはうれしい限り。

 ちなみに、しばらく採用を控えていたUIEジャパンも、今年度から再び積極的に優秀な人材を採用して行くとのことで、我こそはと思う方はぜひとも応募していただきたい(詳細)。

 エンジニアとしての技量はもちろんだが、なんと行っても大切なのは、こんなUIEのビジョンに熱くなれる人。以前このブログで、会社の方向性と自分のやりたいことのベクトルが会ったときに最大の力が出せる、という話を書いたが、まさに欲しいのは「会社の方向性とベクトルが最初からぴったりと一致している人」。特にApple TVを見て「俺ならこれよりずっと良いものを作ってみせるぜ」と豪語してしまうような人は大歓迎。