2008年2月16日土曜日

ASP.NET MVCのソースコードを公開

オライリー社のブログより。
Listen: 顧客の言うことに耳を傾ける.
Understand: 顧客の言うことを理解しようと努める.
Respond: 顧客の言うことがもっともだったらちゃんと検討する.
Repeat: 顧客の言うことに耳を傾け、理解し、応答することを続けていく.

LLUR原則に従う: まずい例

PM : FooBar プロジェクト : アクの帝国

「弊社のバグ入り製品のせいで貴プロジェクトにご迷惑をおかけして大変申し訳ございません。 これを修正することになった時にはサービスパックを提供させていただきますが、その場合におきましてもいつになるかはお約束いたしかねます。 ていうかどうすりゃいいってのよ。うちのリソースだって【限られて】るってのに!」

顧客 : BarBaz プロジェクト : 俺たちスタートアップ企業、アクじゃないよ(今のところは)

「ソースをくれるなら俺たちで直せるかもしれないんだけど」

PM : FooBar プロジェクト : アクの帝国

「ぶわっはっはっはーー!!!ちょ、マジかよ!!うひゃうひゃ、ひー苦しい!!死ぬるー!!:D :D :D」

LLUR原則に従う: 良いすばらしい

ASP.NET MVC Framework Road-Map Update - ScottGu's Blog

次のプレビュー版と同時に、ASP.NET MVC FrameworkのソースコードをVSでビルドできるプロジェクトソリューションの形でダウンロードできるようにしようと思う。これでASP.NET MVC Frameworkのソースコードを簡単に確認できるし、デバッグもできるようになる。 開発しているアプリでバグを見つけたときにASP.NET MVC Frameworkのソースコードにパッチを当てられるライセンスも一緒につけるつもりだ。

そのライセンスではASP.NET MVCにパッチを当てて再配布することはできない(ASP.NET MVCの互換性のないバージョンが複数出回って衝突しあうのを避けたいんだ)。でも今すぐASP.NET MVCのアプリケーションを作ろうと思っている開発者には進展だろう――それに、回避できない内部的なバグに邪魔されることを心配しなくてもよくなる。

2008年2月15日金曜日

デブサミ2日目とプログラミングモデル

波村さんセッションについて書きたい。あとで書く。
以下備忘録。

  • 技術用語の日本語対訳がときどきわからない波村さん。「モータイ(multi)……」と言いかけて、「複数スレッド」と言いなおしてた。

  • 非手続き型言語 http://ja.wikipedia.org/wiki/%E9%9D%9E%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%E8%A8%80%E8%AA%9E

  • テストコードにはWhat, ソースコードにはHow, そして,ドキュメントにはWhyを書くんだよ! http://d.hatena.ne.jp/babie/20060611/p2

  • 唇には火の酒、背中に人生を。ごめん、冗談。

  • LINQとかDSLとか図解型とか

  • 確かに意図は読みやすくなるけど、内部動作がブラックボックスになっちゃうと嫌だよね。

  • 折り合いの行方は。

  • ついでに初日最後の言語セッションの話も書くか?なぜLINQなのかとか、list comprehensionにしなかったわけは、とか、そんな話してたな。(追記)TKMRblogにログがあがってます。感謝!

アジャイル・プラクティスのPOP

木下さんのブログに写真が上がってます。


unquoteを書かないのはtumblr式ですね。

Joel On Developers Summit 2008

dankogaiがひげぽんの日記だけを読んで適当に書き散らしている。セッション聴いてたけどあんなニュアンスじゃなかったと思う。 気になったのでメモから再構成してみよう。 (追記)まさにこれが言いたかったこと。 (追記2)これだけ細かいレポートが出てきたならもう書くこともないかも…… (追記3)ますますのログを参考に、細かい部分を追記。

朝一番だったが、比較的小さい会場が大入り満員。大会場でも良かったのでは?

Joel登場。

一日中セッションを聞いてるだけだと退屈だろうから【ヴィクトリア・ベッカムの写真をどーん】。僕は性差別主義者じゃないからね【デイヴィッド・ベッカムの半裸写真もどーん】。

ベッカムがLAギャラクシーに移籍したわけだけど、まあすごい人気だ。でもそこまで騒がれるほどの選手か?たとえばLAギャラクシーにはドノヴァンというとてもいい選手がいる(注:W杯アメリカ代表)が、そこまでの人気は無いし、契約金だってずっと安い。ベッカムは年俸600万ドル、ドノヴァンはユニフォームを気軽に破けるぐらい。

Googleで試す。ベッカムは800万件Hit、ドノヴァンは80万件hit。これはつまり、ベッカムがiPodだとしたら【iPodの写真】、ドノヴァンはZuneだ【Zuneの写真】ってこと。iPodはBlue Chip(一級品)で、ZuneはOff Brand(二級品)。この差はどこからくるんだ?

Blue ChipOff Brand
iPodZune
David BeckhamLandon Donovan
Victoria BeckhamMelanie Brown
Hey JudeLove Is Blue

ポッシュ・スパイスもいまやベッカム夫人だ。 (注:スパイスガールズ時代はヴィクトリアよりメルBの方が人気があった)

ポールモーリアの恋は水色【曲を流す】が2位だったときの1位がHey Judeだ【曲を流す】。

Blue Chipになるための方程式を考えたんだ。

  • Make People Happy (人を幸せにする)
  • Think About Emotions (感情を考慮)
  • Obsess Over Aesthetics (美学にこだわる)

そんなに長く考えて出した理論じゃないので深く考えないで欲しい。順番に説明しよう。

Make People Happy

たとえば、会社に向かう最中にかわいい猫を見かけて写真を撮ったとする【猫の写真】。ああ、もちろん犬でもいい【犬の写真】。猫アレルギーの人はね。会社に行く前にはスタバでコーヒーを買っていく。Venti(注:グランデより大きい)、通称おもらしサイズ。で、会社のデスクに座り、PCにファイルをコピーしようとしたとする。ここからはPowerPoint上でシミュレートしてみよう。ログイン:失敗。また失敗。あ、CAPSLOCKがかかってた。ログイン成功。さーてUSBでつなごうか…の前に、WindowsXP自動更新のバルーン。みんな自動インストールなんて絶対選ばないよね。カスタムインストール。なるほどね、MS**-**の脆弱性か。Webで確認したけど、何かわかんないけど危険なんだろう。全部インストール。ダウンロード中……コネクションが切れちゃった。再度ダウンロード。インストール中……100%になったはずのバーがふたたび0%に。インストーラの開発者は100%の意味を勘違いしているね。設定中……レジストリ更新中……ああ終わった。再起動しろ?はいはいしょうがないね。リブートして、USBをつなぐ。ん?ドライバがないからWindows CDをセットしろ?こういうのをプラグ&プレイっていうんだね。WindowsのCDなんて手元に無いよ。情報システム部まで行ってCDを借りてくる。NG。ビジネスエディションじゃなくてプロフェッショナルエディションじゃないとだめみたいだ。情報システム部はMSDNサブスクリプションからファイルをダウンロードして、CDに焼いてくれた。これでOK。さてCDトレイをオープン……うわ、コーヒーこぼした!あちち!拭かなきゃ!どたばたしてUSBケーブルを引っこ抜くと、Windowsに怒られる。おいテメエ、俺の許可なしにUSBケーブルを抜くんじゃねえ、このとんま!

……もちろんこの通りのメッセージが出るわけじゃないけどね。つまり、デジカメの写真をコピーしたいだけなのに、PCの管理者として振舞わなければならないんだ。

Onionというジョークサイトにあったんだが、「このコンピュータは絶対私のことを嫌いなんだ!」という記事。もちろんPCにしてみれば「ああ、俺はお前が嫌いだよこのビッチ!」だね。

学習性無力感 (Learned Helplessness)という言葉がある。うまくいかないことが続くと、楽しくなくなるし、嫌いになるし、鬱になる。幸せな気分には、ものごとを自分でコントロールできているという体験が必要なんだ。

たとえばアバクロのECサイト。かっこいい写真。アバクロの服を着ると彼女ができるというメッセージだね。この購入プロセスは一般的なものだ。ウィザード。番号どおりに進む。カート、配送先、精算、完了。ところがamazonはそうではない。すべてが表示されていて、そのどこでも好きな順序で変更できる。これがコントロール可能ということだ。

コントロールしたときはフィードバックが無いといけない。アバクロの別の例を見てみよう。男性用下着。色を選ぶと、(JavaScriptで)瞬時に画像が切り替わる。このフィードバックにどのぐらいの時間がかかっている?ゼロ秒だ。フィードバックのためには1秒でも遅い。ゼロ秒であるべきだ。

Think About Emotions

感情を無視できない。

SUVは事故が多いんだ。重心が高いと転倒しやすい。トヨタのカムリ(注:詳細忘れた)とフォードのエクスプローラー(注:詳細忘れたがSUV)を比べてみると、事故件数が倍ぐらいある。データに現れているし、ユーザーも知っている。これをなんとかしなきゃと、フォードはコンサルタントを雇ってアドバイスをもらった。彼の答えは「丸くしろ、ドリンクホルダーをつけろ、高くしろ」というもの。

高くしたら安全じゃなくなるだろうとツッコみたいが、彼の答えはこうだ。深層心理的にどう感じるかが問題なんだ。小さいころ、安全ってどういうことだった?親の胸に抱かれて、いつも温かい飲み物があって……そういう感じを演出しないといけない。だから、丸くし、ドリンクホルダーをつけるんだ。高くすることは一見矛盾に感じるかもしれない。ユーザーも、高い車は危険だというデータは知っているのだが、深層心理的には高いところにいて、周りを見下ろせる状態の方が安全と感じるようだ。したがって座席を高くする方がいい。

というわけで、Windows2000のデザインは角ばっていたが【画像】、WindowsXPのスタイルは丸みを帯びたものになった【画像】のは、「Secure By Design」(設計時のセキュリティ確保)ってやつなんだろうね(笑)

Obsess Over Aesthetics

ぼくはSamsungのBlackJackを使っている。これは99ドルで、フルキーボードだし、ネットワークも高速(HSDPA 7.2Mbps)だし、バッテリーも交換できる。一方、iPhoneを見てみる。399ドル。キーボードはない。指紋がベタベタついてしまう(笑)。ネットワークは遅い(EDGE 0.7Mbps)。画像を表示させるシミュレーションをしてみようか。BlackJackならこのようにサクっと。iPhoneはじわじわじわじわ……あ、止まってしまったね(笑)。アプリケーションだって、BlackJackはなんでもインストールできるけど、iPhoneは無理。それにバッテリーが交換できない。バッテリーが交換できるってのはどういうことか。BlackJackの背面はこのとおり【写真】、継ぎ目がある。iPhoneはご承知の通り、まったく継ぎ目がない【写真】。これがアップルの美学なんだね。

建築にたとえようか。これがパリのアパルトマン【写真】。で、同時代に立てられたアメリカのアパートはこちら【写真】。何が違うか分かる?そう、非常階段だ。アメリカの建築にはあるけど、フランスの方にはない。これじゃ火事の時に逃げられないね。でも焼け死んでいくときにも「ああ、美しいものに囲まれている……」と思えるんだ(笑)。それがフランス人の美学なのかもしれない。だから僕は思うんだけど、スティーブ・ジョブズはフランス人なんじゃないかって【ジョブズの写真にベレー帽をかぶせるアニメーション】。

物事にはスキンとはらわたが存在する【氷山の写真】。スキンは氷山のてっぺんで、はらわたは見えない部分。技術者ははらわたの方が大事だから頑張って実装する。

とある顧客にやったプレゼンで、グラフの部分はこんな感じ【Excelのデフォルトっぽいグラフ】だったんだけど、顧客は納得しなかった。再度プレゼンをするときには、グラフを少し変えた【グラデーションつき、フォントも変えた】ら、「すばらしい」と受け入れてもらえた。技術者にしてみればそんなのは違わないって思うけど、そうじゃないんだね。

ただ建築の方には「モダン・アーキテクチャ」という動きもある。さっきみたいな装飾をなくした建築だ。これがその例【写真。装飾の全くない壁、窓は四角い枠だけ、幾何学的、ミニマリズム】。屋根は傾斜もなくってまっ平ら。でもこれだと大雪が降ったときに屋根がつぶれてしまうんだね。これじゃ困るんで、傾斜は一方向だけならオッケーってことになった【写真】(笑)。

これをソフトウェアでやろうとするとどうなるか。機能重視で装飾が一切ない。そう、CLIだ【Unixのターミナルの画像】(笑)。でもこれは人々にはあまり受け入れられない。人々に受け入れられるのはこんなユーザーインターフェース【Mac OSの画像】。これは装飾ばかりだね。何でボタンがつやつやしてる必要がある?(笑)ここの影には何の意味が?(笑)でもソフトウェアではこういうものが好まれるわけで、建築の世界のような域には行ってない。ソフトウェアの世界では、装飾はまだまだ飽きられていないんだ(笑)。

最後にちょっとまとめよう。今日はこの言葉だけを覚えて帰って欲しい。Misattribution(誤帰属)という心理学用語だ。自分の生理反応や感情の原因を、本来のものとは違うところにあると認識してしまうこと。たとえばデートに行くとき。バーに行くのはまずい選択だ。お酒を飲むとリラックスしすぎてしまうからね。正しいのはコーヒーを飲むこと。カフェインを摂取するとドキドキ心拍数が上がってくる。あーなんかドキドキするなー。目の前に男性がいるし、私、恋に落ちたのかも!(笑)

他には映画。映画を見る前にコーラをがぶ飲みする。映画中におしっこしたくなるんだけど、両隣を大きな体型の関取みたいな人にはさまれていて行けない。すると、まあ映画が長く感じる。「早く終われ早く終われ」ってなって、終わった後に「映画はどうだった?」って聞けば「いや無駄に長くってひどかったね」ってなる。でもトイレに行っておいて、カフェインの影響だけがあるときに映画を見れば、終わった後に「映画はどうだった?」って聞けば「興奮した!すごい映画だね!」ってなる。これも誤帰属。

だから、ソフトウェアの印象をよくしようと思えば、装飾とかユーザーインターフェースを馬鹿にしてはいけない。すごく大事なことだよ。

というわけで、退屈なプレゼンでも、美しい写真を見せて【再びヴィクトリアの写真】、いい音楽を流せば【再びHey Jude】、「あーすてきな発表だったな」ってなるよね。以上です。ご清聴ありがとうございました(拍手)

2008年2月14日木曜日

JoelのBEST SOFTWARE WRITING買ったよ(あるいはデブサミ1日目)

Joelのセッションも聴いてきた。あとで書く。

とりあえず、たぶん誰も書かないだろうことを書いておこう。


本を買ってサインをもらおうと思ったが、財布に現金が入ってなかった。カードで買おうとしたら「5000円以上のお買い物のみとなります」とつれないお答え。この時点でサインはあきらめた。

でもあとから本は買った。短いエッセイ集。まだ読み途中。



BEST SOFTWARE WRITING



BEST SOFTWARE WRITING



  • 作者: Joel Spolsky, 青木靖

  • 出版社/メーカー: 翔泳社

  • 発売日: 2008/02/21

  • メディア: 単行本(ソフトカバー)



2008年2月10日日曜日

俺たちフィギュアスケーター

movie
渋谷で観てきた!
これはバカだ!くだらない!最高!
スケート会場で乱闘騒ぎをやらかしたせいで男子シングルから永久追放を受けてしまったジミー・マケルロイとチャズ・マイケル・マイケルズ。犬猿の仲の二人だがもう一度リンクに戻るためにペアを組んで……
高度な笑いとかは一切無くて、とにかくバカ。とことんバカ。
これはぜひ観ておくべきと思いました。
日本語公式サイトはこちら。
サントラはUK版が安いよ。US版は2000円以上するのに、UK版は1000円ちょい。

2008年2月9日土曜日

ラムダ式の「=>」はどう発音する?

How do you pronounce => ?

おれなら「束縛」ぐらいかなあ。「バインド」でもいいけど変数とかの名前と間違えそうだし、「イコール大なり」だと間違いはないだろうけどラムダ式を書いてるという意識が弱くなりそうだし。
元エントリの
IEnumerable<Person> results = people.Where(p => p.LastName == "Liberty");

なら、「アイイニュメラブルのパーソン型 リザルツ イコール ピープル ドット ウェア かっこ ピー 束縛 ピー ドット ラストネーム イコールイコール 文字列で頭が大文字のリバティ かっことじる」かなあ。
うーん、特にルールを設けていないので適当だ。

2008年2月8日金曜日

デブサミ2008のセッションにはてなスターをつけよう

来週Developers Summit 2008が開催されますね。
どのセッションに期待しますか?
(カテゴリーは私の独断でアレンジしました)

Special



Ruby



Java



.NET



JavaScript



XML



RIA



FileMaker



DB



サービス



アジャイル



ITアーキテクト



SI



アカデミア


2008年2月6日水曜日

Lang.NET

ちょっと遅くなったがLang.NETのまとめ。
どういうセッションだったかは後でフォローするとして、とりあえずこの面子の濃さといったら。
1/28
1/29
1/30