TimeTracker from XtraTime.net

An Android Device Application

Now Available on Google Play, Get it here!

Purpose

Build an Android application (App) for tracking time spent on the job, and importantly it must be useful to track specific tasks.  It must be simple to use so that it can be implemented without distracting the user from the tasks they are performing.  However, the sophistication level should be flexible and extensible such that it can be used in as wide a variety of environments as possible.  It must be easily adaptable to service a variety of real-world purposes.  For example:

·       It must be usable for a standard hourly employee in a basic “punch-in/punch-out” time-clock operations where details need only track Start-times, End-times, breaks, and lunch.

·       It must be usable for those that need (or want) to track time spent on special projects, or that want to find out just what they spend all their time doing.

·       It must be usable for those that need to account for all their time, such as a lawyer needs for tracking billable hours separately for multiple clients.  But it must it must accommodate environments where the user might be constantly switching between different tasks or different clients, and taking calls from other clients.

 

Simplicity

One of our goals was to keep it simple, and we did just that.  A user is either “Working” or “Not Working”.  In the real world life can be quite complex, but for our purposes there is no need to identify any transitional or temporary conditions, such as working for Client A, but taking a call for Client B because you may not go back from Client B to Client A when you hang up; you might in reality put client B on hold and take a call from Client C, then find that Client B has been disconnected or picked up by another person, and you may in fact go on to work on something for Client D.  But in terms of tracking your time, we keep it simple; you are either working, or you are not working.

So, in the App, when you start working on a Job (say, Job “XYZ” for Client A), you touch it on the screen.  If you get a call from Client B about Job “DEF”, touch that Job on the screen; you are still working, but now you are clocking time against Job “DEF” for Client B.  It IS that simple.  If the boss suddenly appears at your desk as you hang up the phone and tells you to do “CDF” for Client C, touch that Job.  TimeTracker will log the time spent on each task, and update the totals for each as you change from one to the next.

One touch is all it takes to log in and start working, to change tasks, or to log out.  (If you prefer, you can require an additional confirmation to verify your one-touch commands are not accidental or inaccurate.)

 

Efficiency

The App is designed to encourage use of codes or acronyms for both Client names and Job descriptions for two reasons both of which complement each other to enhance the usefulness and serve the purpose of the app.

·       Make efficient use of screen space.  This is most limited resource on the typical smartphone.  You need to SEE it and recognize it at a glance.  If you have to scroll around and focus your attention to find something, and then read it carefully to know for certain that it is what you want, what’s the point?

·       Minimize distraction to the user.  If you have to stop and think about using the app then you will lose focus from the Job at hand.  That results in spending a measurable amount of time just to use the App!  So, why use one if doing so means you have to add it to the list of things you have to do?

In our observations of many different working environments, we found that most people tend to acronymize labels, names and phrases quite naturally.  (In fact, people do this so well that different industries tend to speak using their own dialects because they turn labels, names and phrases into abbreviations and then start pronouncing the abbreviations as words.)  Anyway, this plays well into the process of creating a simple user interface for tracking time on various projects or for various clients by encouraging the use of acronyms and abbreviations, or even codes because full names or descriptions take up a lot of screen space on devices that have precious little space to use. 

Example: If you are a consultant with a “Network Vulnerability Assessment with External and Internal Penetration Test with Social Engineering” Job working for a client named “The American Association of Rattle Snake Hunters.  It takes up a lot of screen space to spell that out.  However, if you look at your smartphone and see: “NVA-IES-PT for AARSH” it likely will be both meaningful and quickly recognizable to you!  You who regularly does: NVA-IES-PT, NVA-IES, NVA-ES-PT and NVA-IE jobs for many clients.

Flexibility and Efficiency

Because, and for the reasons described above, the App is designed to request both a full descriptive name and a type code (abbreviation, initials or etc.) for each type of Job you do.

The App is also designed to request both a full name and a code (abbreviation, initials or etc.) for each Client.

Jobs and Clients: The Client codes combined with the Job Type codes serve to make short recognizable and unique identifiers that fit well on the small screen.

Jobs, For Jobs this is quite useful because most people tend to have a small list of different “Types” of Jobs that they do, but they tend to do these same types of jobs over and over either for different clients or different projects etc.  So, the App provides a drop-down “Spinner” for both of the components that make up a given Job (the Type codes, and the full descriptive names).  And it then provides you a list of those that you have previously defined so that you can select from the list instead of manually typing these entries over and over again.  Once you have manually entered a Job Type, or a Descriptive Job Name one time they will be in their respective drop-down lists for use in the future.

Clients: For Clients this is quite useful also, but for a different purpose.  Each Client by their nature must be unique, thus there is no purpose to providing an input list for full names.  However, because in many circumstances there are indeed situations where one client needs to be related to another.  So, for this reason, the App provides another field related to Clients which is called the “Parent Code” (use of this field is optional because some users will not have a need for it).   The “Parent Code” is used to identify Clients that are sub-ordinate to other Clients.

the App provides a drop-down “Spinner” for the Client codes and provides you a list of those that you have previously defined so that you can select from them for input to the “Parent Code” field list instead of manually typing these entries over and over again.  Once you have manually entered a Job Type, or a Descriptive Job Name one time they will be in their respective drop-down lists for use in the future.

Details of The App

Simple Home Screen

With TimeTracker, the main screen is primarily a list populated with the Jobs or Tasks you have defined, and by default it displays them with the most recently used at the top so you need only tap the Job you are starting to work on.  If you were previously “Working” on another client, it will close out the session for the prior Job and start clocking time on the new one.  When you finish working on this Job you can tap the previous Job/Task (which will now be at the top of the list) or scroll down to another Job/Task if you are changing directions (moving on to yet another Job or task).  When your day is done or is you just want to go to a non-working status (such as for a meal-break), tap clock-out.  Then you enter the “Not Working” state.

The main activity or “Home Screen” displays just three things:

1.     Your current status; either “Not Working” or “(hh:mm) Working on …” where “…” is an indication of the Job/Task ID, and Client abbreviation you are clocking time against, and where “(hh:mm)” is the time that you clocked into the current working session.

2.     A list of all the Jobs/Tasks that you have currently defined.  By default, we list these starting with the Job/Task most recently worked at the top to minimize your need to scroll down to find another Job/Task.  We find that this is the most desired order to display them, but you can change the list sorting options to order them as you prefer in settings.  And in settings there are a wide variety of formats to choose from for these entries in the main home screen (or other lists).

3.     At the top edge of the screen is a menu bar displaying the “Home” button, the “Clock-Out” option, and a drop-down button (three vertical dots: ) to access all other menu functions.  (On tablets or other devices with more screen space, additional menu options may be displayed as screen space allows.)

Menu Options

The menu options—as described regarding the Home Screen above—are displayed in a menu bar at the top of all major screens.  This menu provides access to all the screens and other ancillary functions of the App.  While only a few options are typically visible on the menu bar at the top of small screen devices, all remaining options are made visible and accessible from within a drop-down list using a “more” button (three vertical dots: ) which will always be that last visible item.  The basic function for the entire list of options is described below, and where more complex functionality is presented, a link to information about that functionality is provided.

(Home icon)

See: Home Screen for a full list of functionality and related details.

Basics: 

This is what you see when you start the App, and where you will typically be when you perform regular day-to-day clock-in and clock out functions to start working on and switching between your various tasks.

What you see here is your current Working Status and a list of all Jobs you currently have defined in your data base.

·       If you are not clocked in to any Job, you see an indication that you are “Not Working”

·       If you are clocked into a Job, you see the time that you clocked in (most recently) to this job, and the name of the Job you are working on.

{Touch/Click} the  (“Home” icon) from any screen other than the Home screen to return to the Home screen.

When already on the home screen:

·       {Touch/Click} the “Recent Job List” title to switch to the alternate sort order (see Jobs below or Display Settings farther below for more on this).

o   {Touch/Click} the Home icon to refresh the home screen (returns the list from the alternate job list order, returning to the normal home screen job list order).

CLOCK OUT

{Touch/Click} this option to discontinue clocking time on the current Job/Task.  If you are not clocked into any Job, it has no effect.  (See also: Adjust Clock-Out Time below)

 (More)

{Touch/Click} this option (looks like three vertical dots) to open a drop-down list of the other screens and functions that may be accessed and which are described below.  These include:

·       Adjust Clock-Out Time

·       Reports

·       Jobs

·       Clients

·       Sessions

·       Db Analyzer

·       Import/Export Data

·       Settings

·       About (version info)

·       Shut Down App

Adjust Clock-Out Time

We are all human, sometimes we may forget to clock out when we get done working.  If that happens, no problem!  Just select Adjust Clock-Out Time from the menu and you can edit the current time to the actual time that you should have tapped the CLOCK OUT function.  (A similar option is available should you find that you failed to clock in to start working on a particular job.  In that case, go ahead and clock in to start working on that job as normal, then on the home screen, press & hold (long-press) the “Working on…” indicator.  You will be presented with a similar Adjust Clock-In Time screen to adjust the start time.)

Reports

Open the Reports Screen:

The Reports Screen provides most of the reporting functionality.  With a few simple choices you can create nearly any type of report you would normally need.  Most reports can be created with just a few touches.  There are three one-touch options you can also select a specific Client or Job report.  You can also limit reporting to a specific custom date ranges or use check-box options to quickly select from six typical date ranges.

Jobs

Open the Job Maintenance screen.

The Job Maintenance screen provides you the functions necessary to maintain your Jobs.

These functions are:

·       Create New Jobs
·       Lookup Existing Jobs
·       List All Jobs
·       List Jobs with Matching Criteria
·       Clear the Screen
·       Modify a Job
·       Start Working
·       List Work Sessions
·       Create a Report
·       Reset a Job
·       Delete a Job
·       Go to Client Maintenance Screen
Clients

Open the Client Maintenance screen. 

The Client Maintenance screen provides you the functions necessary to maintain your Clients.

These functions are:
·       Define (Add) New Clients
·       Lookup an Existing Client
·       List All Existing Clients
·       Delete Existing Clients
·       Modify Existing Clients
·       Go to Job Maintenance Screen
Sessions

Open the work Sessions list screen that shows all work sessions currently in the data base. 

On this screen you can scroll through the entries to find one you are interested in, then you can bring up details of the associated Job it relates to, or details of the Session Record as it exists in the data base.

Db Analyzer

Open the Db Analyzer screen.

On this screen you can view any record that exists currently in the App’s data base.

Import/Export Data

Open the Import/Export Screen

This screen provides a means (other than manually typing) by which a large list of Clients and Jobs can be initially established, added to, or extracted from the data base.  It also provides a means to create a Settings report.

Settings

Open the Settings screen.

The Settings screen provides many user adjustable options to help customize the App for the individual user in three of the four main categories.

The main settings categories are as follows:

·       User and Report Settings

·       Program Controls

·       Display List Settings

·       Retained Job and Client Info

About (version info)
 

This is what the name suggests.  It provides you these pieces of information:

·       Full App Name

o   This is the full unique name of the App.  (On Google Play each app must have a unique name)

·       Version Code:

o   This is a release code number for the specific App, it must be incremented for every release uploaded to Google Play.  A developer cannot re-release a version of the App using the same number.

·       Version Name:

o   This can be the same for subsequent revisions.  We use a date specific name to avoid misunderstandings as to what “Version” is newer when referring to another.

·       Data Base Version:

o   This is an internal version number for the SQL data base internal to the App.  We only increment this when the structure of the data base is altered between versions.

Shut Down App
 

The Android OS is in control and only restarting the device can be assured to cause a full shutdown of the App that removes and rebuilds the internal logical structures in memory.  But some people like to have a shutdown option, so this is it.

Screens - and the functionality they provide

Home Screen

With TimeTracker, the main screen is primarily a list populated with the Jobs (or Tasks) you have defined, and by default it displays them with the most recently used at the top. 

To get started working so you need only tap the Job you are starting to work on.  (If you were previously “Working” on another client, it will close out the session for the prior Job and start clocking time on the new one.) 

When you finish working on the current Job you can tap another Job/Task (if you were interrupted the and just want to return to the previous Job, it will now be at the top of the list), or scroll down to another Job/Task if you are changing directions (moving on to yet another Job or task). 

When your day is done or is you just want to go to a non-working status (such as for a meal-break), tap CLOCK OUT.  You will then enter the “Not Working” state.

The main activity or “Home Screen” displays just three things:

1.     Your current status; either “Not Working” or “(hh:mm) Working on …” where “…” is an indication of the Job/Task ID, and Client abbreviation you are clocking time against, and where “(hh:mm)” is the time that you clocked into the current working session.

2.     A list of all the Jobs/Tasks that you have currently defined.  By default, we list these starting with the Job/Task most recently worked at the top to minimize your need to scroll down to find another Job/Task.  We find that this is the most desired order to display them, but you can change the list sorting options to order them as you prefer in settings.  And in settings there are a wide variety of formats to choose from for these entries in the main home screen (or other lists).

3.     At the top edge of the screen is a menu bar displaying the “Home” button, the “Clock-Out” option, and a drop-down button (three vertical dots: ) to access all other menu functions.  (On tablets or other devices with more screen space, additional menu options may be displayed as screen space allows.)

{Touch/Click} the “Home” icon (above) from any screen other than the Home screen to return to the Home screen. 

While on the home screen, these options are available:

·       {Touch/Click} the “Recent Job List” title to switch to the alternate sort order (see Jobs below or Display Settings farther below for more on this).

o   Touching the home icon will refresh the home screen (returning to the normal job list order).

·       {Touch/Click} the name of the Job you are currently working on to see details of that Job in the Job Maintenance screen.

·       Press & hold (long-press) the entry for any job in the “Recent Job List” to see details of that Job in the Job Maintenance screen.

·       Press & hold (long-press) the “(hh:mm) Working on …” indicator to open the Adjust Clock-In Time dialogue so you can adjust the start time for the current Job if you failed to clock in when you actually started work.  (This option is only active when you are clocked into a Job.)

Client Maintenance Screen

Clients are used to identify clients, employers, schools, or other major categories for which you will track time spend working on individual tasks or Jobs that relate to the Client.

The Client Maintenance screen provides you all the functions necessary to maintain your Clients. 

These functions are:

Define new Clients

A Client only needs two things; entry of these is required, they are: Client Name; and a Client Code.  But there are two other optional things that will be assigned to each client and you may or may not wish to control those assignments.  The optional things are: Client ID; and Parent Code.

Enter Required Fields:

Client Name:

·       This should be the full name of the client.

Client Code:

·       This should be a unique abbreviation, initials or other short form identifier that you will recognize, and that to you, identifies the Client.

Consider Optional Fields:

Client ID:

·       Many companies use a numeric identifier such as an account number for their clients.  You can use this field for that purpose or you can ignore it and allow the App to assign the ID. 

·       You can change it later if you wish.  (In the app there are actually two identifiers, an Internal ID and an External ID.  All Clients are assigned a unique Internal ID so that the app can track the records in the data base.  So, if you do not manually assign a Client ID, the External ID is assigned the same value as the Internal ID.)

·       The External ID is used in reports and may be shown Job or client listings depending on the format you select in settings. 

Parent Code:

·       This field is used to differentiate Top-Level Clients from Lower-Level Clients.  It is used to identify relationships between multiple Clients (if those relationships exist).

o   Top-Level Clients: Are those that have the Null Parent Code in the Parent Code field.  By default, the Null Parent Code is a single asterisk (*), but that may be altered in settings.

o   Lower-Level Clients: Are those that have their Parent Code set to match the Client Code of another Client (the one to which they are subordinate).

o   Example: You have a client ABC who also has clients of their own DEF and GHI, and you do work for DEF and GHI on behalf of ABC, you could first create a client entry for ABC with the Top-Level Parent Code of *.  And when you create both DEF and GHI, you would use “ABC” for their Parent Code.

o   If you do not assign a Parent Code your settings will decide what code to use.

§  By default, the “Null Parent Code” will be used.

§  But you can enter a different Parent Code in the “Default Parent Code” setting, and then the “Use Default Parent” check-box will cause the “Default Parent Code” to be used instead (when you enter no Parent Code) while creating Clients. 

·       Hint: This option is meant for use when MOST (but not all) of your Clients are subordinate to one particular Client.

Create a New Client

·       Input the Required Fields and Optional Fields as needed (and described above)

·       {Touch/Click} the “Add Client” button to create the Client in the data base.  (Now you can create Jobs associated with the new Client.)

Go to Job Maintenance Screen

·       {Touch/Click} the “Job Maintenance” button to bring up that screen (if the Client ID field is already populated you can quickly list or add Jobs for that Client.)

List Clients

There are a couple ways to pull up a list of (some or all) Clients.  From any such list you can then select one Client and it will be displayed in the Client Maintenance screen.  Once searched and displayed you may wish to update or delete the client, or at that point you can also {Touch/Click} the “Job Maintenance” button bring up that screen with the Client ID already selected so you can list, add (or delete) Jobs for the selected Client.

·       {Touch/Click} the “Find/List” button to see a list of All Clients.

·       {Touch/Click} the “Find Matching” button, after entering something in one (or more) of the fields to see a list of only those Clients that match your input.

Update a Client

·       Look up the Client that needs to be updated using any of the methods described above to display the current data base entry in the Client Maintenance screen. 

·       Then make the change(s) you want, and

·       {Touch/Click} the “Update” button.

Delete a Client

·       Look up the Client that needs to be deleted using any of the methods described above to display the current data base entry in the Client Maintenance screen. 

·       {Touch/Click} the “Delete Client” button.

o   Note: Before you can delete a Client, there must be no Jobs associated with the Client.  If you attempt to delete a Client that has one or more associated Jobs, the attempt will fail (you will see a message indicating such, and the number of Jobs that exist).

§  Lookup existing jobs on the Job Maintenance screen using the Client ID that you want to delete.

You should ensure you no longer need those Jobs, create reports for them if needed, and delete them.  Then you can delete the Client.

Job Maintenance Screen

The Job Maintenance screen provides you all the functions necessary to maintain your Jobs. 

These functions are:

Create New Jobs

All Jobs must be related to an established Client, so be sure to create (or import) the Client(s) first.   To define new Jobs (or tasks):

·       Enter the Client ID one of two ways:

a.     Manually type in the Client ID number (if you know it), or

b.     Select an existing Client from a list: {Touch/Click} the “Find Client” button to pop-up the list, and select the Client.

·       Ignore the “Job ID” field when creating a new Job (the ID number will be assigned automatically).

·       Enter the “Job Type” code one of two ways:

o   Manually type in the Job Type (if the Job Type has never been used before), or

o   Select an existing Job Type from a list: {Touch/Click} the table spinner (small downward pointing triangle) on the screen left of the “Job Type” field (it looks like this: ) to open a drop-down list of the existing Job Type codes and select the one you need.

·       Enter the full “Job Description” one of two ways:

o   Manually type in the Job Description (if it has never been used before), or

o   Select from a list of existing Job Descriptions: {Touch/Click} the table spinner (small downward pointing triangle) on the screen left of the “Job Desc” field (it looks like this: ) to open a drop-down list of the existing Job Descriptions and select the one you need.

·       Enter the “Hours Budget” for the job.  (This OPTIONAL.  It simply provides you a reference so you can see this in addition to the actual hours you have worked on the Job.)  {Touch/Click} the “Hours Budget” field and enter the number of hours.

·       {Touch/Click} the “ADD JOB” button.

Lookup Existing Jobs

You may just want to look up specific existing jobs (or tasks) to see details about them, such as “Hours Budget”, “Hours Worked”, “Last Activity”, and “Last Reset”.  Or, you may want to look up lists of existing jobs with similar details, such as all Jobs related to a specific Client, or all Jobs of the same Job Description, or Job Type.  There are not many rules that apply here.  If you want:

List All Jobs:

{Touch/Click} the “Find/List” button from an empty (cleared) screen

List Jobs with Matching Criteria

Narrow the results of a search by first providing information in any of the.  Basically, you can just put in what you know about the results you want, and {Touch/Click} the “Find/List” button to produce a list of all jobs that match your input.

If only one Job matches your input, details of that Job are displayed. 

If more than one Job matches your input, a list of those that match is displayed.  If you then select from the results list, details of that Job are displayed.

Once you have found a specific Job…

 you can:

Clear the Screen

·       {Touch/Click} the “CLEAR SCREEN” button to clear all fields on the screen from any selected Job and or any input manually entered.

Modify a Job

·       Lookup a specific Job as described above

·       Modify any of the existing fields except Job ID number, and

·       {Touch/Click} the “UPDATE JOB” button to make those changes permanent.

Start Working

·       Lookup a specific Job as described above

·       {Touch/Click} the “START WORK” button to begin clocking time against the selected Job.  This is exactly the same as if you started working the Job from the Home screen.

List Work Sessions

·       Lookup a specific Job as described above

·        {Touch/Click} the “Sessions” button to view a list of work Session records for the selected Job.

Create a Report

·       Lookup a specific Job as described above

·       {Touch/Click} the “REPORT JOB” button to create a report for the selected Job.  This action will take you to the Reports Screen and populate it with information needed to generate a report on the selected Job.  Ensure the report date range reflects your need and {Touch/Click} the “Create Custom Report” button to complete the request (see: Reports above for more on reporting).

Reset the Job

·       Lookup a specific Job as described above

·       {Touch/Click} the “RESET JOB” button to clear the “Hours Budget”, “Hours Worked”, “Last Activity” information for the selected Job. 

o   NOTE: Consider Creating a report before resetting a Job.

o   Resetting the Job permanently deletes any related work session records so new reports will not reflect any previous work attributed to the Job. 

o   This action is equivalent to deleting the job and creating a new one except that the Job ID number is retained and the “Last Reset” field is updated. 

Delete the Job

·       Lookup a specific Job as described above

·       {Touch/Click} the “DELETE JOB” button to remove the selected Job and all related work sessions from the data base. 

o   NOTE: This is an irreversible action, so a “Please Confirm” dialogue will verify your intention before executing the action.

o   Consider resetting the Job instead.  If you will (or may) need a similar Job for the same Client in the future, resetting it will take less effort than deleting the job and creating a new one.

o   Consider Creating a report before deleting a Job.

Go to Client Maintenance Screen

·       {Touch/Click} the “Client Maint” button to go direct to the Client Maintenance screen.  (See Clients below for more on that screen.) 

NOTE: Options exist that control repopulation of screens with information already displayed when switching between maintenance screens for Jobs and Clients.  See: Settings - Program Control - Maintenance Screen Controls section for these options.

Reports Screen

The Reports Screen provides most of the reporting functionality.  With a few simple choices you can create nearly any type of report you would normally need.  Most reports can be created with just a few options. 

Three one-touch options are in the “Report All:” section at the top of the screen.  These produce reports as they indicate, for:

·       All Clients;

·       All Jobs; and

·       All Sessions

You can also select a specific Client to report all jobs for that client.  Or, you can select a specific Job related to the selected Client to create a report for just that job.

There are start date and stop date fields to limit reporting to a specific custom date range selection if needed.  And there are check-box options to quickly select from six typical date ranges.  These are:

·       Today - work sessions for the current calendar date

·       Yesterday - work sessions for the previous calendar date

·       This Week - work sessions for the current calendar week

·       Last Week - work sessions for the previous calendar week

·       This month - work sessions for the current calendar week

·       Last Month - work sessions for the previous calendar month

In “Settings” you can specify “none” or choose any of the above as your default date range.

Once your reporting criteria is set, {Touch/Click} the “Create Custom Report” button to produce the report.

NOTE: If you {Touch/Click} the “Create Custom Report” button without making any selections, the report will include: All Sessions, for All Jobs, with All Clients for the date range indicated. 

Delivery

Report files can be manually copied and transported from your device using your preferred method.  But if you prefer automated delivery, you can specify in settings that reports are to be emailed and they will be attached to an outbound email upon creation, and the email will be presented to you for final notations.  (You must initiate the final send command.)

File Format

Reports are created in text files using the standard .csv (Comma Separated Values) format.  The .csv format is easily imported into spreadsheet programs such as Microsoft’s Excel or Google Sheets which makes consolidation of data from several people (sub-contractors or employees) easy for corporate or other multi-user operations.

Settings

User settings are available related to reporting.  These preferences define:

·       Report file name formats.

·       Automatically attach new report files to a new outbound email message (in your default email app). 

·       Set a default destination email address for report emails to further simplify the reporting process.

And additional user preferences can be set to include or exclude certain content in each line item in certain reports; these include a user code/ID (for multi-user/corporate environments); Job count totals in Client reports; Job details in Session reports; internal record IDs (for user specific detail/research).

Sessions List Screen

The work Sessions list screen option takes you directly to a screen that lists all work sessions currently in the data base.

Note: The format of records seen on this screen, and the order in which they are displayed are established in “Display Settings”.

On this screen you can scroll through the entries to find one you are interested in, then you can bring up details of the associated Job it relates to, or the Session Record as it exists in the data base.

Open the Job Record:

·       {Touch/Click} the Session Record you are interested in to see the Job it relates to in the Job Maintenance screen.

o   Hint: From the Job Maintenance screen, you can then {Touch/Click} the “Sessions” button to go back to a list of Session records for only the selected Job.

Open the Session Record Details:

·       Press & hold (long-press) the Session Record you are interested in to see the full data base entry in the Db Analyzer screen.  (See: Db Analyzer below for more on this screen.)

o   Hint: Currently, the Db Analyzer screen will allow you to edit the Session Comments field for session records.

Import/Export Sreen

This screen provides a means (other than manually typing) by which a large list of Clients and Jobs can be initially established, added to, or extracted from the data base.  Some benefits of this feature include:

  • Companies with multiple users of the App can import a list of Clients and Jobs for each of their employees or consultants so that consistency of the Client names, codes, ID numbers, Job types and Job descriptions can be assured.
  • It provides a means to export Clients and Jobs from one device so they can be replicated in another.  For example: When you add an employee or consultant and want them to use the same App and the same Clients and Jobs.  Or, when you get a new or additional device.  In either case: Export from your original device, and import to the next device.
  • Bulk import/export capabilities are needed by people and companies that require contingency recovery plans to have effective supporting methodologies.
  • This screen also provides a means to create a Settings report should you want to compare settings from multiple devices, consultants, employees and etc.  Or simply to file them away for reference or contingency recovery purposes should you have that need or requirement.   (We did not put this report on the Reports screen because its use is more closely related to.)
  • File Names:
    • ExportClients.csv
    • ExportJobs.csv
    • ImportClients.csv
    • ImportJobs.csv
    • SettingsReport.csv

On-screen help contains details and requirements appropriate for each file.  {Touch/Click} the file name for help specific to each file.

Db Analyzer Screen

This screen was not originally created to provide functionality to the App.  It was created to allow us to verify that the data base read and write operations were working as intended.  As such, it allows you to view any record that exists currently in the App’s data base.  We didn’t remove it after initial development because it just seemed reasonable to allow users this visibility.  And ultimately it has been adopted to provide an edit feature for Session Comments if they are used. 

There are three tables in the data base; they are these:

·       Session Table;

·       Job Table; and

·       Client Table. 

Each contains the records suggested by their respective names.  To look up a record:

·       {Touch/Click} the table spinner (a small downward pointing triangle) on the right edge near the top of the screen (looks like this: ) to open a drop-down list of the tables and select the table you want (Session, Job, or Client).

·       Enter the record number in field number 1 for the Session, Job, or Client record you want to see.

o   Hint: Record numbers are

·       {Touch/Click} the “GET IT” button to fetch the record.

 

The “Field Names” of the records on the screen will be updated based on the table selected, and the contents of the specified record will be displayed if it is valid. 

If your selection is not valid the error messages are not currently customized specifically for Db Analyzer but they are clear enough to get the point.

Settings Screen

The Settings available in the App are divided into four main categories, most main categories have one or more sub-categories.

On larger screen devices such as tablets, the categories, sub-categories and settings within may be viewed on the same screen. 

On smaller screens such as typical smartphones, you have to select a category to see and scroll the sub-categories and settings within. 

The main categories, sub-categories and settings are as follows:

·       User and Report Settings

o   User Info Settings

§  User Name

§  User ID Code

o   Email Report Settings

§  Send Reports via Email

§  Send Reports to: (email address)

o   Report “Content" Options

§  Default Date Range

§  User ID Codes

§  Job Counts in Client Reports

§  Job Info in Session Reports

§  Internal Record IDs

§  Report File Name Format

 

·       Program Controls

§  Level of feedback to user

§  Show new user message

o   Confirmations

§  Confirm Start Work

§  Confirm Stop Work

o   Work Session Comments

§  Use Session Comments

§  Require Comments

§  Comment at Start Time

o   Parent Code Controls

§  Use Default Parent

§  Default Parent Code

§  Null Parent Code

§  Allow Invalid Parent Codes

§  Parent Code Lookup

·       Checked: Top-Level Only

·       Unchecked: ALL

o   Allow Duplicates

§  Allow Duplicate Jobs

§  Allow Duplicate Clients

§  Allow Duplicate Client IDs

§  Allow Client ID Overlap

§  Auto Client ID Assignment

o   Maintenance Screen Controls

§  Repopulate Jobs & Clients

§  Repopulate IDs Only

 

·       Display List Settings

o   Home Screen List Options

§  Home Screen Job Record Format Option

§  Home Screen Job List Primary Sort Key

§  Home Screen Job Primary Sort Order

§  Home Screen Job List Secondary Sort Key

§  Home Screen Job Secondary Sort Order

o   Client List Options

§  Client Record Format Option

§  Client List Primary Sort Key

§  Client List Primary Sort Order

§  Client List Secondary Sort Key

§  Client List Secondary Sort Order

o   Job List Options

§  Job Record Format Option

§  Job List Primary Sort Key

§  Job List Primary Sort Order

§  Job List Secondary Sort Key

§  Job List Secondary Sort Order

o   Session List Options

§  Session Record Format Option

§  Session List Primary Sort Key

§  Session List Primary Sort Order

§  Session List Secondary Sort Key

§  Session List Secondary Sort Order

 

·       Retained Job and Client Info

There are no settings here that can be changed manually by the user, but you can view them.  (These settings are used to retain current conditions through device power off and restarts, as well as App-shutdown and restart transitions.