1 ポイント 投稿者 GN⁺ 2024-06-25 | 1件のコメント | WhatsAppで共有
  • 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件のコメント

 
GN⁺ 2024-06-25
Hacker News の意見
  • Windows は 1.0 から 3.11 までボタンに角丸を使っていて、その後 XP のテーマ UI までは角ばった角に変わり、XP でまた少し丸くなり、8 で再び角ばり、11 でまた丸くなった
    https://user-images.githubusercontent.com/7389110/64139289-3...
    それでも私は今でも鋭い角のほうが好き

    • この中ではWindows 2000が今でも一番よく見える。フォントのアンチエイリアシングがない点だけを除けば
      Windows 10 もかなりよくできていたが、特に設定を行き来していると、まったく別の UI パラダイムが突然現れて互いに絡み合う世界に入ったような混乱ぶりが問題
    • 鋭い角は危険だ。そういうウィンドウはマウスでうっかり触ると血が出そうな感じがする
      不思議なことに、東アジアのホテル、おそらくチベットの影響があった場所に泊まったことがあるのだが、部屋の角がすべて丸かったのを覚えている。単純により良く、快適に感じた。西洋で職人を呼んで部屋のすべての角を丸くしようとするとものすごく高くつくだろうし、石膏でできたとしても 10 年以上持たせるのは難しく、再販価値も上がらなさそう
    • この画像は、フラット GUIへ移行する中で私たちがどれほど多くを失ったか、そしてボタンにおけるがどれほど重要かをはっきり示している
      同時に、角丸か角ばった角かについては本当に少しも気にしていないことも確認できる
    • 長年の Windows テーマを見るのは興味深い。個人的には、退屈なフラットな RGBCMYK 風カラーパレットより、チタンと鋼鉄の彫刻のように見える UI のほうが好きだ。名前からして Glass で、物性を伝えようという意図があった
      開発者は Solarized のようなデザイン用カラーパレットを持てるのに、Microsoft はなぜ自分たちの意志を押しつけ、全員を同じひどい青色に縛りつけるのか分からない。「黄色は警告っぽすぎるし、オレンジは曖昧すぎるし、赤は怒っている感じが強すぎるし、紫は目立ちすぎる。青なら安全だ」といった企業的な会話を誰かがしたに違いないので、その青色が嫌いだ
    • 本当に良い画像だ。私はXPが一番ましだと思う。灰色ではなく黄色であるという事実だけでも差は大きい
      現代のウィジェットに陰影がないのが嫌だ。モダンに見せたいのは分かるが、ただとても手抜きに感じる
      Windows Vista/7 からボタンが急に 2 倍くらい大きくなり、あちこちに余白とパディングが生まれたのも見て取れる。UI が浪費するスペースがますます信じられないほど大きくなっている
  • この話は何十年も楽しんできたが、今いちばん目を引くのは、Bill Atkinsonが Macintosh を作っていたとき在宅勤務をしていたという事実だ

    • LSD をやるなら、オフィスより家のほうがよくない?
      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 の審美眼がどれほど優れていたか、そして「リベラルアーツとテクノロジー」という表現がどれほど本気だったかは、過小評価されている

    • 重要だという点には同意するが、過小評価されているとは思わない。むしろ非常に高く評価されている
    • むしろ過小評価されている人物はBill Atkinsonかもしれない。最終的にはすべてを後にして去ったことで知られているが、QuickDraw、MacPaint、HyperCard なら、とんでもない 3 連発だ
    • ここで「過小評価」という言葉がぴったりかどうかはよく分からない。彼は事実上、テクノロジー業界史上もっとも偉大なデザインとイノベーションのビジョナリーとして称賛されている
      それでも、こういう逸話が出てくるたびに改めて驚かされるという点には同意する。世界を動かす数多くのナルシシストの中で、私は彼を最も好意的に記憶すると思う
    • 彼のガールフレンドであり子どもの母親だったChrisann Brennanはアーティストだった。その内容は彼女の本にすべて出ている
  • 純粋に美的な理由で追加された角丸四角形の一例が、昔の Mac のデスクトップウィンドウだった。起動中にディスプレイが点灯したときは当然四角形だったが、ソフトウェアが最初に行うことの一つがその角を丸くすることで、他のソフトウェアが全画面に切り替わるまではその状態が維持された
    Windows にはそういうものはなく、明らかに「役に立たない」ことだったが、私はそのディテールが好きだった

  • 「その後数カ月のうちに、丸角の長方形はユーザーインターフェイスのさまざまな部分に浸透し、すぐになくてはならないものになった」というくだりは、結局それも他のデザインと同じく流行にすぎなかったことを示している。そこから鋭い角とフラットデザインへ行き、また丸角に戻り、再び角ばった方向へ行き、また戻ってくる
    この地獄のような循環が目の前で起きているのが見える。1年ほど前にもChromeの誰かが、大企業でよくあるように「デザインをリフレッシュしよう」という妙案を思いつき、突然タブが丸くなり、ナビゲーションバーの周りに小さな丸角ができた

    • 丸角は実際にはアクセシビリティの面でかなり重要な要素であり、デザインにおける強力なゲシュタルトの仕掛けでもある。丸角長方形の境界半径は、要素の境界と内外を一目で区別できるようにしてくれる
      同心円のようにそろえた丸角は、親子関係もゲシュタルト的に明確に伝えられる
    • 現代のWebデザインで変わらないものは、増え続けるマージンとパディングだけのように思える。それ以外はすべて循環している
      Googleが四角い角を完全に丸くしたときも、マージンとパディングをさらに増やした。質感のあるデザインが再び流行したら、そのときもマージンとパディングはさらに増える気がする
  • 完全な円形ウィンドウを作るMac OS ROMハック: https://web.archive.org/web/20201209143138/https://macgui.co...

    • ここでの「ハック」は丸いウィンドウを描く部分ではない。それはOSのAPIで新しいウィンドウ形状を作るだけのことだ
      ハックなのは、そのコードを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円の断片と直線の断片を別々に処理すればよいので、まったく不要なアプローチでもある
    • Andyが書いたように、Billは非常に印象的なデモをしていたし、Steveがそれをきちんと評価しないことに少し気を悪くしていたのかもしれない
      それに、その質問は突然出てきたもので、文字どおりそれまで誰もやったことがないことだった
    • 完全に有能な人たちがJobsの周囲でこのように振る舞っていたことを見ると、彼がなぜああいう人物になったのかを理解する助けになる
    • 最も一般的なケースでは、おそらくそれすら必要なかったはずだ。角を丸くするマスクをハードコードして保存していた可能性が高く、その方がずっと速かったはずだ