Inspiration from Bill Atkinson

It surprises many people that I talk to who aren't developers when I mention other developers from the "early" days that really inspire me.  Much like how musicians, artists, writers, actors, etc. today will speak of their predecessors who inspired them.

The story that completely changed my thought process on programming and technology in general was that of "Rounded Rects Are Everywhere!".  Today people just assume that technology is easy to create and Adobe Photoshop, Pixar Animation, and Facebook have always existed.  Alas, the trail blazers before us were truly revolutionary and in my case what inspires me are those rounded rects.

The story goes that back in 1981 Bill Atkinson created the functionality in QuickDraw that would draw ovals and circles very quickly.  I know it doesn't seem glamours with technologies like augmented reality and facial recognition, but back then it was way ahead of it's time. Remember, that most processors in '81 didn't have the ability to process floating point values. So the question becomes if you can't use square roots (resulting in floating point values) how to do the necessary calculations. Multiplication/division…yea I guess you could, but the 68000 processor was still pretty slow at that.  Bill figured out a way to do it with just addition and subtraction.

"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."

As excited as Bill was and demoed this to Steve Jobs, he was posed the question about making rounded rects.  Bill tried to dismiss the idea as a waste of time, but Steve showed him how prevalent rounded rects are in everyday life.  Later that afternoon Bill returned with the solution.  As such rounded rects have since become indispensable.

What I take away from this story and why it inspires me so much is Bill didn't throw his hands up when faced with a programming limitations, but thought outside the box and used a very straightforward solution to solve a seemingly complex problem.  The second aspect that I take away is to be inspired by what is around us and that we use everyday and to incorporate that into application design.