Sunday, April 12, 2015

Real Estate - Optimizations for Fedora / Linux.

A long time ago, I wrote a post about setting up my move to Linux and some of the tools I was using / learning. Since I wrote that post, I have had a lot of time, to really learn various things about Fedora,and the gnome (window manager).

The most important lesson I feel I have learned in 2 years, is that the tools you choose are important.
Well Duh!
What I mean by this is that, over the last 2 years, I have had to change the way I work. In my job supporting RHEL and JBoss, I had a fairly well defined job role and because of this my tools could be generic or fairly oversimplified.

As I transitioned roles into supporting OpenShift and Cloud Products such as OpenStack, I had to become more mobile -- relying less on my "desktop" setup (with 3 monitors) and more on my "laptop" (with a single 15 inch screen).

In this transition I learned a lot about Screen Real Estate and how the tools you choose to do your day to day work can affect your performance.

In a lot of ways, downsizing to a laptop (solely) can be hard, however it does not have to be a productivity killer.

Gnome 3(the default window manager in Fedora) already has a lot of space saving concepts built in. For example Workspaces allow you to organize your work or tasks on the screen in such a way that you can quickly switch between whatever item needs your focus.

While this is great in my humble opinion it's simply not enough. To give you an idea of what I mean, consider the following:
  1. I need a web browser (often takes a full screen, due to the number of tabs I have open). 
    • I use this for things like reading email, research, ticketing system, etc.
  2. I need a terminal (often takes a full screen, applications stopped following the 80 character rule)
    • I use this for server management, log review, text editing, etc (this list could be a post in and of itself).
  3. I need some way to communicate
    • IRC -- often takes a full screen, simply so I don't lose my mind.
  4. Other tools (that require a full screen):
    • Remote Support Client
    • WireShark  
With this in mind, you can quickly see I generally get to 4 (or more) work spaces quite quickly. The concept works great if your not getting interrupted and don't have a need to switch between them all the time. It's simply just not effective in my opinion.

Back in my move to Linux I highlighted two tools that started my thought process to improve this situation. The tools were TMUX and the Gnome Drop Down Terminal.

With the Gnome Drop Down Terminal I get to remove one of my work spaces (or hide it), so that I can stay on the work space (or whatever work space I happen to be on) and switch directly to a terminal. In short my terminal is only every quick short cut away (not potentially 2+ short cuts away).

With a terminal only ever a shortcut away, a terminal multiplexer like Screen or TMUX make it simple to have multiple terminals within 2 keyboard shortcuts, no matter what I do.

However even with these tools I potentially still have 2+ work spaces, and this is why I say the tools you choose are important. Let's focus on my last required work space (the one I use for IRC). If the tool is generic or fairly oversimplified (like Xchat, or any GUI IRC client), something designed for the masses, you often have to compromise screen real estate.

Now I am not trying to pick on Xchat or GUI clients, however when it comes to thick clients or FAT applications, when your on a laptop or a limited screen real estate environment, these simply slow / hurt productivity.

So the final major change I made was to move from a GUI based IRC client to a terminal based IRC client.
Again because I can get to any terminals with in 2 keyboard shortcuts, no matter what I do, it does not matter how many other optional GUI based applications I have open, because my required items are only every 2 keyboard shortcuts away.

These tools allow me to take full advantage of my limited real estate, while allowing me to expand out (provided I choose the right/most effective tools).
  • Note: From the tools I listed above, I have more or less been able to move to 1 (most of them time) work space, as Wireshark can be replaced by tshark (a command line version of the GUI application), however this has quite a steep learning curve.

No comments:

Post a Comment

Its the little things (like opening a web browser)

Sometimes as your developing a solution/script for a problem your faced with interesting challenges where the dumbest workaround (opening a ...