Double click to add a Title

AbstractMy abstract.

The University of Hull

Final year project

Web application
Personal Digital Assistant

Submitted for the BSc in Computer Science

Word Count: 3247

By Mohamed Moalin

supervised by

Dr. Bailin Deng

Dr. Darren McKie

September 24, 2017

Introduction

\label{sec:intro}

Motivation

Due to the prevalence of the condition, notable commentators went as far as to suggest selecting a single definition of the word stress is a ‘useless’ act. It is experienced by half a million people in the UK. It is caused by physiological systems that respond to physical and psychological demands. If these systems are activated too often (due to upcoming deadlines, pressures caused by managing work) there is a risk on persons to develop a range of both physical and psychiatric disorders.

Ways that have been discovered to help reduce stress levels can be found from meditation in eastern philosophy, relaxation training from physiotherapy and cognitive behavioral therapy from psychology.

An example of how these concepts can be practically used have been shown through the practice of Mindfulness to increase awareness and acceptance of the present moment in order to reduce stress levels.

The purpose of this project is to develop a stress reducing time management application that tailors for the requirements of students and professionals managing their daily task or projects as well as their personal goals and habit aspirations. The characteristics of the application include simplicity and ease of access. It is light-weight and platform independent as it runs on a server providing web services and applications.

Main functionality

The primary function of the application is to automatically schedule tasks or projects into the user’s calendar in a convenient and intelligent manner.

It would attempt to schedule the tasks in timeslots where the user is most likely to complete them based on:

  • The status of other calendars the user would have allowed the application to access;

  • Past records of whether tasks scheduled at similar times and day have been completed before or not;

  • The user’s ratings of how productive they felt at previous tasks scheduled at similar times.

This is in response to a study that defines the term ‘decision fatigue’ as “the more decisions a person has to make within a defined period of time, the worse the quality of those decisions become and the more stressed the person becomes as a result of that”.

The user can manually create a new task or project; specify whether it would be a reoccurring task, a task/project that is encapsulated by or depends on another project or a one-time event. Once a task is submitted, depending on the magnitude of the task as well as the type of task it is, it is broken down into sub-tasks and scheduled separately into the user’s calendars. The process of this application can be summed up in the following three steps discussed below.

Intelligent scheduling

First, the user is alarmed when the time of a scheduled task or project is fast approaching with the option to confirm whether they are still able to perform it or not. If the user opts to deny the task, the program enquires whether they would like to cancel the task or they can choose to reschedule it. If the user cancels the task, there is no action taken. But if they decide to re-schedule it, the program stores the timeslot and day of the rescheduled task as well as associated activity information (further explored in section XYZ) in order to enable intelligent future task scheduling.

For example, if a user had previously scheduled a task(s) on a Monday, all new tasks that are scheduled on Mondays take into consideration information stored about tasks scheduled previous Mondays.

In the instance of a new task being scheduled on a day of the week that matches to a previously scheduled and executed activity’s day of the week; the previous activity’s time is taken into consideration when determining a new time to estimate that the user is likely to complete the task. This is an implication about the user’s preferences. Implementation of this functionality will be successful with the help of ideas from machine learning and data-mining.

Information gathering

Second, if the task is attempted by the user, the application records this and observes if the user experiences distractions from the task via feedback from input streams. These input streams can vary from an ordinal rating of how productive the user felt to bionic recordings of the levels of stress the user indicates as they undertake a task.

Third, once the task is finished, this feedback from the user is gathered so that it can be used as a training-set for machine learning algorithms to use to predict when the user is most likely to be most productive with minimum stressed.

For these machine learning algorithms to provide value, a data taxonomy that is used by the learning algorithm needs to be defined and potential variables to include in this data taxonomy are explored in section \ref{sec:bg}.

Alongside this main functionality, the characteristics of the application include simplicity and ease of access. It is lightweight and platform independent.

Aims and Objective

The aim of this project is to research and develop an application that aids the reduction of stress and increases the productivity of user. This takes the overwhelming feelings that may come with having big problems to solve away from the user by scheduling and managing their workload intelligently.

The objectives of this project are as follows:

  • Objective 1 Design a user-friendly functional and interactive user interface that places emphasis on ease of use and access to the user’s calendars.

    This attracts the user to use the program more regularly.

    • Basic Refutable Deliverable: Design a basic HTML page that a user can interact with to schedule and manage tasks.

    • Intermediate Refutable Deliverable: Design an interactive web page with HTML, Javascript and a layout common framework such as MVC or MVVM.