10月半ばごろに、適当に飲みながら?話した事を郡山さんがテープ起こししてくれたので
コピペしてみる。
ただし、ほんのちょっとだけ(暴言とか)編集した。
あと、俺は普段語尾は「である」調ではないんだけど、郡山さんが文字起こしするとそうなる。
—————-
情報世界と物理世界を同じもののように、タコの足のようにくっつけて、ひとつのものとして作る必要がある。そのための考え方であり技術の選び方を考えなければならない。「ウェブのサービス」などのように分けて考えるものではなくて、全てが一つのものである。「ウェブサービスを作りたい」と言うのではなくて、何か作りたいものの中の部品としてウェブサービスがある。
プログラムを書いている時に試行錯誤している。プログラミングは実装ではなくて、プログラムを書くことが設計である。書いてすぐ試して、というスケッチしているような中でデザインをしていく。
Pileusをつくっている時に、いきなり「こういうもの」として頭で描こうとしても、詳細に踏み込めない。作った後の今だったら、こういう傘があってこっちに振ったらこうなって歩くのにあわせて地図が動いて読んで、表示が変わって、撮影したものがアップロードされた時に自動的にタグがついて、などは分かる。
それらは、つくってみるまで具体化してなかった。「flickrの写真が出る」とかまでは言っていて、それがどう出るかとかどういう時に出ないのかとか、そういう条件を叩き出さないといけなかった。しかし、作らないとそれができない。
なぜ作らないとできないか。それは、人間の言葉は表現力に限界があるからである。普通の人間の言葉は、同時に並列にものごとが起こっていることとか、凄く複雑な論理構造(それとこれ、かつ、そうでない、など)を表現することができない。
この2つができないから、最初からPileusの完全な設計図を書くことができない。そのため、簡単にユースケースを書いた段階からどんどん作る必要がある。作ることが設計図を書くことになる。
作らないとインタラクションの詳細が分からない。むしろ、例えば影電話の場合、作ってすぐコンパイルして実機で影の行灯の表示やぼかしをかけたほうがいいなとか、ゆらぎを入れた方がいいなとか、やってみたら無い方がいいなとか、そういうことが分かる。そういったことは絶対に試しながらじゃないと分からない。設計する時には、人間の言語では表現することができない。設計はコンピュータの言語で行う。
Read more