A topic I’ve been thinking about a lot lately is workflow, and for once I decided to gather my thoughts in a blog post.
The reason the topic has been stuck in my head is because I’m seeing so many people trying to get work done without first figuring out a workflow that speeds up the “in-between” work (like compiling, or looking something up, switching between windows, and so on). There are a lot of things you can do to speed this stuff up, and this post will cover some of the tools/tricks I use personally. Note that I use a Macbook Pro along with an external display, so you may have to adapt or find alternatives for them to work with your setup.
Note: Changing your workflow to a theoretically more productive one might actually make you slower – having a workflow that is consistent and works for you is more important than trying to incorporate every trick in the book!
Part 1: Window Management
I can’t stress enough how important it is to manage your windows. Let’s say you’re working on something programming related. Most likely, the least you’ll be using is a code editor, a web browser, a terminal, and maybe an IM client. Here are some things you can do to manage it all:
Get good window management software.
On a Mac, this means making good use of Mission Control and hot corners! It’s incredibly convenient to be able to see all your windows or show the desktop by quickly zipping your mouse to a corner of the window. You should also make good use of desktop Spaces, though I’ve found I don’t have a fixed way of using these.
One feature found in Windows that I really miss on OS X is Aero Snap. Not to worry though, BetterTouchTool is the answer! This app has killer window management features and allows powerful customization of keyboard shortcuts and trackpad gestures. I highly recommend you get it now if you don’t have it already.
I’m sure Linux users have their own alternatives for the stuff mentioned above, just search around! 😉
Organize windows effectively around your desktop so that you can see as much as you can at once, without everything getting too cluttered.
When I’m not around my external display, this usually means that I run my Macbook at a higher resolution (“looks like 1680×1050”). I have my code editor occupying one half of my screen, and a browser window occupying the other half. My terminal and IM windows take roughly 1/6th of the window and are positioned at the corners, and will overlap the browser when they’re focused. The reasoning is simple: I need to be able to see my code all the time, but likely only need one of the browser/terminal/IM windows at once.
When I’ve got an external display, I make my code editor take up the whole laptop screen (which I keep at native resolution, by the way), but use a split view so I can see multiple files (or even two views of the same file) at once. My browser window takes 66% of the width of my external screen. A terminal window and an IM window take the top and bottom halves respectively of the remaining space. It may seem tedious to have to rearrange windows every time I reconnect my display, but BetterTouchTool makes it really easy: I have it configured to make a window occupy 66% of the screen when it’s dragged all the way to the left edge, and similar settings for the corners. This is what it looks like (click for a larger image):
By the way, as you can see, I have my display set to extend my primary one, not mirror it (translation: the two screens show different things, and I can move windows around between them). I’ve noticed a lot of people don’t know that this is even possible – please know that it is, and it’s great! Mirroring is useless in my opinion, except maybe if you’re connected to a projector or something, and even then… well.
All the programs you use have customization options to help you make them work with your workflow. Go through the settings available for the apps you most often use and figure out what’s most usable for you!
For example, almost everyone who uses a PC interacts with files a LOT. There are a lot of things you can do to make your life easier when working with files! For example, most file managers (Windows Explorer, or Finder on a Mac) use icon view by default. I find that column/list view is way better for a few reasons:
- You can clearly see the names of all the files/folders you’re looking at. Icons are pretty, but they don’t really give you much information other than the type of the file – this is true when the icons are small too, so you’re not losing out on anything.
- In column view, you can see what’s in the parent directories as well! This is great for navigation, for example when you’re manually trying to find a file in a maze of subfolders.
- Also in column view (on a Mac), the last column shows you useful info about the highlighted file that you can peek at quickly. List view also shows you info in columns, but I prefer the navigational benefits of column view.
- Once you’re using list or column view, the number of files you can see at once greatly increases – meaning you can keep your window smaller and use the extra real estate for something else.
I may have to write a separate post about file management, there’s a lot of scope to improve productivity there! This is it for now though, I hope all of this info is useful to someone. Cheers!