Abstract

Introduction

\section{Introduction} \label{sec:introduction}
With technology steadily improving over the years, people are becoming more interconnected than ever and entertainment in form of applications are plentiful. Despite this, depression continues to rise among the general population. According to the World Health Organization, over 322 million cases of depressive disorder were recorded in 2017, representing a rise of around 18.4% over the past ten years \cite{who_depression}. Not only does depression negatively impact wellbeing, it may also lead to complications such as increased fatigue, decreased motivation or even suicide. As a result, researchers have used computing technologies known as \textit{Affective Computing} that seek to identify human emotions in order to combat mental disorders \cite{ieee_affective}.

In \cite{sohappy}, Moore, Galway and Donnelly propose a smartphone application to be used in a future study. It is designed to encourage smiling, which has been shown to positively affect happiness and thus serves as an effective means to counteract depression. The research objective of this report is to design and implement the approach described by Moore, Galway and Donnelly as an Android application. In order to render the application suitable for different kinds of studies, the application's components are designed to be as interchangeable as possible, allowing individual adjustments to be made with ease.

The report starts with an overview of appropriate approaches to implement the application in Section \ref{sec:background}. In Section \ref{sec:methodology}, the design choices and architecture of the app are described in detail, followed by a description of the implementation details in Section \ref{sec:implementation}. After presenting the development outcome in Section \ref{sec:results} and a discussion about alternative approaches in Section \ref{sec:discussion}, Section {sec:conclusion} concludes the report with ideas for further work on the app.

Background Research

\section{Background Research} \label{sec:background}

Methodology

\section{Methodology} \label{sec:methodology}

User Journey

\subsection{User Journey} \label{sec:user_journey}
Upon launching the soHappy app, the user will be presented with a home screen, where they can either start the app or navigate to miscellaneous screens via an options menu in which the user may change settings, for example.
When the user starts the app, they will be asked to move their face into the camera frame.

Once a face has been detected, a countdown of three seconds is started, allowing the user to relax and take a couple of breaths. After the countdown has expired, the user will be asked to smile for a set number of seconds. Visual feedback is provided to the user once a smile has been detected.
By virtue of the user seeing their own face during this process, genuine smiling may become difficult, especially if the user has problems with feelings of self-consciousness. In order to assist the user in smiling, a stimulus is shown on the screen, telling the user to recall memories they are fond of. Furthermore, a color filter is applied to the camera, rendering objects harder to recognize.
Should the user fail to smile for at least ten seconds after their face has been detected, the process will be canceled. From this point, the user may opt to try again or continue on to the next part.

Following this process, a set of six questions querying current circumstances are posed to the user, which they are asked to answer. Once all questions have been answered, the user will be thanked for their participation and presented with a percentage indicating how likely they are genuinely happy.

Architecture

\subsection{Architecture} \label{sec:architecture}

State Machine

\subsection{State Machine} \label{sec:state_machine}

User Interface

\subsection{User Interface} \label{sec:user_interface}
Like most smartphone applications, the soHappy app consists of multiple screens that the user can navigate through, each of them serving a different purpose. Such screens can be implemented in Android using the \texttt{Activity} and \texttt{Fragment} classes. An \texttt{Activity} object acts as an entry point to an Android app and provides a window for User Interface components to be created in \cite{intro_to_activities}. \texttt{Fragment} objects largely fulfill the same task, but are distinct from \texttt{Activity} objects in that they cannot persist on their own and must be hosted within an \texttt{Activity} object \cite{intro_to_fragments}. Since the soHappy app can only be started manually, a single \texttt{Activity} object for its sole entry point is sufficient. Each screen within the app is implemented with a \texttt{Fragment} object, which is hosted inside the single \texttt{Activity}. A small selection of \texttt{Fragment} objects are shown in figure. (TODO: Add figure here)

In terms of design, Android apps are generally expected to conform to Material Design, a set of guidelines defined by Google to help ensure both visual and practical consistency. As such, the user interface of the soHappy app is designed with Material Design in mind \cite{material_design}, incorporating principles such as animation or design based on the real world.

% (obsolete?) soHappy uses an \textit{App bar}, a typical trait of Material Design apps, which contains the title of the current screen and thus helps the user in navigating around the app. Additionally, the app bar provides an overflow menu, allowing the user to navigate to various miscellaneous screens.

Implementation

\section{Implementation} \label{sec:implementation}

Results

\section{Results} \label{sec:results}

Discussion

\section{Discussion} \label{sec:discussion}

Conclusion

\section{Conclusion} \label{sec:conclusion}

References

Add new references in BibTeX format here.

@inproceedings{sohappy,
author = {Moore, George and Galway, Leo and Donnelly, Mark},
title = {Rapid Object Detection using a Boosted Cascade of Simple Features},
year = {2001},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3154862.3154936},
doi = {10.1145/3154862.3154936},
booktitle = {Proceedings of the 11th EAI International Conference on Pervasive Computing Technologies for Healthcare},
pages = {348–354},
numpages = {7},
location = {Barcelona, Spain},
series = {PervasiveHealth '17}
}

@inproceedings{ieee_affective,
author={C. {Zucco} and B. {Calabrese} and M. {Cannataro}},
booktitle={2017 IEEE International Conference on Bioinformatics and Biomedicine (BIBM)},
title={Sentiment analysis and affective computing for depression monitoring},
year={2017},
pages={1988-1995}
}

@inproceedings{who_depression,
author = {{WHO}},
title = {{Depression and other common mental disorders - Global health estimates}},
year = {2017},
notes = {{Geneva: World Health Organization. Licence: CC BY-NC-SA 3.0 IGO.}}
}

@onlineintro_to_activities,
author = {Google},
title = {{Introduction to Activities Android Developers
},
url = {https://developer.android.com/guide/components/activities/intro-activities},
notes = {Retrieved September 15, 2020}
}

@onlineintro_to_fragments,
author = {Google},
title = {{Fragments Android Developers
},
url = {https://developer.android.com/guide/components/fragments},
notes = {Retrieved September 15, 2020}
}

@online{material_design,
author = {Google},
title = {{Design - Material Design}},
url = {https://material.io/design},
notes = {Retrieved September 15, 2020}
}

Select a repo