TimeGate 1.0

TimeGate is a mobile application for the iPad that supports a consolidated time card for reporting project/task time locally and synchronizing with popular web-based time management applications.

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:

Tapping this control will bring up the period selector popover to easily select (jump) to a specific timesheet as shown in the image to the right.
Tapping this control brings up the timesheet entry popopver where you can add project tasks to report time to. The top image to the right shows an example to pull in a clients project and task into the timesheet. Note that tapping on the repository text field will popover a list of repositories configured in TimeGate and you can then use the spinner controls to select Client, Project and Task.
The bottom image on the right shows the timesheet after a new entry has been added.
Tapping these controls will single step back dated and forward dated timesheet periods.
Tapping this control will refresh the current period's timesheet

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.