Multiple-Monitor Productivity: Fact or Fiction?

January 25, 2008 under usability, programming, hci

It seems to be accepted wisdom, especially in programming circles, that more screen real estate makes you more productive. I’ve heard claims that you can increase your productivity by up to 50% just by adding a second display. After four months of using a big-ass LCD for development, I recently switched back to a 14″ laptop screen. And you know what? I don’t feel like I’ve missed a stride. So I decided to take at the facts behind the claim that more screen real estate makes you more productive.

The Claims

Jeff Atwood writes an excellent blog on programming and human factors, and he is an unabashed fan of multiple monitors. In his post Multiple Monitors and Productivity, he writes that using multiple monitors “is really a no-brainer for any developer who values his or her time.” He stresses the fact that it’s not purely about screen real estate — he recommends using two or three smaller displays rather than one huge one. The reason is that with bigger displays, the window management actually gets more complicated. This is what Jeff calls The Large Display Paradox.

Joel Spolsky is another well-known champion of a multiple-monitor setup for programmers. In The Joel Test: 12 Steps to Better Code, he advocates giving your programmers the best tools money can buy. And according to Joel, this means multiple monitors:

Debugging GUI code with a single monitor system is painful if not impossible. If you’re writing GUI code, two monitors will make things much easier.

It’s not just Jeff and Joel. Take a look at the discussion thread on the Slashdot article Multiple Monitors and Productivity, or Ask Metafilter: Where can I find case studies on productivity gains from dual monitors for developers?. Even the New York Times published an article on The Virtues of a Second Screen:

Survey after survey shows that whether you measure your productivity in facts researched, alien spaceships vaporized, or articles written, adding an extra monitor will give your output a considerable boost — 20 percent to 30 percent, according to a survey by Jon Peddie Research.

My Doubts

I definitely agree that for some tasks, it’s really helpful to have some extra screen real estate. If you’re a graphic designer, you probably don’t want to be peering at your poster layout through a 13″ keyhole. But for programmers, how many tasks actually benefit from more screen space? If I need to look at API documentation while I’m coding, I have no problem switching to another window to start writing my code. And on my 14″ widescreen laptop screen, there’s more than enough room to compare two pieces of code side-by-side:

Side by side code

In the end, I think it’s a case of micro-optimization. There are lots of small tasks that can be made slightly more efficient if you have a second monitor. But these tasks are not the real bottlenecks to programmer productivity. If you were a writer, would you expect to increase your productivity if you could avoid changing sheets of paper in your typewriter?

The Evidence

So what about the actual hard evidence? Let’s take a look at the studies that supposedly show this increase in productivity.

An article on the Microsoft Research site entitled Two Screens Are Better Than One claims that researchers “found a tool that can increase your productivity by 9 to 50 percent and make your work day easier.” Since the article didn’t actually cite the studies, I had to do a little digging. I found a paper called Toward Characterizing the Productivity Benefits of Very Large Displays which found a 9% improvement in a series of tasks that involved cutting-and-pasting and scanning a document for information.

Not bad, actually. A 9% improvement in tasks that are highly applicable to programming. But on the other hand, how much time do you actually spend in a typical day doing these kinds of tasks? And how much time do you spend typing, whiteboarding, talking to your co-workers, and just staring into the distance and thinking about a problem? Let’s be generous and assume that you spend a quarter of your day performing tasks like in the study. So by using a bigger display, you might be able to improve your productivity by about 2.5%. Remember, studies have shown more that a rock-star coder can be an order of magnitude more productive than your average joe 1. Do you think these guys are more productive because they can cut and paste faster?

Okay, so we know where they got the 9%. What about the 50%? “Further studies showed even greater increases - at times up to 50 percent for tasks such as cutting and pasting.” Aha, there it is again. Cutting and pasting. Well, if your job includes 7.5 hours a day of cutting and pasting, then maybe you can cut that down to 5. You might make it a bit longer before you stab yourself in the eye due to the mind-numbing boredom.

Another study I’ve seen cited a few times is the The 30 inch Apple Cinema HD display productivity benchmark by Pfeiffer Consulting. This study showed that a 30″ display made users significantly more productive than a 17″ display. But the tasks were mostly designer centric, except for a task that involved manipulating a large spreadsheet, and one of combining several Word documents into another document (cutting and pasting again!).

Conclusion

After looking at the studies, I think it’s fair to say that some tasks can be made significantly faster if you have more screen real estate. On the other hand, I think it’s clear that most programmers are not going to be 50% more productive over the course of a day just by getting a second monitor. The tasks that can be improved are not the bottleneck to programmer productivity.

On the other hand, if you just can’t live without your dual- or triple-monitor setup, fine! I definitely agree that it can be nice sometimes. I personally find it difficult to manage the extra screen real estate, but that’s just me. If you’re a developer and you want a dual-monitor setup, then that should be reason enough for your boss to buy one. As Joel says:

Top notch development teams don’t torture their programmers. Even minor frustrations caused by using underpowered tools add up, making programmers grumpy and unhappy. And a grumpy programmer is an unproductive programmer.

Just don’t think that by adding a second monitor, you’ll start coding circles around the guy on his ThinkPad.


[1]: The fabled “10 fold difference” in programmer productivity is a discussion for another day. If you want to dive in, you could start with Jeff Atwood’s post on Skill Disparities in Programming.


8 Comments »

  1. If you were a writer, would you expect to increase your productivity if you could avoid changing sheets of paper in your typewriter?

    No, unless if you were Jack Kerouac:
    http://en.wikipedia.org/wiki/On_the_Road#Origins

    Comment by Gerry — January 25, 2008 @ 3:05 pm
  2. Haha yeah, that’s exactly what I was thinking of.

    Except, I think it was a little bit more than the single scroll the made Kerouac so productive. I think the amphetamines might have helped a bit. ;-)

    Comment by Patrick — January 25, 2008 @ 3:20 pm
  3. Wow, you’re using a 14″ widescreen laptop? You must have eyes like a hawk.

    But to address your lack of enthusiasm for multiple monitors. Not only is it more efficient it saves a billion units of frustration not having to switch back and forth, look at part of a window, etc.

    My favorite use for the second monitor is for running a second instance of the IDE for another solution I am working on concurrently. An example I’m doing at this exact moment is running a client solution in one monitor and a server solution on the other monitor. It allows me to run the server app on one monitor, watching its output, while stepping through the client code on the other monitor. I can’t tell you how much time that saves me but I can tell you it saves me a great deal of frustration and that is invaluable.

    Oh, and I tried going from two square monitors to one widescreen monitor and it just wasn’t as good. I now use a widescreen and a square at work and at home I use two widescreens and a square one.

    So, it’s not just about raw productivity, it’s also about job satisfaction and just plain comfort.

    Comment by Kaitain — March 20, 2008 @ 9:20 am
  4. @Kaitain:

    Haha, yes, I actually do have eyes like a hawk. The native resolution on my laptop is 1440×900, so that helps.

    In the case you’re talking about, I can definitely see the use of having two monitors. But I don’t often find myself debugging two applications at once.

    I think you hit the nail on the head when you said “it’s not just about raw productivity, it’s also about job satisfaction and just plain comfort.” I agree with you 100%. The intent of my post was to show that it’s misleading to say that your programming productivity will increase by 50% if you get a second monitor.

    So, if you have a multiple-monitor setup and you love it, great. If you don’t have one, but you think it will make you happier, then your employer should buy you one. But is buying a second monitor for everyone on the team going to make you ship the product faster? No.

    Comment by Patrick — March 20, 2008 @ 10:47 am
  5. For me there is a definite productivity boost in increased vertical screen real estate. Mind you I define “real estate” as resolution not inches. I just went from a dual 15″ LCD setup at work to a 17″ CRT along side my laptops 15″ LCD. The benefit… zero because the max resolution on the 17″ CRT is the same as the old 15″ LCD. I find myself all day long in code and having to scroll up and down to see those next few lines above the visible area to look at logical blocks of code at once. Whether I am taking my hands off the keyboard to scroll up with the scroll wheel or paging up and down with the keyboard I am losing a lot of time from changing view, changing back and then refocusing on where I was.

    I know at previous jobs from having 21″ monitors that supported 1600 x 1200 I have not had near the frustration in finding and following code. My max vertical resolution is 768 pixels right now and I would downsize to your one 14″ monitor in a heartbeat to get 900 pixels high!

    Comment by Bill — March 24, 2008 @ 12:46 pm
  6. @Bill:

    You’re right. It’s all about the resolution. And you know, that’s probably why I didn’t see much difference between my 24″ monitor and my 14″ laptop screen. The resolution on the 24″ is 1920×1200, which isn’t really that much bigger than 1440×900.

    But even using both monitors I didn’t really find it made that much of a difference. I felt I spent just as much time moving windows between monitors, and deciding which monitor to put an app on, as I would have spend switching between windows on a smaller screen.

    Comment by Patrick — March 24, 2008 @ 7:37 pm
  7. […] I had heard about studies that supposedly proved that you can be up to 50% more productive by adding a second display. In my post Multiple-Monitor Productivity: Fact or Fiction? I looked at these studies, and concluded that in some isolated tasks — like cutting and pasting, or working with a large spreadsheet — you can see a significant benefit if you add a second monitor. But for most programming tasks, the benefits are going to be minimal (but still there). […]

  8. Just thought I’d share these recent resolution findings with you. I swapped my 17″ monitor for another 17″ that supports 1280×1024 and I have that coupled with my 15″ (1024×768) laptop display.
    The monitor added 33% to the vertical resolution (768 to 1024) but I noticed it felt like a much bigger gain so I decided to count viewable lines in PL/SQL Developer as well as Excel and the gain is much greater.
    Excel:
    At 768 lines gave me 33 lines and with 1024 lines it gives 50 lines (a 51% increase)
    PL/SQL Developer (Using a SQL window and no data results):
    At 768 lines gave me 34 lines and with 1024 lines it gives 51 lines (a 50% increase)
    PL/SQL Developer (Using a SQL window and data results):
    At 768 lines gave me 26 lines and with 1024 lines it gives 44 lines (a 69% increase!)

    I am often in the third scenario so am now seeing a 69% increase in viewable code! Since well formatted SQL is very lengthy vertically this cuts down on a lot of scrolling.

    Comment by Bill — April 4, 2008 @ 12:37 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment