hns - 日記自動生成システム - Version 2.19.7

void GraphicWizardsLair( void ); //

otsune GWL
FreeBSD, AfterEffects, RETAS, animo, DigitalAnime, Linux, Mac OS, Win2k

[Who is otsune?] [title] [message] [Policy] [注目エントリー] [top]
Twitter Status :


Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい

検索式:

先月 2006年02月 来月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28


2006年02月21日(火) [長年日記]

#1 [gui][neta] プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例

(1981年というMPUリソースの限られた古い時代の実例による誘導なんで、この日記の論理展開は卑怯だということをあらかじめお断りしておく)
この話題は naoyaのはてなダイアリー - インタフェースの話_ を読んで書きました。
さて。
ビル・アトキンソンという世界でもトップのプログラマが居た。彼は初代MacintoshのQuickDrawというグラフィック描画機能を作ったことで有名だ。
円と楕円を高速に表示するために、連続した奇数を足し算すると「整数を二乗した値」に成ることを利用したりなど、数々の天才的なプログラミングテクニックを駆使していた。(初代Macが使用していた68000MPUには平方根をまっとうに計算するのに必要な浮動小数点機能が無かった。つまり天才による才能と工夫が必要だった)
円と楕円の高速表示に成功したアトキンソンは、それを見たスティーヴ・ジョヴズに「次は角が丸い四角形を描画できるようにしろ」と言われた。しかし、アトキンソンは拒絶した。
「たかが四角形が角丸四角形に成ったからと言って、大差はないだろう。それに角丸は(当時の)プログラミングテクニック的にめんどくさいから、そのコストに見合った成果が有るようには思えない。作るのがめんどくさいんだから必要だとは思えない」というような発想をしたのだと想像する。
結局、アトキンソンはジョヴズに強く説得されてしぶしぶ角丸四角形を実装した。のちに角が丸いウインドウによって、Macが親しみやすいGUIと優れたデザインを持っていると評価されて、ジョヴズの美的な判断が正しいことが証明された。(現代でもCSSで角丸デザインをする方法がTipsとして重宝されていたりするので、デザイン的に角丸四角形の需要が高いことは説明不要だろう)
この話でポイントなのは、優れたプログラマが持つ「プログラミングするためのコスト」という基準によって、一般的なユーザーが持つインターフェースや見た目に対する基準を見誤ってしまうことだろう。
プログラマは「こんなに組むのがめんどくさい要素だから、これは大した差ではない」と思い込んでしまうことってないだろうか?
Perlなどのスクリプトで配列やハッシュで組みやすいから、Webの画面を一次元基準で考えてしまいがちだとか。

1 参考書籍:

1 見つけた関連url:

1 参考Webリンク:

連続した奇数を足し算すると「整数を二乗した値」に成ることを利用する手法についても軽く触れられている。 Folklore.org: Macintosh Stories: Round Rects Are Everywhere!_
Bill's technique used the fact the sum of a sequence of odd numbers is always the next perfect square (For example, 1 + 3 = 4, 1 + 3 + 5 = 9, 1 + 3 + 5 + 7 = 16, etc). So he could figure out when to bump the dependent coordinate value by iterating in a loop until a threshold was exceeded. This allowed QuickDraw to draw ovals very quickly.

コメントを読む(7) [ コメントする ]

Re: プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例 by Tiger    2006/02/22 08:03
FLASH めんどくせー、とか思ってしまうのも、同じところに理由があるのかも。
Re: プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例 by f-shin    2006/02/22 08:17
物事を正規化しすぎて、何も残らないエンジニアっていますね。 そういう人って、発想...
Re: プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例 by hyuki    2006/02/22 09:39
otsuneさんなら、まったく逆の例も作れると見た。
Re: プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例 by     2006/02/22 09:40
「あんたがやりゃいいだろ、スティーヴ・ジョヴズ」的なことはよく言うな。
Re: プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例 by しがないプログラマB    2006/02/22 13:09
おもしろい話だと思いますし教訓として覚えておきます。 ただ、インターフェースうん...
Re: プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例 by 連続した奇数    2006/02/26 20:30
連続した奇数を足し算すると「整数を二乗した値」に成る、という部分の意味が分かりま...
Re: プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例 by otsune    2006/02/27 00:36
http://www.folklore.org/StoryView.py?project=Macintosh&story=Round_Rects_Are...
Permalink: http://www.otsune.com/diary/2006/02/21/1.html#200602211
trackback
このエントリーを含むはてなブックマーク del.icio.us livedoor Clip View blog reactions
Last Updated 2006-02-21 00:00:00 By otsune

この記事へのトラックバック[1]

http://www.business-planet.net/story/2818738/:void GraphicWizardsLair( void ); // プログラマとしてスゴすぎると、その美学によって優れたインターフェース設計者に成りがたい実例
void GraphicWizardsLair( void ); // プログラマとしてスゴすぎると、その美学によっ...