UI Paradigms in Dual Screen Environment

For a few months now I have been working with a dual screen setup. I have built configured up 3-4 screen get ups for several people at the office (usually using VillageTronic VTBook PCIMCIA video cards) and I finally decided to try this sort of thing myself. So I popped the laptop out of the docking station and set it up next to my main monitor as a secondary display. This worked surprisingly well, and I liked it so much that this is my permanent setup.

In case you are interested, it looks like this:

The monitors don’t really line up, but it’s not like I need them to. I’ve been working this way for a while and I finally feel that I can comment on the experience. It is overwhelmingly positive of course. Having a second display to work with is great and any drawbacks are outweighed by the ability to have two documents open side by side in full screen mode. But yes – there are some drawbacks. Or rather little quirks that no one ever notices until they hook up second monitor to their machine. Most of the time I work under KDE so that’s where I notice most of these quirks. I did use Windows in this mode too, but not as extensively.

The truth is this: most of our software is written with one monitor in mind. Let me give you couple of examples – like maximizing windows. When you maximize a window, it fills up the current display which is actually a good thing. It works this way both in KDE and windows. No one wants to span documents across separate displays. Unfortunately, once you maximize a window you cannot move it to another display by dragging it. It gets locked into place. Of course if you are a KDE user you can still drag the window silhouette on your pager – that still works. But most people who get a dual or triple screen setup do not realize you have to un-maximize the window, drag it and then maximize it again.

The very concept of task bar and system tray is geared toward a single display setup. You could always span your task bar across your displays but I found it inconvenient. In most cases your menu, quick launch buttons and most of the open windows end up showing up on your leftmost screen, even if they are open on another display. This is especially inconvenient if you use different sized displays (like mine) and your leftmost screen is not your primary one. So usually you end up with the task bar contained in it’s entirety on your main display.

Once again this is not convenient because if you have more than a few windows open you never really know which task bar entry belongs on which screen. In KDE you can sort of get away from the confusion utilizing virtual desktops. I usually run with 6 and I try not to have more than 2-3 apps per desktop. This works nicely with a dual screen setup but if I need to open more windows it can get confusing.

Most linux distros are really great at managing virtual desktops with neat pagers that let you drag windows between them and see what is open where at a glance. The KDE pager adapts very nicely to this setup and and without it I would be really pissed off. I just wish there was a way to sort the task bar entries with regards to which display are they open on. I almost think each monitor should have it’s own task bar section or something like that.

You know which is the application that gives me most of grief in this setup though? Firefox! I’m a huge Firefox fan, and I love this browser to death. But I became painfully aware that Mozilla developers never really considered multi-desktop, mutli-display environments when designing the browser.

Let me give you a scenario here: let’s say I’m writing some code and I’m googling for a solution or syntax for particular problem. I have 2 displays and multiple virtual desktops. On desktop #1 I have my email on the left display and my Firefox on my right display. On deskotp #2 I have my IDE on the right and nothing on the left display.

I open bunch of search results in background tabs and check them in sequence. I find my solution on one of them. What I would like to do now, would be to “tear off” that tab and send it to the left display of my second virtual desktop so I can have both that tab and IDE up at the same time. Unfortunately this is not possible. The best I can do is to open a new FF window and paste in the URL into it. Which is less intuitive and takes few more actions:

  1. Ctrl+L
  2. Ctrl+C
  3. Ctrl+N
  4. Ctrl+V
  5. Enter
  6. Drag+Drop using KDE pager

Yes, I can do it really quick, but ideally the sequence of actions should look like this:

  1. Drag
  2. Drop

You know which browser does this? Chrome! Google got the tabbed browsing paradigm right and I totally want the ability to tear off tabs in the next release of Firefox.

Long time readers will notice that last year I mercilessly bashed Jeff Arwood for saying the exact same thing. Now I’m forced to humbly eat my own words. Tabs are perfect for single screen setup – but once you start adding new displays into the mix their value diminished as your screen real estate increases.

After using side by side configuration for few months I know exactly what Jeff was saying, and I’m now inclined to agree with him. Then again, I still use them extensively. I tend to have one *main* instance of my browser where I have multiple tabs open at all times. This is where I do most of my web browsing. Then I open pages in new windows and relocate them to other desktops and displays as needed. Which is where another problem creeps in: sessions.

Sessions work perfectly each time when you only have a single window of Firefox open at all times. You close the window and next time you open the browser it will restore your state. This sometimes becomes tricky when you have 2 display and 6 virtual desktops. If you have multiple windows open, then clicking X closes the current window and all it’s tabs – it does nothing for the rest of the windows. Which makes sense. Only that it ruins your session. Let’s say you have 3 windows open – the first one has 4 tabs, the second one has 2 and the third one has a single tab with some silly thing that you opened and forgot about. If you close these windows in a sequence Firefox will only remember the state of the 3rd window. This means you lose all the tabs from the first two.

I’m not saying this doesn’t make sense – it does. This is actually by design. You don’t want unwanted windows to hang around forever. If you want to preserve multiple-window session you need to use the Quit command in the File menu. But I can’t tell you how many times I ruined my sessions this way. You won’t get this unless you rely on browser sessions the way I do. I frequently don’t even bookmark websites – I just leave them open in a tab because I know Firefox will restore them for me no matter what. Even if my machine blows up – if I can get a copy of my Firefox profile onto a new computer, then it will open up with the browser next time I launch it.

Now I’m training myself to always use the Quit command to close the browser but old habits die hard. I never had this issue in a single display setup because I never really saw a reason to have multiple windows of FF open at the same time. Now I do see a reason, and I’m painfully aware of all these little quirks that go with it.

Similarly, I never saw a reason to run VirtualBox in seamless mode. I sort of liked the fact all my Windows apps were contained in a single window. As soon as I got my multiple display thing going, I decided to give it a whirl to see if I could spread them out a bit. No dice. Apparently the seamless mode is irreversibly b0rken and whenever it detects multiple displays, it keels over and dies.

The funny thing is that no one ever even things about these things until they get a second display. Most developers don’t test their software in multi-screen setups because hardly anyone has them. I’m as guilty of this as anyone – for example my PerfMonG monitoring app used to disappear when you moved it to a secondary display and then disconnected it. I never even considered that this could have happened – cause I never really used dual screen setups.

Something tells me that things are going to continue to be this way for a long time. Multi-display environments are still rather uncommon and I don’t see them becoming mainstream anytime soon. Then again, I see more and more places investing in dual-head rigs for their developers which gives me a glimmer of hope here. If programmers work with multiple screens on a daily basis they will be sensitive to the issues that come with such environment.

“Luke, why don’t you use Chrome instead of Firefox then?”

I tried, but there is no Chrome for Linux and the open source port (Chromium) is still very flaky. Whenever I tried to drag it onto the second display it would get confused and jump back to the main one. That’s why.

Also: Firebug. I need it. The lite version just doesn’t cut it.

This entry was posted in technology and tagged . Bookmark the permalink.



13 Responses to UI Paradigms in Dual Screen Environment

  1. You called him Jeff “Artwood” in this post and the previous post of yours that you linked to. I’m not normally picky about spelling errors in blogs but names should probably be done right.

    Reply  |  Quote
  2. I use my small Notebook-Display under my big TFT and thanks to linux and X.org i multiply my workspace via virtual screens times 4.
    this way i can reach nearly every window by pressing a maximum of 2 key-kombinations ([alt]+[f1-f4] for virtual screen and sometimes [alt]+[tab] for other screen).

    Another nice sideeffekt is that i can easily combine multiple windows that belong to each other to be allways shown together.

    Chrome for Linux would be such big of a blessing, but until then i got to use FF3.1Beta for development.
    BTW: if developing under different browsers is anoying, because of the lacking firebug, have a look at Firebug lite! ;-)

    Reply  |  Quote
  3. Nathan UNITED STATES Mozilla Firefox Windows says:

    I have Firefox set to be on all my desktops (right-click title bar, Advanced, special application settings, deskop, force all desktops). That way, the Internet is only an alt+tab away regardless of which workspace I’m in.

    Reply  |  Quote
  4. Matt` UNITED KINGDOM Mozilla Firefox Windows says:

    There’s a Firefox extension, “Duplicate Tab” that would cut the process for tearing off a tab down to.

    1. Right click on the tab
    2. Choose “detach tab” from the Duplicate tab menu
    3. Drag
    4. Drop

    Also lets you duplicate a tab in the same window, or copy it to a new window. I quite often use it when I know I’m about to spawn a lot of new related tabs from one thing I have open, and don’t want them cluttering up my main window. Dupe the parent tab to a new window and open away…

    Reply  |  Quote
  5. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux Terminalist says:

    @Chris Wellons: LOL! Up until now, I was totally convinced that his name was Artwood. I don’t know why. I guess my brain assumed that an “r” should be there for some reason.

    @Dr. Azrael Tod: Yeah, I know about the Lite, but it doesn’t always work the same.

    @Matt`: Heh, there is an extension for everything it seems.

    Reply  |  Quote
  6. I currently use the ‘awesome’ window manager under Linux. And while it is a bit of a pain to configure (the config file is written in a language called lua), it deals with multiple monitors the way I think they should be dealt with. I’m not sure it’ll suit you, as a KDE kind-of-guy but the way it deals with monitors is great :) http://kimag.es/share/91044657.png

    Reply  |  Quote
  7. freelancer SWEDEN Mozilla Firefox Windows Terminalist says:

    I’ve used two monitors with my main computer for well over a year now, and it’s worked very well. Probably because I use no virtual desktops. I can see how that might cause problems. Mainly I just use the second monitor for IRC, but it’s also very handy when developing or writing reports. Sometimes I even feel like I need three monitors. I feel crippled when I have to use one…

    Btw, in Windows Vista you can drag maximized windows between different monitors (Vista 1 – Linux 0? :P). There’s also an application called UltraMon which can, among other things, give you a taskbar for each monitor which only shows the applications on that monitor. It’s not free though.

    Reply  |  Quote
  8. Btw, in Windows Vista you can drag maximized windows between different monitors (Vista 1 – Linux 0? ). There’s also an application called UltraMon which can, among other things, give you a taskbar for each monitor which only shows the applications on that monitor. It’s not free though.

    uhm.. im using gnome and am able to drag maximised windows from one screen to another.. if i move them just to the top they will stay maximised and if i move them lower they become smaller.. pretty usefull.
    So this point is more like a Vista 1 – Linux 1.1 *g*

    Taskbar on multiple Screens is no problem too.. i just have to create another taskbar, since there could be infinite (ok, i never hit it and never will but there probably will be a limit) taskbars with elements which ever you like.

    the only thing i still miss is that gnome doesn’t remember the layout of multiple taskbars if i manually switch between multiple screen-numbers.
    I would need it every day, cause i enable and disable the second monitor on my notebook every day when switching between home and work.
    Its just one drag/drop-operation per day.. but its still annoying.

    Reply  |  Quote
  9. freelancer SWEDEN Mozilla Firefox Windows Terminalist says:

    @Dr. Azrael Tod: I was just going by what Luke said. I have no experience with Linux and multiple monitors myself ;)

    Reply  |  Quote
  10. Ian Clifton UNITED STATES Mozilla Firefox Ubuntu Linux says:

    Yeah, you can move maximized windows across screens in Gnome without a problem. If you drag it relatively close to the top of the other screen, it will snap into place as a maximized window, but you can actually drag it to any point (even staying on one screen).

    The taskbar isn’t an issue for me, but I’ve got two customized taskbars and my screens are directly against each other, so I essentially use them as one huge screen. I did notice that issue in OSX, since you look at the main screen for the menu of a particular app. That can be a bit of a pain though there’s probably a fix or workaround.

    Reply  |  Quote
  11. Luke Maciak UNITED STATES Mozilla Firefox Windows Terminalist says:

    @Samuel Weston: Well, I do like the idea of a tiling window manager… But I tend to feel more at home in traditional KDE.

    @freelancer, @Dr. Azrael Tod and @Ian Clifton: : It is possible in KDE too – via the virtual desktop pager.

    Also, I’m still running Gutsy so I’m like…. Two versions behind on Ubuntu now? I will be 3 versions behind like next week or so. If Gnome has it, the newer version of KDE might already have this feature.

    I really should upgrade it but I sort of just know it will break something important and I will have to spend hours fixing it – in the meantime I need that laptop to work for… Well, work.

    Reply  |  Quote
  12. Mart SINGAPORE Mozilla Firefox Windows Terminalist says:

    My work setup is exactly the same, except that my main is the laptop display while my 19″LCD monitor is secondary. :P

    And I didn’t know ctrl+L jumps to the address bar in FF. Been using alt+D for a long time now, but ctrl+L seems more natural.

    Reply  |  Quote
  13. s BELGIUM Mozilla Firefox Windows says:

    I once tried to use my notebook screen as a second monitor… never managed to figure out how to do it. A standard VGA cable just didn’t seem to do the trick, and Google failed to point me to the solution.

    Reply  |  Quote

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>