Good API Design

Leave a comment

Hard to find good concrete examples of design trade-offs. But here is on a colleague of my recently pointed out in a code review.

Method takes a bool

func switchToChatTab(hasActivationFailed: Bool)

and then does something interesting. But if the thing that is changing is a struct or something else, pass that in instead.

func switchToChatTab(with entryPoint: EntryPoint)

Now this function is open for extension but close for modification. Even better if the struct captures the Bool you were passing around before.




I love this picture of the bull by Picasso.


It shows how much you can strip away, while still capturing the essence of what you are trying to represent.

Apple uses this picture within it’s internal training program. In there they use this, and other examples, to try to communicate the essence of what Apple does, and what it as a company stands for.

Google may come up with a remote requiring 78 buttons. At Apple we feel you can do it in three.

This design philosophy manifests itself in so many other ways. Writing, software, art. What can be taken away. What must be left.

Probably my favourite quote about writing:

I would have written a shorter letter but I didn’t have the time. – Mark Twain

Happy designing!

Learning to draw – practice sketches

Leave a comment

After working through Betty Edward’s book, watching a lot of YouTube videos, and trying to draw at least x1 thing per day, I thought I would share some sketches of how things are going.

Here are some of my most recent creations.



I am a big Pixar fan, so I just had to try drawing some of my favorite characters. The hard thing with characters for me is hair and eyes. Get the eyes wrong and it all falls to pieces. Hands are hard too.


Same thing here. Basic structure for Mr. Fredrickson is his body. It’s blocky which helps.


Couldn’t find the original drawing I based this off of but it was good practice.


Perhaps the drawing I am most proud of – Goofy. I got most things here pretty right. You can see where I messed up the chin, and didn’t have the heart to erase and start over again. I do those while the family and I are watching playoff hockey so time is of the essence.


I take that back. This is probably my favorite picture. Here I was so proud at getting the basic structure right (sketch on the left) that I learned that if I put the time into getting the proportions of the picture right, the rest becomes a lot easier. Then it just becomes a matter of filling in the blanks and details (which can still be hard!).


I am a big fan of fantasy art. So I after watching a few videos on bone and structure, I wanted to draw replicating some of my favorite pictures from this book:


I started of course with one of my favorite fantasy pictures of all time:


Larry Elmore is one of my favorite fantasy artists and this picture is a classic. It’s gorgeous. Here I was just trying to get the basic poses down of the main characters.

Here is another, where I wanted to try and get the structure points right on the wizard Raistlin.


If you look close, you can see the skeleton points I used on the left to define the basic structure and orientation of the warrior. This is critical in help you get stance right.


This one I really like. It just felt good to get the basic pose down.


Here you can see I took a run at doing the face, but faces are hard. I lack the skill to do those. But again, here I am just practice getting the body and orientation down. Faces, eyes, and hair are going to take a lot of practice.

Still life

Only tried one of these so far. This was perhaps the hardest thing I have tried to draw to date.


There is a lot going on in this picture. You got the bridge, the water, the shadows, the building on the left, trees and foliage are particularly hard.

But the cool thing about drawing pictures like this is you pick up details that you many never have seen before (like a second bridge hidden on in the distance in the background).

Anyways. Those are a few of the drawings I have to playing with. Stay tuned. I will update this page with more insights and improvements as they come.

Happy drawing!

Links that help

How Artists Give Depth – Perceiving Relationships

Leave a comment

Look at this drawing. There is a lot going on.


Notice how horizontal edges that fall on the horizon are flat?
Also notice how any horizontal edges above the horizon converge down?
And how horizontal edges below the horizon converge up?

“Art is a lie that makes us realize the truth.” – Pablo Picasso, 1923

“Point of view is worth 80 points of IQ.” – Alan Kay, Computer Scientist

These concepts are part of the perspective paradox. We know alls sides of a square have equal length sides, yet if we want to draw one with perspective, that ‘rule’ needs to be broken.

Art has concepts that helps artists deal with perspective. One of them is vanishing points.

Vanishing Points

The vanishing point is that level on the horizon the artists eventually sees all lines of perspective converging. It’s that classic road fading off into the horizon.

When we do this a couple of things happen.

  1. Horizontal edges that are below the horizon converge up.
  2. Horizontal edge below converge down.
  3. And those on the horizon are flat.

Get this wrong in your drawing and things are going to look weird. So it’s a maxim artists use to maintain perspective.

Here’s a building I happen to be sitting inside.


Can you see the vanishing point? Here is me trying to capture it.


If an artist were doing this for real, they would be way more careful than I am (I just eyeballed it). But you can see it. It’s there in every picture with depth.

The trick is identifying the vanishing points in your drawings, respecting them, and then drawing everything else in a way that respects them.

Easier said than done. Here is me trying to fill in some detail.


It’s OK (in that I picked a vanishing point). But you can see how bad it looks if you get the horizontal edges wrong.


Here’s a beautiful drawing (with lots of challenging perspective lines) by Alex Eben Meyer.


Anyways, as a software programmer learning to draw, what I take away from all this is there are rules of thumb, design patterns, and maxims in art, just like there are in software and anything else.

I enjoy learning about these because it helps me see the world differently, in ways I couldn’t before.

Vanishing lines are neat. You need to respect them, else your drawing will come out all funny and the human eye will reject.

More drawing posts:
How Artists Draw the Hard Parts – Negative Spaces
Modified Contour Drawing Exercise
Drawing on the right side of the brain
Three exercises to get you going
Vases and faces
Drawing upside down
Use contour drawing to see things differently

Betty’s excellent book Drawing on the Right Side of the Brain.

Modified Contour Drawing Exercise


Building on the previous contour drawing exercise, this one brings things all together nicely by getting you to draw your hand as you see it.

Betty has a setup where you actually place your hand behind a clear background and then draw the hand as you see it, on the 2D plane.


The magic here is it forces you to focus on what you see, instead of drawing what you know.

I didn’t have a clear plane to draw through, so I scrunched my hand and draw what saw in front of me. The results were impressive.


The is perhaps the best real life drawing of anything I have ever done (a testament to Betty’s book and technique). One tip: close one eye when doing this exercise. It helps make your hand be viewed as a plane (not 3D) and easier to draw.


What’s fascinating about this exercise is as you are drawing your hand, you can literal feel the tug of war between the two sides of your brain.

When you see something you know (like a finger or a ring) your L-Mode brain (left) kicks in and instantly wants you to draw a finger or a ring like it knows how (a simple circle). But the right (or what we are trying to engage) fights this be instead saying

Don’t draw a finger. Focus instead on the lines you see (and the finger will emerge).

This to me is the secret of drawing.

Drawing what you see, instead of of what you know.

Easier said than done! But Betty’s book and my attempts at these exercises prove anyone can do it. So can you.

More drawing posts:

Drawing on the right side of the brain
Three exercises to get you going
Vases and faces
Drawing upside down
Use contour drawing to see things differently

Betty’s excellent book Drawing on the Right Side of the Brain.

Art History – Why the picture plan method works for realistic drawings

Realistic drawing is producing a 3D image on a 2D surface. Prehistoric cave artists drew 2D images on walls of caves, but it wasn’t until Greeks and Romans worked out ways of drawing 3D forms that realistic art revived.

The skill was lost again during the dark ages and it wasn’t until the early 15th century Renaissance in Italy, that artists like Filippo Brunelleshi worked out a way to portray linear perspective, and Leon Batista Alberti discovered that he could draw in perspective the cityscape beyond his window by drawing directly on a glass plane.

Van Gogh used this technique in the 19th century to construct his own “perspective device” as he called it, when he was laboriously teaching himself how to draw. Eventually, after much practice, he could draw using an imaginary plane and was able to discard the 30 lb wood and iron one he carried around.

Drawing on the Right Side of the Brain



I have always wanted to learn how to draw. So it was with great excitement that the best book I could find on drawing arrived yesterday – Drawing on the Right Side of the Brain by Betty Edwards.

I won’t go into why this book is so good (I have only read the first two chapters) but already this early in I know I am in good hands as this book was first published in 1979, is now on it’s fourth edition, and has stood the test of time.

First, it’s helpful to understand this general distinction between left and right brain.


The left brain (our dominate one) is used every day for most things. Language, analytic thought. Important stuff like that.

But it’s the right side of the brain that is used for drawing. And engaging it is not as easy as it sounds.

Fortunately, Betty has several exercises to help us get our right brains engaged and aid us in our drawing.

The Vase/Faces exercise is designed to acquaint students with the possibility of conflict between the hemispheres as they compete for the task. The exercise is setup to strongly activate the verbal hemisphere (L-mode), but completion of the exercise requires the abilities of the visual hemisphere (R-mode). The resulting mental conflict is perceptible and instructive for students.

The Upside-Down Drawing exercise (I remember an art teacher showing me this one in junior high) is rejected by the left hemisphere because it is too difficult to name parts of an image when it is upside down, and, in left-brain terms, an inverted image is too unusual – that is useless – to bother with. This rejection enables the right hemisphere to hump into the task (for which it is well suited) without competition from the left hemisphere.

The Perception of Edges exercise (seeing complex edges) forces slowness and extreme perception of tiny, inconsequential (in left brain terms) details, where every details becomes a fractual-like whole, with details within details. The left hemisphere quickly becomes “fed up” because it is “too slow for words” and drops out, enabling the right hemisphere to take up the task.

The Perception of Spaces exercise is rejected by the left hemisphere because it will not deal with “nothing”, that is, negative spaces that aren’t objects and can’t be named. In it’s view, spaces are not important enough to bother with. The right hemisphere, with its recognition of the whole (shapes and spaces), is then free to pick up the task and seems to take antic delight in drawing negative spaces.

The Perception of Relationships (perspective and proportion in building and interiors) forces the left hemisphere to confront paradox and ambiguity, which it dislikes and rejects (“this is not how I know things to be”), and which are abundant in perspective drawing, with its angular and proportional spatial changes. Because the right hemisphere is willing to acknowledge perceptual reality, it accepts and will draw what it sees (“it is what it is”).

The Perception of Lights and Shadows presents shapes that are infinitely complex, variable, unnamable, and not useful in terms of language. The left hemisphere refuses the task, which the complexity-loving right hemisphere then picks up, delighting, in the three dimensionality that lights and shadows reveal.

The Perception of Gestalt occurs during and at the close of a drawing. The main effect is a right-hemisphere aha, as though in recognition of the whole that emerges from careful perception and recoding of the parts, all in relationship to each other and the whole. This initial perception of the gestalt occurs largely without verbal input or response from the left hemisphere, but later the left brain may put into words a response that expresses the right brains aha.

This, then is the essence of Drawing on the Right Side of the Brain: five basic component perceptual skills of drawing, and an overall strategy to enable your brain to bring to bear the brain most appropriate for drawing.

I am so looking forward to studying this book. Stay tuned for more insights into the world of drawing and any other creative hacks I come across for drawing.

Atlantis Exhibit Kennedy Space Center

Leave a comment


Last week I had the pleasure of visiting the Kennedy Space Center in Florida. One exhibit in particular that was most inspiring was the newly created Atlantis exhibit. Here are some pictures, words, and teachings that I want to share with you to try and convey the wonder and excitement of what it must have been like to work on this amazing space program.

It was like bolting a butterfly to a bullet


It’s easy to forget what how sensitive and challenging the design problems NASA engineers and designers face.

2.5 Millions Parts

Take the shear numbers of parts – 2.5 Million, each and everyone itemized and documented.

Materials that didn’t exist

Or the fact that many of the materials they needed to send a ship into space, and then return it safely, didn’t even exist.

Extreme Temperatures

The liquid fuel for Atlantis required chilling at -253c. Contrast that with the temperature inside the Atlantis engine 3316c and you get a sense of the awesome forces at play when fuel meets engine.


The three main engines generated over 37 Million Horsepower. Giddy up!

No turning back

Once lit, there was no going back. The solid rocket boosters burned a stunning 9 tons of fuel every second, getting the rocket from 0 to 4828 km/h in two minutes flat.


Atlantis spun off a lot of cool tech that we use today. The ‘chill pill’ is a thermometer firefighters can swallow to monitor their inside core temperatures.

Another was the pattern matching software developed for the Hubble telescope which can now identify and track whale sharks spots as they swim through the ocean.



As I kid I loved making paper airplanes, testing out designs, and flying them to see which worked better. The exhibit made me feel good, and showed me that by playing, I was practicing for designing future space ships!

The Right Stuff

And if you are looking for some leverage to keep your kids interested in science and technology, here are the credentials astronauts needed if they wanted to apply for the Apollo space program.

  • Age 35 or under
  • Height less than 6 feet
  • Weight less than 190 lbs
  • A college degree in science or engineering
  • U.S. citizenship
  • Excellent physical and mental condition

Meet real life astronauts


While in the gift shop, John E Blaha was signing autographs. While signing he said something interesting (paraphasing): “The Apollo program was all about getting test pilots into space. That’s what early astronauts were – test pilots. What changed with the shuttle missions was getting scientists into space. Through experiments, equipment, and Hubble, it was about unlocking the mysteries of space, and enabling scientists to do research in space.”

I found that insightful. It helped me understand the goals of both programs, and how much NASA had matured in it’s planning and exploration.

Mysteries of the universe


If you are still with me here, this is perhaps the most mind blowing concept that I intellectually understand, but still have a hard time accepting.

With telescopes like Hubble we can literally look back in time. We can literally see, and look at events that happened, 100s, 1000s, millions, and even billions of years ago by pointing deeper into outer space and interpreting what we see.


It takes the light from these events that long to reach us. Billions of years. This is why Hubble was such a big deal. It let’s you look back in time and see what things looked like at the start of the Universe.

It’s an amazing concept, that I feel very few of us appreciate, but literally blows my mind, which is why I find physics so fascinating.

Visit the Kennedy Space Center Atlantis exhibit


If you are Florida, and are looking to get your kids (or yourself) inspired, I highly recommend visiting the Kennedy Space Center.

It’s a trip of a life time, it will make you appreciate how far we have come, and anticipate how much further we can all go in the future.

More pics













I like, I wish, I wonder

Leave a comment


This morning while listening to the Stanford ECorner Podcast, I heard of an alternative form of retrospective taught at Stanford’s Institute of Design.

Instead of getting together at the end of a sprint and asking:

  • what are we doing well
  • what could we be doing better

The gets together at the end of the day, sits in a circle, and everyone gets a chance to say anything on their mind. The only requirement is the sentence must start with:

  • I like …
  • I wish …
  • I wonder …

This seems like a nice, open, gently way to let people vent, congratulate, speculate, and release whatever is on their mind.

Stanford School of Design (dschool) positions this as more of a feedback tool for getting feedback on designs, but I think it’s super useful and could be applied in just about any context.

Check out this one pager to learn more about how it’s used in design.

How to move a file into a folder in SharePoint

1 Comment

No you are not crazy. Microsoft has made this functionality non-trivial enough that it is unfortunately worthy of a blog post. This is for me and the next time I forget how to do this.

Go to your SharePoint sight and click ‘SharedDocuments’


Then ‘Library’


That that little explorer folder icon with a computer


A explore window should pop up allowing you to drag and drag files into directories.
You may also want to get a coffee at this point because dragging a single file takes about 10 years to complete so make sure you have lots of time.

Young at Heart: How to Be an Innovator for Life – Tom Kelley (IDEO)


Just finished listening to this excellent podcast on what it takes to stay innovative and fresh, in a world that is so easy to become status quo and complacent.

In it Tom share 5 ways you can stay innovative as you gain experience and age:

1. Think like a traveler.

You know when you travel or go to another county how you notice things that you wouldn’t normally see back home?

That can be very useful for finding opportunities back home. Look at your home, and your current working environment with fresh eyes – those of a traveler. You will see and discover things you were blind to before.

“I don’t know who discovered water but I can guarantee you it wasn’t a fish”.

2. Treat life as an experiment.

By willing to fail a little bit. Fail forward. Fail for learning. For knowledge. Edison of course is the greatest example of this is discovering the light bulb. But only by trying and failing can we discover and learn our way to better things.

3. Nurture an attitude of wisdom.

This one is about being OK with when you know, but don’t believe everything you know is necessarily so.

Tom shares this great example of how Best Buy spent $1Billion dollars buying a record company called MusicLand in 2000. MusicLand has 1300 stores and Best Buy thought this would really increase their distribution – after all they knew their market.

What they didn’t see was Napster. 18-30 years stopped paying for music. And guess who works at Best Buy? 18-30 year olds. Their own employees could have told them this was a bad idea – but a billion dollars later it was too late and MusicLand went bankrupt.

Don’t assume you have all the answers.

4. Use your whole brain.

Left brain right brain stuff.

5. Follow your passions.

Blur the line between work and play.

Tom talks about two buckets he can drop most of his friends into. Those who look forward to the work week, and those who dread it, or at best are working for the weekend.

Be the former. Change if you are becoming the later.

In here Tom also alludes to the three circle analogy Jim Collins gave us in Good to great which is:

1. Find out what you like.
2. Find out what you can be world class at.
3. Discover what people will pay you money for.

And do whatever it is where those three things intersect. This is probably my favorite piece of advice and one I try to live by.

This post doesn’t do the podcast justice. If you are sincerely looking for ways to improve your creativity I suggest downloading or listening to the full hour in the car, when you are jogging, or biking. Well worth it.

Older Entries

%d bloggers like this: