How tracking time can make YOU more money without any additional efforts?

Are you one of the many people who don’t track all of their working time? Or maybe you just forget to do it all the time? Are you aware how much money are you flushing down the drain with that? I was the same, and maybe sometimes relapse into endless procrastinating, while doing “busy work”.

What if I told you if by tracking all of your time (spent working), you could earn more each month. I am not talking exclusively about earning money, because different people have different priorities. Some people value more time with their families, some will value their new Audi more, to each their own.

If you are still reading, you probably have felt the issues of not tracking time, part from the billable client work, if you bill by the hour. On the other hand, if you bill weekly, monthly, or have fixed bid projects, you don’t have the incentive to track your time. I’ll give you one right here and now: Do you want to be aware how much is your effective hourly rate? Here is one more: What if you optimised the way you spend your time working, and it enabled you to earn more, or have more free time?

Tracking all the time spent on all tasks can be daunting, and sometimes really hard to do. Luckily there are lots of tools out there, online and offline, that will ease your pain. I use Freckle as my primary time tracking app, but I am experimenting with Pomodoro technique when programming, as it helps me focus, in addition to regular time tracking.

Let’s run a little experiment, find a free time tracking tool, Freckle does offer a free 30 day trial, but something like Toggl is 100% free if you don’t want to use pro features, which we don’t need at the moment, and both of them have smart little apps to help track your time on your desktop (at least in OS X).

Start tracking all the things you do while “working”. This is crucial at the moment, and you can drop some of the tracking later on, but you REALLY NEED this data to optimise your work. After a week or maybe even a month, you will have some basic data to see how are you using your time. If you are anything like me, you will realise that you are maybe hopping between tasks, spending too much time on browsing (Reddit anyone?), or just doing a lot of different tasks (projects) in the same time slots.

After you have some hard data, you can start optimising for productivity. And there are some ground rules I have found that work for me:

  • Bundle all same/similar tasks together
  • Work only on one thing at a time
  • Try to get up between switching contexts

Let’s go over each one just to explain how do I do it.

Bundle all similar tasks together
This is fairly self-explanatory. Try doing email twice or four times a day, and ignore it for the rest of the time. Email is a real-time waster, and if you can optimise it, you can most probably get yourself at least 2 or more free hours a week. If you are paying the bills, pay them all at once. Don’t do things as they come in, but put them in their separate box, and process them when you have enough to take you at least 30 minutes of uninterrupted work.

Work only on one thing at a time
Again, this means what it means, I have too often gotten myself into a situation when I’m working on something and another client pings me to ask about something, and I immediately switch context to the other project, leaving unfinished work in the first one. This is also true with everything you do, every interruption has its toll, so try to minimise those you can control, like email and instant messaging.

Try to get up between switching contexts
What this basically means is: if you are working on Task A, and are done with it, don’t immediately jump onto Task B, but get up and stretch/walk for at least 5 minutes. The physical motion of getting away from the computer helps me disconnect from the first task, and sit back at the computer with a clearer mind.

Select and de-select all checkboxes using jQuery

On almost every application I’ve worked on, there was a similar user story:
When i visit the page showing the list of unpaid/unprocessed things, I want to be able to select some of them to process automatically.

The best way to do this is with checkboxes, and a simple form that will submit to a given path, collecting the items you need to process.

Basically the next user story after that one is: I want to be able to select all checkboxes, so I don’t have to click each one if there are plenty of them.
This is where the story would get complicated, but it is really easy to do.
Let’s say that you have a check_box with an id of #select-all-checkboxes and that your form contains checkboxes with a class of .selectable-checkbox like this:

<input id="select-all-checkboxes" type='checkbox' value=1/>

<form action="/action" method="post">
  <input class='.selectable-checkbox' name='checkbox_name&#91;&#93;' type='checkbox' value='1'/>
  <input class='.selectable-checkbox' name='checkbox_name&#91;&#93;' type='checkbox' value='2'/>
</form>

The solution to toggle them all is very easy, with JavaScript:

$('#select-all-checkboxes').change(function() {
  var is_checked = this.checked;
  $('.selectable-checkbox').each(function() {
    this.checked = is_checked;
  });
});

or with CoffeeScript:

$('input#select-all-checkboxes').change ->
  is_checked = @.checked
  $('.selectable-checkbox').each ->
    @.checked = is_checked
    return

And that is about it, now you have select/de-select all checkboxes working on your site. Be sure to wrap the above code in a $(document).ready(function() {}); or some other initialiser that is fit for your application.