Better, more integrated time tracking
Current time tracking features include logging time by duration or by start and end time, starting a timer to track duration, and stopping and resuming a timer. These things can all be done, to varying degrees and in different ways, on the website, in the Android and iOS apps, and via the "Zoho Invoice Timer" Chrome extension.
The current time tracking options are poorly integrated with one another, and some are lacking basic features. Let's take the Website as a baseline, and discuss the others from there.
Website
1) Starting a timer on the website creates a new timesheet entry and starts the clock ticking
2) You can stop timing and resume it later
3) You can log time as a duration (that's what the timer feature does)
4) You can log time using start and end times
Suggestions:
5) (suggestion) You can convert from a start/end time entry to a duration entry
The ability to convert from a start/end time entry to a duration entry would offer convenient flexibility for the user. If you've entered start and end times, but then you want to resume timing from there, you should be able to simply toggle to tracking by duration. The duration would be calculated from the start and end times. You should be able to toggle back to start/end so long as the duration has not been modified. Once the duration is modified, start/end times no longer make sense, so the record is converted to a duration entry. If it's in duration mode, timing can be resumed from there.
6) (suggestion) You can set a default task for time entries
You should also be able to choose a default task name for time entries, so there are no extra steps required to track time unless you want to change the task name.
Android App
The Android app can only submit a timesheet entry, or stop a current timer. Starting a timer does not create an entry until you've stopped timing and submitted it. Thus you cannot start a timer on Android and finish it on the website. Although you can stop a currently running timer, you cannot resume a stopped timer from the Android app.
Suggestions:
7) Integrate Android app functionality more closely with desktop functionality. You can start a timer on Android, stop it on the website, and resume it on the Chrome extension
Items #1-6 above should all work in the same way on the Android app, and operate via the same backend functionality so that there is a seamless transition between timing on the Android app and the website.
Chrome Extension
The Chrome extension matches the desktop features #1, #3, and #4. When you start a timer in the extension, it starts the timer on the website. These features integrate well.
The ability to resume a timer (#2) is partially present, but only if you don't sneeze. If you stop a running timer, it can be resumed so long as you don't dismiss the extension popup, or navigate to another tab in the popup. As soon as any of these actions is taken, the extension forgets how to resume the timer. If the timer is resumed from website, it once again shows as a running timer in the extension.
Suggestions:
8) Fully implement #2, as it is on the website, so stopped timer can be resumed from within the extension
9) Feature parity with website, eg. when #5 and #6 are implemented.
iOS App
I don't have an iOS device to test, so I can't compare it here. Others please feel free to submit a review of iOS app time tracking behavior in the comments. In general though, the principles it should follow are clear, and the same for all versions of the time tracker:
- feature parity with the website
- seamless transitions from one device to another