Learn Docker With My Newest Course

Dive into Docker takes you from "What is Docker?" to confidently applying Docker to your own projects. It's packed with best practices and examples. Start Learning Docker →

See How Virtual Desktops Let You Get More Done in Less Time


There are a number of free virtual desktop tools for all major platforms that you can be using right now to boost your productivity.

Quick Jump: What Is a Virtual Desktop? | Browser Tabs and Notifications Kill Productivity | Virtual Desktops Let You Segment Browser Tabs Into Desktops | Virtual Desktops Aren't Just for Browser Tabs | What Virtual Desktop Tools Should I Use?

A few days ago I talked about how you can improve not only your life but also become a 10x programmer by improving your time management skills.

Today I want to talk about a tool that’s going to improve your general productivity and help you stick to your schedule. The best part about it is, it’s available for Windows, OSX and Linux and it’s free.

What Is a Virtual Desktop?

It’s a program that lets you create more than 1 desktop, and then you can use hotkeys or mouse gestures to switch between them.

Browser Tabs and Notifications Kill Productivity

Most of us use a browser and open multiple tabs, but that can be a disaster for a software developer or anyone who needs to be productive at their workstation.

Imagine if you’re developing a web application. You would have a browser tab open for the app but there’s also 8 other tabs open. You have your email, HackerNews, Youtube, various blog posts and more.

All of those tabs are going to distract you, even if it’s at a subconscious level. You’re going to glance at the title of your GMail tab to see if you have a new email notification, and you’re going to feel compelled to switch to HN and reload just to see what’s new in the tech world.

All of these micro distractions are draining your energy and make you less productive. Add in other notifications like IM pop ups and various other browser notifications and you have no chance.

A schedule alone isn’t enough to combat these distractions.

Virtual Desktops Let You Segment Browser Tabs Into Desktops

Lucky for us, tools exist to prevent the above problem from happening.

In the virtual desktop world you could have all of your social tabs open in virtual desktop #2 and in virtual desktop #1 you would have all of your work related tabs.

Then let’s say at 2pm, when you’re ready to check your email you just hit a single hotkey to switch over to virtual desktop #2. You can check up on everything in literally 30 seconds, hit another hotkey and now you’re back to work.

There’s no having to manually type in gmail.com, or find a bookmark. This is actually a big deal if you have a lot of things to check on.

For example, in my case, my social tab is set up for:

  • 3 separate GMail accounts
  • 3 course Q/A pages to monitor student questions
  • HackerNews
  • 4 different sub-reddits on Reddit
  • Twitter

That’s 12 tabs. If I had to open 12 tabs manually and visit all of those sites that would take minutes every single time I do it. That’s an epic waste of time.

Certain browsers let you organize bookmarks into folders and then you have the option to open all of a folder’s pages in new tabs but that doesn’t fix the problem of being distracted.

If I opened multiple browser windows then I’d be battling them in my taskbar to figure out which one is my social window while the other is work, and realistically you’re going to have more than just 2 types of browser tabs.

Virtual Desktops Aren’t Just for Browser Tabs

They let you create work flows for whatever you happen to be working on.

Let me give you an example from my schedule. Let’s say between 8am and 10am I’ve set aside 2 hours to specifically work on creating example applications for an upcoming course I’m creating.

During these 2 hours I’m in developer mode. That means I have terminals open, a code editor (btw I like Sublime Text 3), and likely a browser since the example app is a web application.

From 10am to 11am I might decide it’s a good time to plan out a small bit of content for the course. For me, this means I’m no longer in developer mode. Instead I transform into white board / writing mode because I like to visualize things when it comes to planning things out.

From 11am to noon, I might be in a creative writing mood so I’ll start writing a blog post. This writing environment is much different than the above.

In all 3 cases the work being done is completely unrelated. If I had to shut down everything to transition between each case then it would deter me from continuing to work on them later.

When tomorrow comes along, all I have to do is hit a hotkey to go back to where I was yesterday. That’s a tremendously useful feature to have at your disposal.

If you’re a t-mux fan, you probably live by sessions. Virtual desktops are similar.

Personally, I have 8 different virtual desktops that I use on a regular basis. I don’t keep all of them open at the same time but just categorizing what you’re working on will help you set it up quicker when you need it.

What Virtual Desktop Tools Should I Use?

By now you understand the value in virtual desktops. It’s time to start using them.


OSX already includes virtual desktop support by default and it’s called spaces.


Windows 10 comes with virtual desktop support baked in but I recommend using a tool called Dexpot instead. It has much better hotkey support.

It works flawlessly, it’s very customizable and is extremely light weight. It even works well with dual monitors. Triple win.


There’s a lot of different distributions of Linux. If you’re using Ubuntu or xubuntu, they are called workspaces.

I’d really like to hear how virtual desktops save you time, and what you’re using them for. Let me know in the comments below.

Never Miss a Tip, Trick or Tutorial

Like you, I'm super protective of my inbox, so don't worry about getting spammed. You can expect a few emails per month (at most), and you can 1-click unsubscribe at any time. See what else you'll get too.