epoxy edited Method.tex  about 10 years ago

Commit id: 8a80295db327b59c79171143a3c05ab424c72b73

deletions | additions      

       

\subsection{Method}  \section{Method}  To begin with, information will be gathered about how to use the Android  APIs in the most efficient way for this kind of application. This  will include how to use activities, sensors and maps. Since we're  essentially developing an application to be run entirely on Android  platforms, this part of the research will be of huge importance for  the outcome.  Alongside with the coding-aspects mentioned above, information will  also be gathered on how specific areas (GPS, audio, etc.) work and  how they’re implemented using Java for Android. Most of the information  will probably come from e-books, as well as Android's developer pages  on the Internet.  When information is gathered the structure of the app will be decided.  Here UML-models will be drawn to make the structure clear. After the  modelling decisions are made sketches will be drawn to decide how  the GUI might look.  Then the coding process will start. The parts to be coded will be  the ones mentioned in the subsection Problem/Assignment. Alongside  with the coding testing will be made to make sure that everything  is working as expected. Where it is possible the tests will be made  as test cases, but it will also be important to test with real values,  as going out and running for real and see if it works.  An evaluation will be done when the first BETA-version is done. This  will be done by letting a test group use our app and evaluate it by  conducting an interview.  \subsection{Development}  The Scrum method will be used when developing the application - a  flexible Agile software development framework where the team works  more as a unit opposed to a traditional and sequential approach. The  division of labor will be decided in cycles (sprints). Each job occasion  will begin with a daily scrum - a short meeting where the group talks  about what’s going on, what’s about to happen as well as eventual  problems.  To handle the coding part of the development, Git will be used, which  is a version handling system that makes it easy to collaborate with  others in coding projects. It makes it possible for each team member  to work in the same classes and merge them when needed. Each specific  part of the application (audio, gps etc.) will be implemented in individual  branches.  When it comes to the testing part of the development, both the virtual  phone available in the Android developing environment will be used,  as well as our own phones. Testing is essential for our application  to run as smoothly as possible, so as many test cases as possible  will be covered.  \subsection{Literature studies}  The literature studies will partly involve how the human ear perceives  sound, and how it’s possible to imitate sounds coming from specific  directions using stereo headphones \citet{Roads1996}.  Literature about Android and how to best develop the app will also  be studied. This is necessary to make the app enjoyable for the user  and flexible enough to work on different kinds of phones. According  to the Android API Guide - Fragments , fragments seems like a good  way to decompose the functionality of an app into smaller parts (fragments)  that can be reusable and depending on the screen size show up in different  quantities.  Alongside the audio and Android studies, the sensors considering position  and orientation need to be studied. While GPS is the most natural  way to measure the position \citep{Sood2012}, there are various ways  to measure the user orientation.   The orientation while in motion could be decided through the GPS bearing  \citep*{AndroidDevelopers2014}, which is calculated as the direction  the phone is travelling in. Although, while standing still and only  rotating on the spot, we might be able to use the magnetic field sensor  (compass) and accelerometer to provide an orientation of the phone  itself \citet{Sood2012}. This however has problems since the orientation  of the phone relative to the actual user is not always known (it dependa  on how the user is holding the phone).  Probably, as some initial testing shows, some combination of both  is preferable.