Productivity Tools

I am very interested in how people choose, set and achieve their goals. How they remain focused when times get tough, and how they get back on track when they lose their way. I am also interested in the tools, tricks and tips that people have for enhancing their productivity. Here are some of the tools that I use.

Getting Things Done

Getting Things Done‘ or GTD is the work-life management system by David Allen. I would recommend David Allen’s book to everyone who wishes to organise their life, or increase their productivity. In his book, David Allen talks about having a trusted system to record your projects and next actions. The trusted system that I now use is called Toodledo.

Habit Tracking

I am a scientist by training, and a scientist by nature, which means that I like data. The more data you collect, the more data you can analyze, which in turn enables you to identify trends, problems, basically patterns of all different sorts.

For a number of years now, I have extended this data collection into my every day life. I find it useful to collect various bits of information about my day-to-day life, such as what exercise I am doing, how well I am eating, sleeping etc.

I have developed a website that allows me (and anyone else) to quickly and easily record such information.

Journal

When I am starting a new project or want to re-evaluate my goals I often find it helpful to jot my thoughts down. Over the years I have used a number of different means to record my thoughts; from simple pencil and paper to a variety of software options including text files, emails, electronic organisers, wikis and journal software (both free and commercial). I am very happy with my current solution. I am now using WordPress as my personal diary software.

For those not aware, WordPress is a very powerful and very popular blogging application. Some would argue that WordPress is designed specifically for internet use, not private use, and it is far too powerful to simply be used as a diary program. However, the program is free and open source, and simple to install*, it has great import/export abilities, as well as cataloguing, tagging, searching, easy editing – everything you would want in a good piece of journal software really. Also, in this age of mobile devices, it has one of the coolest Android Apps that I have seen.

*Simple is of course a relative term. WordPress is incredibly simple to install, under the proviso that you have a web-server running, and that web-server is equipped with PHP scripting abilities, and you have root access to a MySQL database.

Wiki

I often find that I have ‘bits of information’ that I would like to retain, but they don’t necessarily have an associated next action. This is what I use a wiki for. For a number of years I used a very simply Wiki on a Stick (WoaS), which is very handy, as it lives in one self-modifying XHTML file. However, the one file can become rather large, and there are many advantages of a wiki which are not present in WoaS. I therefore now use a fully-blown wiki. Like my journal, I am using an open source multi-user web application for individual use on a personal computer (not necessarily attached to the internet). Again, some may consider this to be over-kill, but recollect, the program is very powerful, easy to use, actively supported and FREE!.

Unfortunately, unlike WordPress, mediawiki has not yet moved into the age of mobile computing, so I am currently looking for a user-friendly alternative to my personal wiki. I have so far had limited success with apps such as (the very popular) EverNote.

Goal Setting and Mentors

I think that it is very valuable to set SMART goals. In order to achieve your goals I also believe that it is vitally important to record these goals, review AND RE-WRITE them regularly. Goals are quite different to the “next actions” discussed above. It is important to review both goals and next actions regularly, but for quite different reasons. The idea behind GTD is to get all your next actions into a trusted system, so that they don’t have to be kept in your head. When you have time to do some next actions, you review your trusted system, and figure out what actions to perform. With goal setting, it is vitally important to hard-wire your goals into your head, so that you know them at both a conscious and sub-conscious level. One of the best ways to do this is to re-read your goals every day, however an even better way is to re-write your goals every day – without looking at what you have written the previous day. If you can’t remember what your goals were yesterday, then chances are you are not that serious about achieving them. There is lots of advice on the net about achieving your goals, but not so much on choosing your goals. I think the most common way that people choose goals is to observe others around them, and try and emulate certain behaviours or obtain certain outcomes that others have achieved. This is where I believe that mentoring can have an important role to play. I am using the word ‘mentor’ somewhat loosely, and probably quite differently to how a lot of people might use the word. I think that it is useful to have at least one mentor for every goal that you are trying to achieve. Suppose that you would like to achieve goal X. It seems to me fairly sensible to try and find somebody who has achieved X, and talk to them, ask them questions, let them make your goal clearer and more tangible. You might discover something useful, and you might avoid some of the pitfalls of those that have gone before.

Being of the digital age, I have looked for and used a number of software/website based goal recording mechanisms. I have found none to be satisfactory, so in my spare time, I am developing my own.

Version Control System

If a lot of your work is computer based (who’s isn’t these days?), then I would highly recommend getting some sort of version control system. To my mind, there is currently one and ONLY ONE version control system worth using. That version control system is called git.

For a number of years I used SubVersion and TotoiseSVN. Now, while using subversion is better than using no version control, it is a pale shadow, both in usefulness and robustness compared to git.

I have a version control system on my list of productivity tools, because the knowledge that any of your work is able to be retrieved at any point in the future gives you a great level of freedom, and allows for more creative actions to be taken. For example, perhaps you think you can replace a whole block of code with a simple one-line command that you have just learnt. You may be hesitant, because of the time and effort put into the original block of code. With version control, you have nothing to fear. You commit your work, delete the block of code, and see what happens. You know that at any point, you can get that code back at the click of a button. I find it difficult (and scary) to believe that I wrote a PhD thesis using the old ad-hoc version control of (very occasionally) manually backing up my files in a directory with a date in the directory name. Which brings me to my next productivity tool:

Backups

It is very well to have a version control system to be able to review/recreate your work from any time in the past, but it is very important to realise that this is an archive and NOT a backup. At first glance, the version control system might seem like a backup, but it is simple to see the difference by thinking about what would happen if you wanted to look at an old version of a file, but discovered that the hard disk containing your repository had been corrupted. This old version would be gone forever, because it was only contained in the primary, active repository. This repository needs to be backed up. Another analogy is that of a state library. They contain many archives, but if the library burns down these are gone forever, UNLESS they have a copy (or back up) at some other location.

One of the very important criteria that I have discovered for a backup system is automation. If the backup system is not completely automatic then, in general, it simply will not be maintained.