- Macintosh向けQuickDrawがまだ LisaGraf と呼ばれていた時期、Bill Atkinsonは高速な円・楕円ルーチンを作り、Steve JobsはそれをUIでより有用な形に拡張することを望んだ
- 当時の 68000プロセッサ には浮動小数点演算がなく、乗算・除算も遅かったため、Billは 加算と減算だけ で円の計算を処理する方式を選んだ
- 楕円のデモは非常に高速だったが、Steveは「角の丸い四角形はどこにでもある」と言い、部屋の内外にある実例を見せてBillを説得した
- 当初は不要で難しいと考えていたBillも、角の丸い標識 を見たあとで実装難易度をあらためて確かめることにした
- 翌日に出てきたデモは通常の四角形に近い速度で動作し、RoundRects はその後Macintosh UIに欠かせないグラフィック要素となった
高速な楕円ルーチンから始まった要求
- Bill Atkinsonは主に自宅で作業していたが、意味のある進展があると、AppleのMacintoshオフィスがあった Texaco Towers へ駆けつけて披露していた
- 今回の訪問の目的は新しく作った oval routines の実演であり、当時QuickDrawはまだ LisaGraf と呼ばれていた
- Billは円と楕円を非常に高速に描画するコードを追加し、Lisaの画面をランダムなサイズの楕円で埋めてみせた
68000の制約と計算方法
- Macintoshで円を高速に描くことは、当時のハードウェア制約のため簡単ではなかった
- 円の計算には通常 平方根 が必要になる
- LisaとMacintoshの 68000プロセッサ は浮動小数点演算をサポートしていなかった
- 68000の乗算と除算も高速ではなかった
- Billは乗算や除算を使わず、加算と減算 だけで処理する方法を使った
- 核心は、奇数列の和が次の完全平方数になるという性質だった
- 例:
1 + 3 = 4
- 例:
1 + 3 + 5 = 9
- 例:
1 + 3 + 5 + 7 = 16
- この性質を利用し、しきい値を超えるまでループを回しながら従属座標の値をいつ増やすかを判断し、QuickDrawは楕円を非常に高速に描けた
Steve Jobsによる丸角四角形の要求
- Billのデモが予想よりはるかに高速に動作すると、Steve Jobsは円や楕円だけでなく 角の丸い四角形 も描けるかと尋ねた
- Billは実装方法がなく、非常に難しいだろうし、実際に必要でもないと答えた
- Steveは「角の丸い四角形はどこにでもある」と言い、部屋の中にある例をすぐに指さした
- 窓の外にも、ほとんどどこを見てももっと多くの例があると付け加えた
現実世界の例が実装を後押しした
- SteveはBillを説得してブロックの周りを少し歩かせ、目につく 角の丸い四角形 を一つずつ指し示した
- 2人が角の丸い駐車禁止標識のそばを通りかかったとき、Billは考えを変えた
- Billは本当に自分が思うほど難しいのか確かめてみると言って、自宅に戻って作業した
RoundRectsがUIの基本要素になった
- Billは翌日の午後にTexaco Towersへ戻り、新しいデモを披露した。角の丸い四角形は美しく、しかも非常に高速に描画された
- 速度は 通常の四角形 を描く速度にほぼ近かった
- BillはこのコードをLisaGrafに追加し、新しい基本グラフィック要素を RoundRects と名付けた
- その後数か月のうちにroundrectsはユーザーインターフェースのさまざまな部分に取り入れられ、やがて欠かせない要素になった
1件のコメント
Hacker News の意見
Windows は 1.0 から 3.11 までボタンに角丸を使っていて、その後 XP のテーマ UI までは角ばった角に変わり、XP でまた少し丸くなり、8 で再び角ばり、11 でまた丸くなった
https://user-images.githubusercontent.com/7389110/64139289-3...
それでも私は今でも鋭い角のほうが好き
Windows 10 もかなりよくできていたが、特に設定を行き来していると、まったく別の UI パラダイムが突然現れて互いに絡み合う世界に入ったような混乱ぶりが問題
不思議なことに、東アジアのホテル、おそらくチベットの影響があった場所に泊まったことがあるのだが、部屋の角がすべて丸かったのを覚えている。単純により良く、快適に感じた。西洋で職人を呼んで部屋のすべての角を丸くしようとするとものすごく高くつくだろうし、石膏でできたとしても 10 年以上持たせるのは難しく、再販価値も上がらなさそう
同時に、角丸か角ばった角かについては本当に少しも気にしていないことも確認できる
開発者は Solarized のようなデザイン用カラーパレットを持てるのに、Microsoft はなぜ自分たちの意志を押しつけ、全員を同じひどい青色に縛りつけるのか分からない。「黄色は警告っぽすぎるし、オレンジは曖昧すぎるし、赤は怒っている感じが強すぎるし、紫は目立ちすぎる。青なら安全だ」といった企業的な会話を誰かがしたに違いないので、その青色が嫌いだ
現代のウィジェットに陰影がないのが嫌だ。モダンに見せたいのは分かるが、ただとても手抜きに感じる
Windows Vista/7 からボタンが急に 2 倍くらい大きくなり、あちこちに余白とパディングが生まれたのも見て取れる。UI が浪費するスペースがますます信じられないほど大きくなっている
この話は何十年も楽しんできたが、今いちばん目を引くのは、Bill Atkinsonが Macintosh を作っていたとき在宅勤務をしていたという事実だ
https://news.ycombinator.com/item?id=19238322
Apple の角丸四角形は、今では**スクワークル(squircle)**ではないのか?
https://medium.com/minimal-notes/rounded-corners-in-the-appl...
関連記事:
Round rectangles are everywhere - https://news.ycombinator.com/item?id=28679496 - 2021年9月、コメント26件
History of Rounded Corners - https://news.ycombinator.com/item?id=7062706 - 2014年1月、コメント1件
Steve Jobs and Rounded Corners - https://news.ycombinator.com/item?id=3096927 - 2011年10月、コメント1件
The story of round rectangles - https://news.ycombinator.com/item?id=1636358 - 2010年8月、コメント77件
Steve Jobs の審美眼がどれほど優れていたか、そして「リベラルアーツとテクノロジー」という表現がどれほど本気だったかは、過小評価されている
それでも、こういう逸話が出てくるたびに改めて驚かされるという点には同意する。世界を動かす数多くのナルシシストの中で、私は彼を最も好意的に記憶すると思う
純粋に美的な理由で追加された角丸四角形の一例が、昔の Mac のデスクトップウィンドウだった。起動中にディスプレイが点灯したときは当然四角形だったが、ソフトウェアが最初に行うことの一つがその角を丸くすることで、他のソフトウェアが全画面に切り替わるまではその状態が維持された
Windows にはそういうものはなく、明らかに「役に立たない」ことだったが、私はそのディテールが好きだった
「その後数カ月のうちに、丸角の長方形はユーザーインターフェイスのさまざまな部分に浸透し、すぐになくてはならないものになった」というくだりは、結局それも他のデザインと同じく流行にすぎなかったことを示している。そこから鋭い角とフラットデザインへ行き、また丸角に戻り、再び角ばった方向へ行き、また戻ってくる
この地獄のような循環が目の前で起きているのが見える。1年ほど前にもChromeの誰かが、大企業でよくあるように「デザインをリフレッシュしよう」という妙案を思いつき、突然タブが丸くなり、ナビゲーションバーの周りに小さな丸角ができた
同心円のようにそろえた丸角は、親子関係もゲシュタルト的に明確に伝えられる
Googleが四角い角を完全に丸くしたときも、マージンとパディングをさらに増やした。質感のあるデザインが再び流行したら、そのときもマージンとパディングはさらに増える気がする
完全な円形ウィンドウを作るMac OS ROMハック: https://web.archive.org/web/20201209143138/https://macgui.co...
ハックなのは、そのコードをFinderに注入する部分である。方法の一つは、フロッピーディスクのデスクトップファイル内にWDEFを保存することだった。そのフロッピーを差し込むだけで、新しいウィンドウ形状に変えられた
Finderはフロッピーのファイル情報を取得するために、そのファイルのリソースフォークを開き、開いたままにしていた。ウィンドウを開くとFinderはResource Managerに「WDEF #0」を要求し、Resource Managerはデスクトップファイルの中からそれ、正確にはそれを装ったWDEFを見つけた。そのOSでトロイの木馬を作るのはそれほど難しくなかった
今、3Dプリント用のモデル設計を学んでいるところだが、丸角は美学と同じくらい必要性の問題でもある。鋭い角を持つ物体は持ちにくく、素材によってはけがをする危険もある。衛生的でもなく、ほこりを掃除するのも難しい
反対に、任意の形状から丸角を生成する数学はややこしく、出力時にはサポート材が必要になることが多く、その後サポート材を取り除き、紙やすりで曲線を整える後処理が必要になる
「いや、それをやる方法はない。実際かなり難しいはずだ」とBillがなぜ言ったのか気になる。彼の楕円最適化を4分の1円に適用するのが、なぜ自明ではなかったのだろうか?
おそらく彼は、丸角長方形を一つの数式でモデル化することを考えていた可能性が高い。 https://news.ycombinator.com/item?id=15073696
それはおそらく不可能だろう。丸角長方形は連続的ではないからだ。しかし4分の1円の断片と直線の断片を別々に処理すればよいので、まったく不要なアプローチでもある
それに、その質問は突然出てきたもので、文字どおりそれまで誰もやったことがないことだった