Monday, April 11, 2011

Programming tool: The whiteboard marker

All through my programming career I have had a whiteboard, but beyond simply making sure I had one I have never thought much more about it. Recently I picked up a set of whiteboard markers that surprisingly made me more productive.

Back in college me and a friend went to Home Depot and picked up a 4x8 sheet of bathroom melamine for $16. This is like normal whiteboard melamine, only slightly thiner and sold to a different demographic that buys it by the sheet and not by the inch. Cut in half we for a grant total for $8 we each had a very large whiteboard. To go with the cheap whiteboard I would often grab the cheapest set of markers at the store (usually a set of four Expo's) and think nothing more about it.

Last week when looking for some more markers I stumbled across this set of low odor ultra fine whiteboard markers with eraser for a grand total of $8.99.
A number of very interesting selling points that convinced me to buy it. Here is a shot of one of the new markers next to one of the normal fat expo markers.



Over the years I have worked at a number of different companies all around the world, but they all had the same big Expo markers. I have used thin expo markers, but these were usually the cheapest ones bundled with small whiteboard that never worked very well. Between those experiences I never questioned if there was something better out there beyond the fat Expo markers. That is until now and after using these new markers for only a few days I know I can never go back.

The four features that sold me on these markers:

Eraser On the cap is a small eraser so when you make a small mistake you just flip the pen over and erase it. No more hunting for the eraser as it can causes you to take your eyes off of the code and loose your train of thought. The little eraser can also cleanly erase small lines, letters and words while using the big eraser often results in a mess.

Low Oder A small thing sure, but after any long time of thinking and drawing on a whiteboard a headache is the last thing you want.

Grip Another small thing, but having a rubber grip is way more comfortable when writing on a board for more than a few minutes (let alone multiple hours).

Fine tip With a fine tip you can simply fit more "stuff" on the whiteboard. Whether your whiteboard is 8x4 or as many offices have, only 2x3, space really matters. With a chiseled tip you end up writing in a larger font size in order to make it more legible (or is it the same size but bolded?). This results in taking up more vertical and horizontal space.

When standing up and writing on a board there is a vertical zone that a person can write best in. Outside of that zone your arm and wrist and not optimally placed resulting in sloppy handwriting or crouching down.* Using the fine tip I use less vertical space per line and can write more in this legible zone.

I did a test this morning writing out a binary search function using the fat (blue) and thin (blue) markers (click on the image to zoom). I tried to ignore the other side and just wrote whatever was comfortable. For horizontal comparison there is a red mark on the left hand side which shows where the width of the blue function would end. When viewing the image also notice how some of the loops in the e's written with the fat tip become a blob v.s. with the thin tip. Reading code written with the thin tip is just easier.



When talking about programmer tools usually compilers, debuggers and editors are the first things that come to mind. Asking some more you might hear about multiple monitors and chairs, but I have never heard whiteboard markers listed. At $8.99 this is one of the cheapest ways I have improved my productivity in a long time.

*Or mount your whiteboard on tracks so you can raise/lower it.

4 comments:

RBerenguel said...

I also use the whiteboard close to my office for "standing thinking" (I'm a mathematician, doing some programming occasionally, like this fractal). It works awesomely well, as I can have lots of thoughts spread in front of me. I use standard sized markers (they are bought by my department) and have no problems with them... except an issue I had a while ago.

While thinking, I kept striking my hand with the red marker, for something like 10 minutes or so. When I started to write, the point was a lot wetter and brightly red, the letter splashed down like some bad B-movie effect about vampires. Then I peered inside the marker cap, saw it was deep red and shacked it in front of the whiteboard. The result ended up looking like I had killed someone by stamping him against the board :)

Cheers,

Ruben

Kanso said...

Hey Benjamin, I came across your blog as I was browsing the web. I found a bug on your whiteboard :P. Take a look at the binary search code that you have and you'll notice that there's a bug at the line where the midpoint is calculated: m = (l + r)/2. This overflows when the array size is large enough. Funny enough this was the same bug in Java Collections for about 9 years, so I don't blame you :-).

Benjamin Meyer said...

@Kanso. Indeed, probably want something like this:

mid = ( (unsigned int)l + (unsigned int)r ) >> 1;

Sadly because I know binary search is annoyingly difficult to get right the first time I did a quick search in my algorithms book before photographing it to not horribly embarrass myself with a simple mistake. Just goes to show that you should never use a binary search you wrote. :)

Amit said...

It's not only about thin vs thick — black marker is amazingly easier to read than colored markers, especially over a videoconference link.

Popular Posts