Ask HN:How many screens for coding at one's best?

3 points by toto ↗ HN
Hi,

We are doing dev and are used to our 2 screens (2 * 19") but we are planning to buy new ones to improve our comfort.

Our work: 100% coding. No video. No image. Our OS: Windows 7 + VMWare (Linux)

We are unsure about the right move 2 * 24" or 1 * 27"?

What is your screen configuration now (Pros and cons)? By your experience, which screen type is better for reading code?

Thanks a lot for your feedback.

8 comments

[ 4.2 ms ] story [ 27.7 ms ] thread
I find that the physical separation between two monitors helps reinforce the idea of separate workspaces for me. Running two windows side by side in a single workspace has never been comfortable for more than a few seconds.
Good point!

However, for coding, you can display a lot more lines with a 27" than a 2*24" config.

Honestly I think more, smaller, monitors are better than fewer big ones. Given my choice I'd happily take 3 22" monitors or even 2 21" monitors + 1 19" monitor if push came to shove. I can usually see all the code I need in one 21" monitor just fine, but usually need another one for reference of some kind: docs or watching debug output, etc. The 3rd would be for collaboration: chat windows & email. If you can isolate distractions to their own monitor, they're easier to ignore while busy and require less window management and never cover up your real work.

Also in general it's more helpful to talk about monitors in terms of resolution rather than size; it's entirely possible to end up with a 27" monitor that is the same resolution as a 24" monitor, which means it doesn't actually have any more usable space, everything is just bigger, and that isn't very useful unless your devs are visually impaired.

About resolution: 24" - 1920 x 1200, 27" - 2560 x 1440

For me the most important number is the height resolution as I can display more lines.

Having more screens is also a source of distraction. I prefer to focus on a single task and switch to an other if I need to.

I would argue that these problems are less relevant with a good window manager. Mac OS and Linux's GNOME and KDE both natively provide support for virtual desktops, which help reduce clutter and distraction.

Moreover, if you want to truly maximize a large monitor, Linux has tiling window managers which are a boon to productivity. Tiling window managers free you from shuffling windows around with the mouse, instead dynamically resizing windows to fill all available on-screen space using a "tiling" algorithm. I find that they work fantastically on widescreen monitors. See XMonad, AwesomeWM, etc.

On Windows, if you want virtual desktops, there are hacks such as VirtuaWin available: http://virtuawin.sourceforge.net/ .

And don't forget about the Windows "tile windows" buttons, which are crucial for efficiently utilizing a large-format monitor: http://lifehacker.com/287588/tile-windows-with-the-control-k...

To some extent that's true, but even with those solutions I think it's most convenient to manage your windows across multiple monitors. Perhaps I'm biased because I've never much cared for virtual desktops. I just tend to get confused/distracted trying to remember where I put everything, and then the annoyance of needing to see two things that are on different desktops simultaneously...I want to spend less time managing my windows, not more!
Have you experimented with 2 x 24" (1920x1200, not 1920x1080) running in portrait mode?
Either go 2 * 19 + 1 * 27 or 2 * 24. I don't think that 1 * 27 is going to cut it, particularly if you're doing GUI development. I don't feel that the consolidated workspace makes up for the loss in total surface area.

My setup currently consists of:

iPhone dev:

24" + 13" MacBook, Vim, XCode, and iPhone simulator. 17" Linux, using Synergy with the Mac. Browser + shells. Plus stuff like email, etc, because I detest the Mac OS UI (sorry guys).

Android dev:

When I'm doing Android work, I disconnect the MacBook and run 24" + 17". It's is not bad, but 2 * 24" would be even better, particularly when testing large/hi-res devices in the emulator.