5
« on: June 25, 2007, 03:27 AM »
Introduction
============
I work on my computer all day. As I’m blessed with ADHD, I often have trouble keeping focused on the task at hand.
To help with this, I've written an Excel macro that pops up once every 15 minutes, asking me to write down what I've been doing the past quarter of an hour. This helps me keep track of what I've been doing, for time reporting later; and also serves as a 'refocusing' moment, when I've been distracted and started doing something else (which happens very often). The macro saves each day in a separate tab in the same Excel file; and once every month, moves all the previous month's tabs to a separate Excel file.
This approach has several disadvantages:
* Excel needs to be loaded at all times, which consumes quite a bit of system resource.
* The pop-up reminder is a simple MessageBox and can be rather intrusive, as it sometimes steals the focus of the program I'm working in.
* The timer is suspended while the messagebox is up, so if I ignore it, it won't come back (and no screen shots will be taken either).
* Toward the end of the month, the .xls file takes some time to save (even on a local drive)
So I was thinking of writing a tiny program which would do approximately the same, but without the inconveniences. I'd write it myself if I had more time available, but since I've had this idea since September 2006, and the current version of my Excel macro dates from November 2006, that's not going to happen soon. So I was wondering if someone else would be interested in making it.
Description
===========
I was thinking of something along the following lines:
Every 5 or 15 minutes, take a 'system snapshot':
* make a capture of the entire screen, and save it. (Since there's going to be a lot of screen shots, it's probably a good idea to compress them, so at least save them as PNG, otherwise as JPG -- as long as it remains readable)
* record (at least) the following information to file:
- The active program (executable, and active window's title or class, if there's no title)
- The idle time (the time that user hasn't touched mouse or keyboard)
* show a system tray balloon (or some other mechanism that doesn't steal focus) requesting entry of current activities, and allow those to be entered -- save it with time stamp.
Also, preferably, a kind of 'report' interface which shows for a specific day, the screenshots taken, with the corresponding activities entered. This could be a program window, or an HTML page for all I care.
And it shouldn't take up too much resources (less than Excel in any case).
Ideas for later versions (aka Nice To Have)
========================
* Also keep track of all currently active processes, and all window texts
* After a certain amount of time (a month or so), either reduce the quality of the saved screen shots, or their size, so as to keep the database of screen shots from growing too large
I'd be immensely grateful if someone could make a usable tool for this... or shows me one that already exists!