
The story of round rectangles - aycangulez
http://folklore.org/StoryView.py?story=Round_Rects_Are_Everywhere.txt
======
siglesias
Actually, this is a fine lesson in persuasion, something that Chip and Dan
Heath point out in Switch and Made to Stick; that is, reasoning that is highly
concrete and visual is far more convincing and impactful than appeal to
models, forecasts, spreadsheets, and schematics. I think Jobs here could have
simply demanded rounded rectangles or appealed to some vague need for
geometric completeness in the product, but imagine how powerful it must have
been to take a walk outside and actually see how reality presented rounded
rectangles at every turn, and how truly crippling the program would feel with
this observation in mind if it didn't ship with the feature. The lesson is to
reach beyond the world of formal logic and into the visceral world of sight
and touch, where the real "aha" and gut judgments reside.

Here's another example, cited in the design and creation of the Palm Pilot:

"Jeff Hawkins, the team leader, wanted the Palm Pilot to be simple. It would
handle only four things: calendars, contacts, memos, and task lists, but it
would do them well. Hawkins fought feature creep by carrying around a wooden
block the size of the Palm. Hawkins would pull out the wooden block to "take
notes" during a meeting or "check his calendar" in the hallway. When someone
would suggest another feature, Hawkins would pull out the wooden block and ask
them where it would fit. Hawkins knew that the core idea of his project needed
to be elegance and simplicity. In sharing this core idea, Hawkins and his team
used what was, in essence, a visual proverb. The block of wood became a visual
reminder to do a few things and do them well."

taken from
[http://www.gsb.stanford.edu/news/bmag/sbsm0702/feature_ideas...](http://www.gsb.stanford.edu/news/bmag/sbsm0702/feature_ideas.html)

~~~
10ren
You're right; but I think uprooting the persuasion from its source kills it.
Steve didn't use that technique because it was persuasive; he used it because
that's what he saw. After that calligraph class that connected so deeply, I
bet he became aware of curved corners everywhere; and hated that computers
rendered everything squarely... so when he saw fast curves, he grabbed it by
the neck. When questioned, he probably spluttered "b-b-but look! all around
you! can't you _see_?!" It's not a persuasion technique; but simply sharing
the reality he saw.

Uproot it from reality and use it in isolation, and it has no life in it to
persuade. Therefore: improve at seeing, not persuading.

(He'd have been more savvy at persuasion techniques if he'd complimented the
poor guy first.)

~~~
joubert
"Steve didn't use that technique because it was persuasive; he used it because
that's what he saw."

You can see a lot by just looking.

~~~
mkramlich
Nice. Talk about a Yogi Bera-ism!

------
Luc
If you would like to do some archaeology, the QuickDraw source code can be
downloaded here: <http://www.computerhistory.org/highlights/macpaint/>

It's really nicely structured and has lots of comments!

EDIT: The code is in the BumpOval procedure in DrawArc.a

~~~
paulitex
I don't know what I was expecting (C I guess), but upon opening the project it
blew me away that it was written entirely in assembly by hand.

~~~
wrs
The original Mac had a 64K ROM. It's unbelievable what they packed in there.
They used a lot of tricks to do it that are only possible in assembly.

------
netdog
The "clever way to do the circle calculation that only used addition and
subtraction", which the article attributes to Apple employee Bill Atkinson in
1981, is in fact a variant of the Bresenham algorithm, devised in 1962 by Jack
Bresenham at IBM, when Bill was still a kid.

see <http://en.wikipedia.org/wiki/Bresenham_algorithm>

~~~
jcl
Hmm... The Wikipedia article for the circle-drawing algorithm indicates that
while it uses the same error-accumulation strategy as Bresenham's line-drawing
algorithm, it was not actually invented by Bresenham.

<http://en.wikipedia.org/wiki/Midpoint_circle_algorithm>

I'm not sure how correct this is, as I don't have access to the full text of
the papers involved. But it looks like if Bresenham _did_ write the algorithm
(and wasn't beaten to it by, say, Pitteway as Wikipedia implies), it wasn't
until his 1977 paper, "A linear algorithm for incremental digital display of
digital arcs".

------
msie
Bill Atkinson is a programming god. He was such a pioneer in so many areas. He
created QuickDraw, MacPaint and Hypercard! Is there nothing he can't do??? I
wonder what his background was when he developed Quickdraw. Did he have any
previous graphics experience? How much previous experience could you have when
you're the one who created the graphic routines powering the Lisa/Mac?

~~~
philwelch
"How many man-years did it take to write QuickDraw?", the Byte magazine
reporter asked Steve.

Steve turned to look at Bill. "Bill, how long did you spend writing
Quickdraw?"

"Well, I worked on it on and off for four years", Bill replied.

Steve paused for a beat and then turned back to the Byte reporter. "Twenty-
four man-years. We invested twenty-four man-years in QuickDraw."

Obviously, Steve figured that one Atkinson year equaled six man years, which
may have been a modest estimate.

<http://folklore.org/StoryView.py?story=Mythical_Man_Year.txt>

~~~
mkramlich
But did Bill get 6 men's worth of pay? If the answer is no let that be a
lesson to all super-talented/productive hackers out there whether you should
strike it out on your man or work for The Man.

------
alex_c
Amusingly, I'm looking around the room, and the most obvious examples of
rounded rectangles are my MacBook, my iPad, and my iPhone.

~~~
mryall
If you look a bit further, I'm sure you'll see more. I see chairs, tables, a
television, a remote control -- all with rounded corners. So many rounded
rectangles, yet I never noticed before I read this article. It's funny how a
story like this can change how you look at the world.

~~~
DaemonXI
Like my Zippo!

------
powrtoch
For anyone else whose jaw dropped at "the sum of a sequence of odd numbers is
always the next perfect square", Wikipedia has a helpful visualization:

<http://en.wikipedia.org/wiki/Square_number#Properties>

~~~
jacobolus
> _anyone else whose jaw dropped_

Wait, really? You never worked out in school (or on your own before it ever
came up in school) that

    
    
      1 + 2 + 3 + ... + n = n * (n + 1) / 2
    

and likewise that

    
    
      2 + 4 + 6 + ... + 2n = n * (n + 1)
    

and

    
    
      1 + 3 + 5 + ... + (2n - 1) = n * n
    

? (of course, it also comes up geometrically if you start looking at the
number of little squares in a big square, and count the next row)

~~~
barrkel
It always struck me as obvious; with a square of n*n, just add n + n (for the
two sides) + 1 (for the corner) and you get the next square. 2n+1 progresses
1, 3, 5 etc., plain as day.

What got me thinking about it (at perhaps 11 or 13 or so) was trying to turn
it into a way of calculating the square root.

------
ck2
Sounds like a typical coder's week:

1\. accomplish something pretty darn tricky to try to impress the boss/client

2\. boss is only impressed for a split second before giving you a harder to
accomplish task

~~~
blahedo
Obligatory: <http://www.xkcd.com/664/>

------
Semiapies
An unsatisfying story. The first half of the story is about an algorithm to
produce ovals. Then most of the rest is Steve Jobs convincing the guy that
rounded rectangles are desirable. Then, without any narrative about this
actual central problem (which the guy had no idea how to do when the
conversation with Jobs ends), we're told that he just happened to solve it.

EDIT: I find the bouncing up and down of votes for this interesting,
particularly the reasons people give for disagreeing.

~~~
joblessjunkie
I especially don't buy the idea that Bill Atkinson, after demonstrating fast
ellipses, would then claim that rounded rects would be "really hard." Indeed,
the enhancement would be trivial.

~~~
pavlov
I think that Atkinson probably thought that roundrects would be a useless
addition that would bloat the library. (Remember, the entire Mac OS and
applications needed to fit in 128K!)

It's easier to dismiss something as "entirely too hard" than to get into an
argument about whether it's worth implementing.

------
jonknee
Everytime I get linked to a Folklore article I end up hitting next until I
look up at the clock and get amazed at how much time has gone by. True hacker
stories.

~~~
bombs
It's also available in book form as _Revolution in the Valley: The Insanely
Great Story of How the Mac Was Made_. It's always better to step away from the
computer for a quick, inspirational read!

~~~
jonknee
I own it. I still lag on Folklore.

------
robrenaud
Are rounded rectangles actually hard? Isn't it just a matter of placing 4
quarter circles in the right places? If you can draw straight lines and you
can draw ovals (and hence, the special case of circles), then you can draw
rounded rects, right?

~~~
jonknee
Almost everything is hard when you have 128KB of memory and a CPU that does
only 8 MHz. Not to mention having to write in assembly.

~~~
Natsu
Yeah, it's far easier on a CAD machine these days. I added that shape to our
AutoLisp function library years ago and it only took me a few minutes,
including testing.

~~~
Natsu
It's weird. We haven't sold any of those in months. Today, I had two orders
for rounded rectangles at work.

I'm 99.99% sure it's coincidence and confirmation bias, but some part of me
wonders if this story played any part. But, if anyone in the southwest bought
a window or glass table in that shape today, I might have played a part in
doing the CAD.

------
SkyMarshal
HN Feature Request: A cron job that automatically submits and votes to the top
of the front page 1 folklore.org story per week (or two weeks?).

Reason: Most of us that have been around a while have read this entire site,
more than once usually, but most of the stories there are good enough to keep
getting upvoted for any youngsters that haven't discovered it yet. Eg, it's
one of the few links that can keep getting reposted over and over, and revoted
to the front page over and over, probably till the end of the Internets. So
lets just make it a cron job already.

------
mkramlich
Once again we see Steve's intensity and vision and single-mindedness.

Bill: Who cares?

Steve: Round rectangles.

Bill: Not important.

Steve: Round rectangles.

Bill: They're impossible.

Steve: Round rectangles.

Bill: Okay I'll try to figure out how to do them.

Steve: Okay now send in that Andy guy about that Switcher thing. And bring my
checkbook.

------
steamer25
We call 'em roundtangles.

