Why we created TimeGate
TimeGate was created to support users who need an efficient way to report time to muliple time management systems from a single timesheet UI and elleviate the effort of signing into those systems.
TimeGate capabilities
- Management of clients, projects and tasks
- Historic, current and future time reporting records
- Create, review or delete multiple interfaces to external systems
- A single time-card presentation
Brief Tab Descriptions
Home - Displays general information about actual time records for local and external repositories.
Timesheet - Where time is reported. Supports ability to move across time periods and select entries in the time sheet.
Configuration - Manage local repository model and add,remove or review external repository models.
Detailed Descriptions
Upon Installation
When you install TimeGate it will automatically create a database on your iPad. Once the database is created TimeGate will create a Local repository populate it with an example Client, Project and Task and assocate the task to the example project.
All elements (Clients, Projects, Tasks and Project to Task Assocations) are fully managed in the Configuration tab where you can add, edit or delete elements. Configuration also manages external repositories, such as FreshBooks or Harvest, however; you are unable to modify any entries with the user capability even if you use an adminstrators credential.
Future versions of TimeGate will support FreshBooks and Harvest administrative capabilities.
Home Tab
The image below is an example from a freshly installed version of TimeGate 1.0.0

The General Information area is a summary of information based on the repositories and reported hours in TimeGate:
TimeGate Version | Identities the version of TimeGate installed on your iPad |
Number of Repositories | The count of repositories managed by TimeGate. After install this will be '1' for the Local Repoistory |
Total Reported Hours | The sum of all repository hours |
Total Hours Logged For Local | The sum of hours reported to the Local repository |
Once you add external repoistories all totals will be inclusive and each repository will list it's hours as well as shown in the next image where we've added a Harvest repository.
Timesheet Tab
This is where you will likely spend most of your time (no pun intended...maybe).

This tab's intent is to consolidate all of your time management needs to a single user presentation. While most users will be familiar with entering time in a time set there are various controls to enable time sheet management capabilities.
Entering Time
The primary usage of the Timesheet is to record hours on a specific day for a specific task associated to a specific client's project. For each repository each of it's Client:Project are listed and each may have more than one task on the timesheet.
Locate the task row and day column you wish to report time against and tap the entry field to bring up the keyboard. When an edit to a cell is made, switching away from the cell automatically commits the change to the TimeGate database and, if it is an external repository, will transmit the changes to the external time-management system.
The Timesheet Toolbar
The toolbar along the top of the tab screen has a number of controls that are meant to provide functions that make managing a timesheet easier. Following are the tool descriptions and example images:
Configuration Tab
The Configuration tab is the entry point for numerous functions but behavior is slightly different for the Local repository then it is for external ones. For the Local repository the user pretty much has full control of the repository model (elements such as Clients and Tasks). For the external repositories such as FreshBooks or Harvest TimeGate only support the 'user' credential that limits the amount of control of the repository entities as this is something that the administrator of the external system performs. Future versions of TimeGate will support administration support using an authorized user id.
The following image is the main page for configuration followed by a brief description of configuration functions.

Local repository configuration functions
- Add clients, projects, tasks and project to task associations to the repository
- Modify attributes of repository, user, clients, projects, tasks and project to task associations
- Delete clients, projects, tasks and project to task associations
External repository configuration functions
- Add external repositories. For each external type TimeGate supports multiple repositories as long as you have a unique user id for each.
- Delete external repositories. This only deletes the local copy of data and does not effect the external system.
- Rename the repository. This is allowed as the notion of a 'Repository' is a function of TimeGate and not the external system
Adding an external repository
To add an external repository, tap once in either the FreshBooks or Harvest area. This will display options as shown in the image below (after the FreshBooks User area was tapped).

Tapping "New User Credential" will bring up the Create Credential popover. The FreshBooks and Harvest credential screen are slightly different and are explained starting with adding a FreshBooks repository
Adding a FreshBooks repository

The FreshBooks credential requires two (2) pieces of information
- Login ID - This accepts the FreshBooks Authentication Token. For FreshBooks administrator this can be found in the FreshBooks 'My Account submenu FreshBooks API' screen. For regular users, this is found at the bottom of the 'Profile' screen.
- Domain - This is the first segment of the users FreshBooks url, for example: 'https://DOMAIN.freshbooks.com' where the DOMAIN segment should be used for the TimeGate domain field.
Adding a Harvest repository

The Harvest credential requires three (3) pieces of information
- Login ID - The same Login ID when signing into the Harvest website.
- Password- The same Password when signing into the Harvest website
- Domain - This is the first segment of the users Harvest url, for example: 'https://DOMAIN.harvestapp.com' where the DOMAIN segment should be used for the TimeGate domain field.
After filling in the fields the 'Create' button in the toolbar will be enabled. Tapping 'Create' will verify the credential and, if verified, will proceed to download repository and time card information. This may take a few minutes.
Deleting an external repository
Tap once in either the FreshBooks or Harvest area to bring the options menu again. Tap on 'Manage Credentials' to bring up the repository listing. Click on 'Edit' and select which repository to delete. Warning: this will remove all records from the TimeGate database.