I’m pleased to announce that the first feature update to TempusCura is now complete and undergoing final testing prior to release on the AppStore. I’ve put together a list of the major highlights below.
If you’d like to participate in the beta test (or have found bugs in the current version you’d like to see fixed) please drop me a note.
I originally decided that in this day and age everyone is always on-line anyway, so there was no real reason for adding the complexity of off-line synchronization with all its evil pitfalls, but for some reason I often find myself working in odd locations or have clients that seem to live in faraday cages with no access to neither 3G nor WiFi networks.
Not being able to register my work hours immediately meant I had to make notes of it elsewhere, somewhat defying the purpose of the app.
So as of V1.8 you can now use the app while off-line – registered work gets queued up until a network connection becomes available. You’ll see this in the UI as a work item with a dotted outline (See screenshot).
Note that off-line mode is currently read-only for everything but work items. Projects, tasks and user registration still requires a live connection – this is primarily because of item dependencies, but also because I have not personally had the need to modify any of these while off-line. Please let me know if your needs are different.
Not being able to register work while off-line was, however, also a good thing since it made me think of ways to automatically track where I’d been and what I’d been doing.
The first step in that direction is the introduction of a location tracker. This feature uses iOS’ “significant change monitoring” to detect when the device is moved. Changes in location are marked in the calendar margin with a blue line and a little car symbol (screenshot above). These are initially gray in color to indicate an un-confirmed trip, but you can tap it to see the route and distance covered (screenshot below).
You can associate each trip with a project (e.g. a customer) and name the start and end locations. TempusCura will remember the names of all locations you enter and automatically show the names next time you make a trip to that location. Once confirmed, the icon turns blue, and the trip will now be included in your reports. You can also delete trips that are not relevant to your bookkeeping.
Location tracking is off by default so you need to go to “Settings” and turn it on. You’ll see three options:
- Low Power
The Low power option relies exclusively on significant change monitoring and uses very little battery power. It is also not very precise. This option is mostly useful as a reminder of where you’ve been – the route is almost always too inaccurate to be of any use, and the measured distance can be quite far off (the screenshot is using the “Low Power” settings and as you can see, I’ve somehow managed to drive on water :)).
The detailed option still relies on “significant changes” in location as a trigger, but once a significant change is detected, TempusCura will turn on the GPS and use actual GPS coordinates (instead of relying on 3G triangulation and WiFi information). This is far more accurate but obviously uses more battery as well. TempusCura turns off GPS again when no major change in location has been detected for 30 seconds.
Note that because trips are device-specific rather than account-specific, I’ve so far opted to keep trip data locally on the device (in theory you could have several iOS devices making different trips at the same time on the same account which would create a mess in the UI). I will consider pushing confirmed trips to the server in a later version if there’s a desire for such a feature?
Reporting has been vastly improved over prior versions for those of you who are not really interested in importing CSV files into a spreadsheet for formatting. If you export by mail, a nice summary of all the work items is now included in the e-mail body. This includes both per-project summaries and per-person summaries. It also includes a mileage report with start and end locations.
Summaries are given in your selected currencies using the most recent exchange rates – note, however, that these are probably not the same rates you get in your local bank. Without getting into details about what I think of banks in general, I think we all know why that is.
Remembers Filter Selections
As you have undoubtedly noticed if you’ve used TempusCura with more than one project, it has an annoying ability to forget which projects you’ve checked off in the project filter. Basically, whenever the app gets shut down by iOS and has to restart, it will revert to showing only items from the first available project.
Not anymore. As of V1.8 the selected project and people filters are now stored and re-established when re-launched. (It’s one of those little annoying things that makes a big difference 🙂 )
Being able to work off-line prompted a change in the login procedure as well, since it now had to be optional. Revising this turned out to be a good idea as I was able to significantly reduce the number of server roundtrips and thus ended up with a much faster login procedure.
Minor UI Changes
The main view has received a minor visual update. The calendar grid now has vertical rows between days so it’s easier to tell them apart (for some reason, I missed this in the first release).
The header has changed from white to gray, so work items don’t get confused with the header when scrolling, and I’ve used the upper left corner of the table (which was previously empty) for a “now” button which scrolls the calendar view to the current time and day.
Changed work item text rendering so that it now renders special characters properly, and uses multiple lines of text if the space is available.
Fixed local timezone bug (daylight saving issue in some cases)
Fixed a bug that caused the calendar view to not center properly on the current day (it was offset by current time, and did not take the margin into account).
Fixed bug with “work by project” list sometimes not updating correctly