Friday, October 31, 2003
Trackin' My Time...a Review of BOnTime v1.6.1
Posted by Don Tolson in "SOFTWARE" @ 10:02 AM
Entering Jobs
Once you have the Client/Project/Task structure set up, then you're ready to begin recording time, also known as Jobs in BOnTime. Two different methods are provided. The first is an automatic timer function, which you can start and stop as you work through each Job. More than one Job can be active simultaneously in this mode and there's also a Pause feature, if you need to take a bio or walk break or attend to something else for a short time. If you have more than one Job active, though, you'll have to Pause each one when you leave.

Figure 3: Entering Jobs via BOnTime's Timer Function
The other method of recording Job time is to simply type in the Job description, duration, and date, then tap the Enter button. This is the one I prefer, as I typically have more than one thing going at a time, and my work on any one of these is not linear, by any stretch of the imagination! To record Job time against a task, you tap the Task in the tree structure to highlight it, fill in the Description and Duration and tap the Enter button. Unfortunately, most of the input methods (keyboard, letter recognizer, etc.) will obscure the Enter button, so you'll have to hide the method before you can tap Enter. There's also a bug in the current version when you select the Calendar gadget from the Duration box. It shows the currently selected date twice. Not a biggie, and I'm sure Darryl at BSystems probably has it fixed already.

Figure 4: Entering Jobs via Duration
BOnTime also provides the ability to use an existing Job entry as a template for a new one. By selecting an already recorded Job, then tapping and holding and selecting Copy to new job (or selecting Copy to new job from the Edit menu), it will use the description, duration and date from the original to create a new Job. If you are using the start/stop timer option, it will use the current time as the new start time. If you want to go back and change Job information just select the Job from the tree structure. Its description, duration and date will be displayed in the input fields below and you can make whatever changes are necessary.
Reporting
Being able to record work quickly and easily is only half the battle though. We need to be able to get it back out in some sort of reasonable form. Wouldn't it be great if BOnTime could just automatically submit the timesheet? Well, it doesn't go quite that far, but BSystems has provided a number of different ways to get the information out of the database which could then be manipulated to fit into existing timesheets.
The Day Summary provides a list of the hours accumulated for each client on a given day. I find this particularly useful when I'm filling in my timesheet by hand, since for billing purposes, only the number of hours associated with each client is important. BOnTime thoughtfully includes Prev(ious) and Next buttons and a calendar gadget to allow you to select which day to display.

Figure 5: Day Summary Screen
If you're looking for more detail, you can use the Reporting screen.

Figure 6: BOntime's Reporting screen
The Reporting screen provides a wide range of filters to select out the Jobs recorded in the database. The filters are automatically updated as you add new Clients, Projects and Tasks and again, are hierarchically context sensitive. This means you must select a Client first, then the Project list will be populated with all Projects for that Client. Similarly, when you've selected a Project, the Task list is populated with all Tasks associated with that Project for that Client. If no item is selected from the list, the default assumption is 'all'. Unfortunately, there's no way to select more than one option from the lists, so if you want to get a report of more than one Client (but not all), or a selection of Projects within a Client, you'll need to report on them all, then manipulate the provided extract. Templates, which allow you to select which columns/fields from the database are provided in the extract and their output order, are created under the Settings/Reports option from the Edit menu.
Once you've made your selections, tap the Get Jobs button to extract the appropriate records from the database. Unfortunately, I didn't have enough time (or energy) to create a massive database to text extraction speed, but I'll let you know as I work with this application a bit more. The extract job records are displayed in the scrolling window in the middle of the screen and, if everything looks OK, then tap the Export button to have them saved to a CSV (Comma Separated Values) text file. This file can then be transferred to your desktop PC and manipulated in either Word or Excel (or anything else that accepts CSV!) I couldn't find any way to get Pocket Excel to read this type of file, but maybe our Pocket PC Thoughts gurus will have some solutions!
There is also an Export to SQL function which is available from the File menu. It produces a text SQL file for importing the data to another database. Here's an example. I'm not an expert in SQL, but I don't see any DDL statements to create the database, so you might have to create the tables and columns first.
Archiving and Unarchiving Clients
Wouldn't it be nice to be able to shelve a client for a while to let you work on other, more interesting work? If you want to remove a client (and the associated projects, etc.) or a project from the tree view and the reports, then you can use the Archive function from the Edit menu to accomplish this. The data is still contained within BOnTime's database -- it's just not displayed or reported. The Unarchive function reverses this process and reinstates the client and/or project(s).
Backup
As BOnTime is working, it saves data in a BOnTime.sdf file which is automatically stored in the My Documents folder in main memory. Thus, it can be backed up to your desktop using ActiveSync or any other backup program you have installed. I think it would be better to allow the user to specify where they would like the database to be stored as I can imagine in my case, it might get pretty large after a year of work...










