3 monitors won't solve your problems
aimforsimplicity.com
aimforsimplicity.com
The things that do affect me are popups and noises and the nearby phone. But these are all things that still exist on a single-monitor setup.
I'm glad the author has found a solution that works for him, but it's wrong to generalize it as a solution for everyone.
Personally I can detect this easily by trying to watch TV or movies at the same time as I'm working. If it feels good, then I'm naturally focused on the work. If it feels distracting, then it's probably best to eliminate all distractions.
This is the fundamental flaw in virtually all quick-fix lifehack kind of pieces -- they project personal habits and failings generally, and then make broad claims about how to fix their own issues. It is the alcoholic telling you not to keep alcoholic beverages in your house.
I feel absolutely claustrophobic on a laptop with but a single work surface. And it isn't because I need multiple unrelated things fighting for my attention, but instead because I need maximal information for the singular thing I am working on. The flow of using all of the pieces of information is much higher -- for me -- when I don't need to task shift, shroud other pieces of information, and so on.
Docs/requirements/protocol specs on one screen, IDE on the other at the minimum. Realistically I usually like the IDE itself on multiple screens, inspector/project structure/source management on one, text editor on the other. Sometimes I split the text editor across multiple screens.
But that's personal habit. As mentioned I find working on a laptop absolutely crippling, though I have no doubt that there are people for whom it is ideal.
Personally, I got a lot more productive when I went to a triple-monitor setup. I put my code on the middle screen, since it's the most important (emacs, white text on black, some color for syntax, no menu bar, no tool bar, maximized), the program I'm developing on the left (usually but not always a webpage of some type, maximized), and the debugger on the right (tools depend on what I'm working on, of course, but it's maximized). See? No distractions.
When I'm out and don't have all my monitors, each of these things has a window, they're all maximized, and they're all right there at the top of the window list when I alt-tab. No distractions.
Having a separate monitor for each is certainly nicer; alt-tab is generally faster (the computer can swap windows very quickly), but I think the smoother transition of physically looking to the side is less likely to interrupt my train of thought. You know how you sometimes forget what you were doing when you walk into a room? I sometimes feel that way when I alt-tab.
- My workspaces were monolithic. If I changed my workspace, the windows on all my monitors went with it.
- Alt-tab worked globally across all monitors. I wanted it to only list the windows that were on the currently focused monitor.
- Moving windows from one monitor to the next in a predictable way was a chore. (I eventually resolved this with some key bindings, but it was a hack.)
- No window manager I know of afforded me the option of using tiling or (GOOD) stacking layouts on a per-monitor basis. (Some tiling WMs exist that solve the monolithic workspace problem, but they are all tiling.)
My first solution to this was to fork Openbox. It worked well for a while, but it was subject to a lot of state transition bugs and my hack became hard to maintain.
So I wrote my own. In Go. (Including a full X client stack.) https://github.com/BurntSushi/wingo
I love working with three monitors now, because I can freely mix and match the windows on my screen. My workspaces are dynamic (add/remove/rename as I please), so everything is composable. On one monitor, I might have a bunch of terminals in tiling mode. On another, I might have GIMP in stacking mode. Interestingly, in order to achieve this, I had to break compatibility with existing standards (but support as many as possible). As a result, some existing WM tools (particularly pagers and possibly task bars) just can't work well with my WM without explicit support. Perhaps this is why so few of these WMs exist outside the tiling world!
Wingo is actually a tiling WM. But it's also a stacking WM. The difference with other tiling WMs is that its stacking layouts are first class citizens (hopefully as good as Openbox's) rather than hacks to get pesky applications to behave.
As a result, there is very meager support in the FreeDesktop WM standards for multiple monitors that share the same root window. Wingo breaks very few of them, but the ones it breaks (e.g., `_NET_WORKAREA`) are pretty important for pagers. It also breaks an implicit assumption that only one workspace is visible at any point in time.
So pagers and taskbars are like, "Oh. So you have multiple workspaces visible and they don't all have the same geometry?" Whoops. :-)
Email and messages will always interrupt me, whether I have one monitor or three.
Honestly, the internet is boring. Facebook is boring, here is boring, reddit is boring, it is all boring. It is so much more fun to make stuff. But it's a good place to go to when I want to start my day up, shut it down, and reboot my brain when I'm working on something difficult.
The concept of multitasking and single tasking is oversimplified. People define what tasks are and what organized is. If I see mathematical similarity through the 30 or so random topics I switch up and progress through, there is something that is single tasked in there because it unifies all the information selections, and it builds as I progress through each one.
You just put into words something I've been feeling very strongly lately. Well said. Thanks.
I have 4 screens now, soon will upgrade to three 40" 4K TVs. I also have 24 core machine with 192 GB RAM and water cooling.
24" in pivot mode are another option I am considering.
herbstuftwm on archlinux, with everything opening up in their own designated windows - having taken a lot of time to have it just so - is what gives me joy everyday.
[0] Will upgrade to higher resolutions in the next round, but presently this was much more affordable.
Middle for code/editor/terminal, right for browser/debugger/unit tests and left for everything else (email, bug tracker, tickets, netflix).
The separation of concerns is what I really like.
http://i.imgur.com/kxcCh8D.jpg is fairly typical.
I can regularly use multiple screens to perform single tasks: Three screens: one web-browser with the product running, one with browser dev tools open, one with ide/text editor. No distractions, pure coding/debugging.
Or having remote desktops/shells open with tail/ for troubleshooting something in production....or if you're writing/researching etc...
Anyway, the point is there's plenty of single focus tasks that can utilize a multiple monitor desktop for productivity.
Of course, these days with the high-res monitors, you don't really need three anymore, when you can snap two 1200px wide windows next to each other on a single monitor.
It really depends on how much screen space you need to efficiently do one task. Having three monitors myself, I mostly use two of them, sometimes one or sometimes all three, depending on the task. So you can still minify distraction.
And there are definately tasks where three monitors come in handy and save me a lot of window switching / aligning.
And no post is going to make people discipline themselves or focus. Let them manage their productivity the way they do.
I'm thinking of downgrading to an Air or MacBook just to refocus my efforts.
Also, physically, the screen on an Air or many of these new MacBooks is one fourth the size of just one of the three screens on my desktop. I suppose you can get by if you're just doing email or writing, but I'll stick with my full workstation for developing software. Two monitors is an absolute minimum, but the third one is nice for stashing Fiddler or the Chrome dev tool windows in.
I respectfully disagree. I use a 27" external monitor with a MacBook Pro as my keyboard and mouse. I find external mice and keyboards too wide. It's been a while since I used a full sized keyboard but I find they make my right shoulder ache.
Since I can touch type I don't really miss the keypad at all. In fact I remap Caps Lock to Ctrl and use Ctrl-h, Ctrl-m, Ctrl-i (in Colemak) so that I don't have to reach for backspace, return and tab. That saves my right wrist, which seems to be a bit weak.
Then again I spend a lot of time in a tmux window with short cuts to move about, so that might be why it works for me.
[Updates for grammar]
My assertion is still that full sized keyboards and mice aren't necessarily better than laptops with track pads I guess YMMV.
Other thoughts - if you find a full-size keyboard uncomfortable, and prefer a custom keymapping, sounds like you might like the Happy Hacking Keyboard and a mouse of your choice:
https://elitekeyboards.com/products.php?sub=pfu_keyboards,hh...
It isn't cheap, but the compact nature of it allows you to have your mouse hand much closer. CTRL/CAPS swapping is considered also.
A simple tenkeyless (keyboard ends before the tenkey) might be suitable as well.
Of course if you're happy with your setup as is, that's all that matters. As is the common view in this thread, do whatever works for you.
Citrix, remote desktop and VNC combined with the combined imagination of a few IT departments makes one screen very inefficient.
As for why people (not sneak but others) would proclaim that they are running twitter and non-related web sites at work I don't know although I'll admit that I have Whatsapp in a chrome tab and check it once in a while.
Life is full of trade-offs and your macbook is one of them, get one it if you want, but don't pretend it defines you as super effective or low maintenance, only really our output verses cost will define that.
The game monitor is constantly switching between several HDMI inputs, as I'm testing on multiple consoles and my PC. I need to verify my change on all platforms after all. A dedicated HDMI switch was provided when the 3+ inputs on the monitor itself turned out to be insufficient.
I want to debug multiplayer. Figuring out which of the 5+ chrome windows full of documentation tabs I want back afterwards is a needless distraction, but even ignoring that: I don't have enough monitors to dedicate one to each debugger instance and each game instance. The IDEs are already cramped on a single monitor, with tabs of code, watched variables, logs, and breakpoints all divide and subdivide the space. I routinely spill IDE tabs into a second monitor for minor bugfixing, and now they get half a monitor each.
I wish to double check a function signature in the docs. A new chrome instance opens, covering up the already cramped confines of what I'm working on. I glance - no wait, it's been covered up. I alt tab back and forth a few times, and then notice some parameters had their order swapped. I buy a commercial license for Input Director out of pocket to treat my netbook as another monitor suitable for reading docs - I might be high maintenance, but it's no problem if I cover the cost myself, right? Even so, I continue split monitors between multiple IDEs.
I fix the bug in the inlined function. The entire C++ universe must now be rebuilt, because precompiled headers were abused. The overbuilt 6 core monster I inherited from another dev maxes out all it's cores. Fortunately, I already bugged IT into adding an SSD to it. While waiting for that rebuild to complete, I fix a serialization bug I noticed while fixing this bug - unfortunately it's a breaking change. I now have to rebuild 100GB+ of optimized-for-runtime-on-x-platform assets.
A designer complains that everything is crashing. For everyone. It will be at least an hour before everything finishes rebuilding for me. I wish I had another useful computer, that I might be able to investigate the issue (the netbook can't run anything of note.) Eventually, sheepishly, I ask IT about it. Despite my concerns that I'm being unreasonable, they see no issue and are more than happy to provide what is now my 3rd machine.
I buy myself a 4K monitor for work, the cheapest one I can find, again out of pocket because I don't feel I can justify the purchase from a business perspective - but still want one. My computers only have 3 outputs each, but this at least makes side by side IDEs less cramped. For the first time in my life, I choose an IDE font size other than "smallest possible" as monitor DPI stops being the bottleneck.
I no longer have to constantly drag the divider back and forth when doing side-by-side comparisons in P4Diff, which I use for every code review. I realize I can totally justify it.
On my 1366x768 notebook display they do nothing for me, because many tools have tool-bars and stuff.
The lack of a good trackpad makes working with most other window managers a massive pain.
Most of the time I work with 3 windows. Editor, browser and a terminal.
Between the editor and the browser, which are both maximized, I switch with alt+tab and the terminal is a Guake on f1.
I'd be more flexible if everyone were to get one, but management doesn't want the expense. Its just incredible how childish people in an office setting act sometimes. I work in a building with other organizations like my own and have a close relationship with the IT department of one group that has dual monitors for everyone. Sadly, according to their IT guys, the second monitor becomes a dedicated Facebook terminal.
So instead, we standardized on 24" monitors that allow side by side windowing. I feel like that's the best solution for us. Widescreen monitors should be used in this way.
You want to hide distractions like Skype,Outlook and so on.
What I used to do was this:
- One monitor for IM, email and ticketing system on the host machine. IM is left in DND while working, but occasionally there are IMs and emails which do need to be responded to immediately. Having email open also lets me browse through any emails associated with whatever work item I'm looking at.
- Two monitors devoted to a full-screen development VM. These two windows get the IDE, database windows, and the browser.
I was hugely productive like this, and going to two (or worse, one) monitor was a noticeable impact and I would get annoyed at all the alt-tabbing.
To me, having three monitors is analogous to having three stacks of paper on your desk. If you were working on a task that required you to look at three different sheets of paper, you wouldn't stack them on top of each other. You'd lay them out side-by-side. If you couldn't do that, you'd drive yourself crazy.
The 34" + xmonad combo with a asymmetric three column format helps me have two large focus windows and a series of shells off to the side, without having the distraction of slack always being visible. As an added benefit, notifications which used to appear on every screen now only appear way, way at the corner of my vision. For me, at least, this is great because I don't notice them if I'm busy concentrating, but if I'm looking at, say, documentation (my rightmost column), the notifications are prominent enough that I can look down and see what I'm missing in another workspace.
Quoth William Lord, Commander, Air Force Cyberspace Command: "It was a great movie! A few years later, I was an executive officer with the Air Force Space Command stationed at Norad near Cheyenne Mountain. And I'm wondering, 'Gee, where can we get such cool-looking displays?' It was a good forcing function. It required us to all of a sudden say, 'If it really can look like this, why doesn't it?'"
Source: http://archive.wired.com/entertainment/hollywood/magazine/16...
However, as a hobbyist 3D Artist, I would say multiple monitors are a must. When you are modeling you need beauty drawing/different projections side-by-side. You are unwrapping - you need UV window. You are working in Photoshop - you bring all the brush/layer/properties panes to the second monitor, etc, etc.
So this really depends on your task. When your primary UI is a text editor with shortcuts is one case, but if your environment is a mix of an art studio and a Boeing control panel, that's a different situation.
To disprove the statement that 3 monitors cause less productivity, here's a simple policy that always increases productivity (although is rarely optimal): use the extra screen just for one specific app. It leaves more space for other apps on other monitors and you can always have direct access to the separated app. A web browser is a good candidate to be this app.
I always liked the dual monitor setup, it keeps work separate from mail/etc without taking up an undue amount of my physical desk and more importantly, eye space.
Heres an example with Sublime http://i.imgur.com/snoNsUx.png - 72 columns per file, probably 80 if you disable code minimaps, enough for most neatly written code.
I still have an auxiliary monitor on a side for stuff like docs, but all the action happens in front of me.
http://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3D...
So far, OSX is the closest to getting there, but resizing browser windows still results in mangled layouts or "responsive" reduction when perhaps that's not what I want.
Also, Google Hangouts is the worst.
Saying that, I love the amount you can get done when you're 'in the zone'. I just wish I could sustain it..
If you haven't tried the Pomodoro technique, I highly recommend it. It's a great tool to be able to pull out when you're feeling lethargic.
I'm just used to a 15" screen with multiple workspaces.
At home, my iMac has a second screen, but I can take it or leave it. I usually just keep a browser open on that one.
Anything to do with video or 3d graphics and it can help a lot.
I suppose my view on this might be a bit different since the majority of my work is sysadmin/devops, but I do a fair amount of dev work as well, and am far, far less productive without my setup. I pretty much live on the cli so I suppose that might also be a factor. I like having all necessary information out in front of me, just a glance and possibly a keypress away.
At work I have 2 30 inch 1600p monitors stacked in landscape, and 2 24 inch 1080p monitors in portrait on either side:
_________
| |
____| |____
| |_________| |
| | | |
| | | |
|____|_________|____|
The left monitor I have 8 terminals open, middle top is monitoring/graphs/alerts, middle bottom is irssi (slack, irc, gtalk, etc), firefox, and another terminal, right monitor is 4 wide terminals.At home its a bit simpler, 1 39 inch 4k with a 1440 27" in portrait to the left. My setup isn't nearly as static as my work setup, and I change my column/row layout and size depending on what I'm doing.
Any time I get on a computer with a single, small monitor, like a laptop, I find myself barely productive compared to my desktop setups. I tile on my thinkpad and chromebook as well, but it's far more restrictive and mostly in separate tags/workspaces instead of all out in front of me. Although not having a full keyboard probably contributes to that as well. I have keybindings set up in awesome to move/swap/resize the windows and layout and I can get everything perfectly positioned much faster than in a normal window manager. Moving between windows is a matter of Super + hjkl and changing where I'm looking. No messing with alt-tab and trying to find the window I need. I pretty much have keybindings for every operation possible, and rarely move from home row. I honestly don't know how I used to manage to using floating window managers without constant frustration. Awesome has probably been a bigger productivity boost for me than anything else I've done.
Apologies for the rant, but articles and blanket statements like this just rub me the wrong way. "This doesn't work for me/I can't get used to this/I wasn't willing to try the available tools, etc. therefore this is bad and you shouldn't do it" comes off very arrogant and dishonest to me. Not everyone has the same workflow, not everyone focuses the same way, and your way of doing things is not the One True Way.
(I'm a developer but also manage the production deployment of my stuff)
I'll have "enough" screen area once I have a setup that covers my entire field of vision ;)
agreed on "enough" being full field of vision! :)
PROTIP: Windows 10 makes it exceptionally easy for a multimonitor setup due to the new snap behavior.
I can't imagine developing without 3 screens worth of real estate. If I had room for another I'd probably put it to very good use.
[0]: occational problems related to updates [1]: as long as the setup is static and I'm not docking/undocking, connection projectors etc.
I work and travel with Kubuntu and part of my routine is hooking up god-awful monitors, projects and whatnot and for the most part, I don't see a problem with convenience.
I haven't particlularly looked at issues of Window position because I expect it to change from site to site.