Tap Log is an Android app for recording time and date based information, transforming your phone into a digital logbook operated by tapping buttons. I have been using Tap Log for two months and finding it a very useful tool for tracking my goals and measuring my life.
Tap Log is driven by buttons that are easy to read and press. You set them up in advance so you don’t waste time typing repetitive information. Buttons can be configured to accept a numerical quantity, text and ratings (1 to 5 stars) giving you a very powerful tool for capturing personal information about your daily lies.
The captured information can be viewed on the phone or exported to a CSV file and sent to your computer for further processing and graphing. The program has some charting capabilities built in, but I never use them as I prefer to process my own data. Tap Log can also record geographic data provided you have GPS switched on.
Here is a view of the screens I would use to capture my wake up time. Click the image to view full size.
I click the Activity button which opens the middle screen. I click the Wake Up button which then logs the date and time. The log screen is then shown with the data.
The interface of Tap Log is uncluttered and consists of black screens with up to 10 user-defined buttons. Tapping a button can open a second panel where 10 more buttons can be added, and a third level can also be added.
Each button is given a name and assigned an action. The button behaviour is set to create a log entry or open a sublist. The log entry consists of the date, time, and the button label stored as a category. A button can also be configured for entering quantities (for example capturing expenses or your weight), ratings (1 to 5) or text. Quantities can be given pre-defined values, for example a glass of water could be assigned 250 and a water bottle 750.
My main screen has 5 buttons – Activity, Capture, Punch In, Punch Out, and Drink. The Activity is my main use and has these buttons: Sleep Time, Wake up, Piano Start, Piano End, Leave and Arrive. The Leave button opens another screen with Home and Office. The Arrive button opens another screen with Home and Office.
The Drink button has buttons for Water, Coffee, Tea, Beer and Wine to track my fluid intake (sounds like a cafe menu doesn’t it?). I just started using these buttons so I can check I am drinking 2 litres of water a day, 3 cups of coffee or less, and no caffeine after 4 pm!
The log file can be exported as CSV format and opened with Excel or read by other tools. I created a database in SQLite and wrote a Python script to import the CSV file into the database. This is what the CSV file looks like (click to enlarge):
You can see the date and time information, and the button labels become categories.
I am currently monitoring four areas of my life:
Sleep time. I record when I go to bed and when I wake up. I have written a Python program to produce a graph of this information. Note to programmers: The graph is an HTML document using Canvas drawing methods.
2. Piano playing. I record when I start playing piano and when I finish. On the Piano End button I prompt for text so I can enter details of the pieces I played with comments. I wrote a program to read the Piano entries and produce a graph (HTML Canvas).
My daily goal is 45 minutes with 6 sessions a week (a total of 270 minutes). These goals have been drawn as red lines on the vertical grid of 15 minute intervals. As you can see I am not achieving my targets. At least I can quickly see how many days I play piano each week and the duration.
3. Office time. I record when I leave or arrive the office and home, including lunch breaks. This allows me to calculate how much time I actually spend at work. Am I spending too much time at lunch, and how long it takes to commute? I am working on another graph which will show all of my collected data in one chart.
4. Fluid intake. I record each time I drink a cup of tea, coffee, jasmine tea (Chinese), beer, wine and water.
You are welcome to use my scripts to create your own database and graphs. I uploaded my scripts as Word documents as WordPress won’t allow me to add text files.
- Ensure you have Python 2.7 installed and SQLite.
- Create the database taplog_cmc.db using this SQL script: cresql
- Use this program to import the CSV file: load_csv-py
- Download the Piano practice graph making program to see how I draw graphs using HTML Canvas: pianograph Please note that this program is very rough and I am going to move all the graph drawing code into a separate Python module. This will be the subject of a later blog post.