How to Increase Efficiency in Using Mac, Linux, Windows

By Xah Lee. Date: . Last updated: .

I'm a operation efficiency nerd. When operating a computer, you have to switch apps, click links/checkbox/buttons, invoke menus, open/close window or tab, adjust volume, change songs, switch input focus, switch fields, input/edit text, or perform pointer oriented input such as in a image editing software. (here, we are excluding other forms of input such as voice) In general, all these are inputs, done by using input systems, a combination of software and hardware. Typically, the hardware is just keyboard and mouse (or touchpad or trackball). The software part is the interfaces used in the OS and various apps.

Operation efficiency means you are able to achieve a input task with the least number of units of physical exertion, basically means less keystrokes, less mouse travel, and most importantly, less brain work to carry the task out. (brain work, such as the need to eyeball a process, is actually the most costy. (For example, using the mouse to pull a menu is much more energy and hand-eye coordination than say pressing a button on keyboard.))

Case Study: Open a URL in Browser

As a concrete example, let's say you have a URL in a text editor. Say you want to view that URL in a browser. There are many ways to do that. One way, is to use mouse to select the URL, right click to select the copy menu, switch or launch a browser (many ways to do this), put focus on the URL field, then right click to paste it, then hit Enter to load the URL. This method, is rather most typical. Here's the detail of each step.

Selecting Text and Copy

A much more efficient method for copying text, is to simply hold the Ctrl, then press the c key, then release the Ctrl key. With this method, you don't have the visual/muscle coordination task of aiming the mouse pointer, which is required 2 times with the mouse method. Also, you do not have the visual selection process of choosing a menu, which requires you to scan the menu texts. Copying a text by Ctrl+c is purely a mechanical process, involves basically just a single step, and for those touch-typists, it's in muscle memory.

A even more efficient method that eliminate the “Selecting Text” step, is that in some editors such as Microsoft Visual Studio, you can press Ctrl+c, and if there is no text selection, the whole line will be copied. So, it saves you the operation of select the line first.

Open a Web Browser Window

Now, here's several ways to open a web browser window.

app keys2
App launch buttons.

Of the above methods, the Web/Home keyboard button press is the most efficient. This button is available in many of today's keyboards since about early 2000. For example Microsoft Natural Ergonomic 4000. Or, you could've setup one of your function keys to launch/switch browser.

[see AutoHotkey Tutorial]

The second most efficient method above is launching by Quick Launch. Clicking a button on a button bar, and is more efficient than going thru menu.

Visit a URL in browser

Now, let's see methods to visit a URL in browser.

Now, consider the following method by keyboard:

The keyboard is much more efficient, again because it involves less hand/eye coordination, and no brain visual processing of scanning text in menu.

Now, let's consider a example case of extreme efficiency. If your text editor is Emacs, you can skip the all the steps above. All you have to do is call the command “browse-url”. This you can do by pressing the Apps (which calls a command by name), then type “bro”, then Tab to complete the name, then press Enter. This will copy the URL, launch or switch to your default browser, and open the page of that URL.

And if you need to do this often, you can setup a single key such as F8, so the entire operation is one single keypress.

How to Increase Your Computer Operation Efficiency

Here is some advice for {Mac, Linux, Windows} users for operational efficiency. The following list is roughly ordered from the most important tips first.

Get a Good Mechanical Keyboard

Use a good keyboard. A good keyboard is the most important thing about hand health, which is directly related to operational efficiency.

Look at it this way: if you need to chop meat, you need a meat cleaver knife. If you need to cut fish, you need filet knife. For bread, you need bread knife.

Tool quality and design matters, if you type all day.

[see Ergonomic Keyboard Reviews]

Learn Touch Typing

Most programers who don't touch type will start to groan when seeing this. Well, sorry fellas, but this is actually the most important tip for efficiency. Bite the bullet.

[see How to Touch-Type]

[see Typing Tutorial, Speed Test, Typing Games]

There is a question about whether to learn the Dvorak Keyboard Layout. If you don't already touch type, I highly recommend learning touch type with Dvorak.

[see Dvorak Keyboard Layout]

Get Programable Keypad

I also recommend a keyboard with many special application launching keys and multimedia keys. The app launching keys are big time savers, and you can customize them to open your frequently used folders too. The multimedia keys such as Play/Pause, Mute, Next Song, are extremely useful if you use your computer to listen to music.

You want to avoid using key combinations.

[see Ban Key Chords]

Many high quality ergonomic keyboard do not have dedicated function keys nor extra app launch buttons. In that case, i recommend you buy a dedicated programable keypad.

[see Programable Keypad]

Master OS's Shortcut System

Master OS's shortcut system. See:

“Master” means you know all the shortcuts in the OS, and you've examed and experienced and have decided which are better for you.

Learn the OS's Keyboard Config Settings

Learn the OS's ways to config the keyboard. On Windows, it's the keyboard icon under Window's Control Panel. On Mac, it's the Keyboard icon under System Preference. They allow you to tweak global keyboard hotkey settings, to various degrees.

If you have a Microsoft keyboard, i recommend the bundled IntelliType software. (comes in for both Windows and Mac versions) It lets you remap or disable keys or define macros to some extent.

Get a Keyboard Macro Tool

Use macros and other key-remapping or app launching software. See:

Learn OS's Keybinding API

Learn the OS's keybinding system or API.

Efficiency vs Effort in Learning and Setup

Note that efficient methods usually require you to spend time to learn the key shortcuts, learning the keyboard macro software, or learning scripting languages, and setting up your system.

If you spend only 1 hour a day on computer, apparently learning all the efficient methods is not worth it. How much time you invest in learning and setup these efficient methods depends how often you need to perform the task. Also, how easy it is to learn and setup a new system.

[see Linux vs Mac vs Windows, Which is Best for Keybinding?]

Typing Habits, Repetitive Strain Injury

Typing
Habit, Injury

Mouse Pain

emacs, vi, RSI