User Requirements

Requirement 1

Type: Data

Description: The Time Tracker application shall be capable of receiving user input. This input data entry will be comprised of details regarding the user's existing weekly agenda that are consistent from week to week such as their school, work, sleep, exercise, or eating schedules.

Rationale: Users will have varying schedules which must be accommodated for. These events will be recorded and in the data entry section, where the user is also able to revisit and make changes to their schedule.

Criterion: The application shall contain a data entry window where the user is able to communicate these details to the application. Upon first use, the user will be prompted to enter schedule details that are generally consistent and are considered to be more permanent within their routine. The application will allow for entry of an event title, along with its start and finish time. In addition, the application shall offer a "repeat weekly" option that will need to be selected for these events to differentiate them from events they will be adding later. The user shall be able to revisit this section should they wish to make changes to their weekly schedule (for example the user drops a course).

Requirement 2

Type: Data

Description: The Time Tracker application shall intake event data that it not consistent weekly. With this, the application will give the user the option of selecting a time for their event, or having the application generate a time for their event that fits into their existing schedule.

Rationale: As users will continually need to cut out time for activities and the tasks they will be taking on, they will require an efficient tool for organizing their time. The new event the user is adding may have a fixed or flexible time slot. For example, a club would likely have a predetermined fixed time, while the time at which a user will complete a homework assignment can vary.

Criterion: For these events the user will not select the "repeat-weekly" option. Instead, they will be given the option to pick a start and finish time for their event as before, or have the Time Tracker application generate a time slot in their existing schedule in which their new event will fit. In order to create the most efficient schedule, the application will consider first the nearest available time slot and request this event time to the user. With this request, the user will be offered a "schedule" button and a "next" button. Should the user select "schedule", the event will be added to their schedule at the requested time. Selecting the "next" button will evoke the application to suggest to the user the next available time in their schedule that their event will fit.

Requirement 3

Type: Data

Description: The application shall provide a calendar window where the user can see a layout of their monthly schedule. From here, the user will be able to select an individual week within the month to view exclusively. The weekly schedule view will display more event details than the monthly view. From the weekly view, a single day can be selected to view the complete event details for that day.

Rationale: Users will wish to view their schedules in a quick, efficient formatting that is familiar to them. This calendar view of their schedule will allow them to plan their activities to ensure they are on track. It also allows them to make decisions quickly regarding what else they may be able to add to their schedules and when.

Criterion: The application shall provide a window consisting of a calendar with an appearance comparable to any standard annual calendar. To efficiently switch between monthly, weekly, and daily schedule views, the user will simply tap on the week or day they wish to see. From here, there will be a "back" button the user is able to tap to return to the previous schedule view.