KIT305/KIT607
Assignment 2
Implementation and Evaluation of a Mobile Application
Journal and Mood Tracking Application
Due Date
The assignment has three assessable components:
- The application code (worth 50%; pair-based work), due on Monday 20th May 2019 23:55 (week 12).
- A report (worth 40%; pair-based work), due on Monday 27th May 2019 23:55 (week 13).
- A demonstration (worth 10%; pair-based work), due in your scheduled tutorial (week 13).
Background
In assignment 1, your task was to design and prototype a native mobile application that allowed a user to create and
modify journal entries and track their mood.
Your task for this assignment 2 is to now implement and evaluate a mobile Android or iOS application that provides
the functionality. An updated list of requirements and additional requirements is provided in this document.
In the week 7 tutorial and in your own time, you will evaluate your different prototypes from assignment 1, to
determine which ones meet the usability goals discussed in this unit, and which should form the basis of your
assignment 2 code. Note that you are not required to match all of the functionality or visual style from assignment 1,
but you should aim for some similarity between your assignment 1 and assignment 2 work. Functionality from
assignment 1 which is not specified in the “Code” section of this document is not required to be complete (for
example, if your assignment 1 featured a login page, you are not expected to make this function, but you are
encouraged to include a non-functional version of this in the app if you have time).
The goal of this assignment is to assess your ability to implement and evaluate mobile applications, and to
demonstrate your understanding of the fundamentals of mobile device programming when applied to a practical
context.
Group Work
This is a pair-based assignment. Group members will need to agree on a target mobile OS (Android or iOS), and – after
some usability think-aloud testing of the available prototypes – agree on the design that is to be implemented in code.
You MUST have a partner chosen by your week 7 tutorial. If you have difficulties finding a partner, use the
discussion board on MyLO, and speak to other students looking for partners. You will be assigned to a group in week
7.
Use the following link to register your group (only one group member needs to do this):
https://forms.gle/srcK1HwaHD6…
Changes to group members MUST be approved by the Unit Coordinator. Late changes may not be approved.
Group members should contribute equally to ALL components of the assignment (report, code, demonstration). This
assignment will be subject to peer assessment, further details will be provided on MyLO.
Code (50%)
When you create your application, please use the following bundle identifier:
au.edu.utas.username.assignment2
(replace username with the username of one of the group members)
The Android or iOS application that you are to implement must consist of at least: - A way of entering a new journal entry and saving it.
o At a minimum, journals should consist of a title, text, and a date of when the journal entry is saved.
Extra meta-data such as location or tagged friends is not required to function correctly.
Storing an image is considered an additional requirement (see below), not a core requirement
for this assignment. - A way of showing a user’s past journal entries, and seeing more information about them.
- A way of editing and deleting previous journal entries.
- A way of selecting a current mood (this can be separate to creating journal entries or integrated into creating a
journal entry). - A way of seeing how A user’s mood has changed in the past. As A core requirement, this needs only to list past moods. Displaying a graph is considered an additional requirement (see below). Data entered by the user should persist between runs of the application. You can use any data persistence method taught in this unit to accomplish this (e.g. SQLite, file writing, The or SharedPreferences/shorter-lived UserPreferences). You should not “pre – the fill” the database with user – rose information (to the as existing journal entries), as the application should function (not crash) when the user has just opened the application for the first time. Remember that any testing data you enter while developing your application will not be visible to your marker, as they will be installing a fresh version of your application on their emulator. An important feature of your application will be its usability, i.e. learnable, memorable, efficient, failure-resistant, forgiving, and satisfying. For the purpose of this assignment, Particular emphasis will be placed on the “efficiency” aspect of usability. This means that if users choose to, they can create a short journal entry quickly, without too many additional steps. Aside from checking for functionality, your program will be assessed on its robustness (i.e. does the application crash), usability, and aesthetics. You will not be assessed on your coding style, commenting, or indentation, however given the scale of this application, you are advised to do this to assist in development. Remember to leave enough time to test your application on the School Mac computers. There may be some problems when you transfer a project from a personal laptop, so you need to leave enough time to solve these. When transferring an Android Studio project between computers, Use the file-> Export to Zip… option to avoid errors. Additional requirements To gain higher marks, additional functionality should be added based upon the list below. Use the CRA below to work out how many marks you will get for completing these additional requirements.
- The user can store an image in their journal by taking a picture using the phone.
- The user can share a journal entry to another application (such as email, chat program). The shared data,
should just be a plain-text version of the journal entry (you do not need to implement user accounts or a server for
this, see the lecture slides for information on sharing). - The history of The user’s mood over time is shown using a graph. O You are allowed to use a 3rd-party plugin for drawing A graph of this part of the assignment (as long as you cite the author). If assignment 1 prototype doesn’t include functionality for these requirements, you can still implement this by adding this to your application. Check the CRA at the end of this document to see the weighting of each component. Report (40%) You will have been reading many articles throughout the semester that report on the design, iterative refinement, and evaluation of new mobile and ubiquitous computing applications. Your readings have also been complemented by articles on interaction design and discount usability methods. Accompanying the implementation of your application will be a report outlining how you were able to apply the process of usability testing (and specifically think-aloud evaluation) to iteratively improve the design and usability of your application. You must write a report that is up to six (6) pages long (single-spaced, 10pt Times font). This page count includes figures and tables, but excludes references. Your report should include the following sections:
- Introduction;
- Description of Application (including selected screenshots of lo-fi prototype and final application);
- (Usability) Methodology;
- Results;
- Discussion;
- Conclusions; and
- References. The Methodology section will outline the usability testing that was employed. It will also include details on how the testing was conducted, including a description of the user participants and the test-tasks that were chosen for the think-aloud evaluation (with a table showing tasks in rows and requirements in columns; see week 02 lecture). It is expected that for a HD-level assignment, that you conduct iterative testing across at least three different prototypes. Check the CRA for what is required. The Results section will report the results of the usability testing. You should present a table of results, however only simple summary statistics are necessary; you are NOT expected to conduct accurate statistical analysis such as t-Tests, ANOVAs, or correlation). The purpose of this section is to show that you understand the testing process and have conducted testing, not to get perfect usability scores. You will not be assessed on whether or not your results were positive or not. The Discussion section will provide a self-assessment critique of performance on all of the above criteria, and will include a summary of the strengths and weaknesses of the application. You should refer to your results section to back up your statements with data. The report will also reference the set readings, lecture slides, and other literature and resources as appropriate to justify decisions and provide background information. Demonstration (10%) In addition, you are required to demonstrate your application during the week 13 tutorial timeslot. The demonstrations will be limited to four (4) minutes total. All group members must participate in the demonstrations, and the 4-minute timeslots will be strictly enforced to ensure that all presentations are completed within the tutorial session. The group demonstrations will need to:
- State the goals of the work for a broad public;
- Outline the design and testing that was conducted;
- Provide a convincing example of how a person would use the prototype (using either the emulator, a series of
screenshots, or a physical device); and - Provide convincing evidence that the application meets its goals.
You may choose to create a PowerPoint presentation, but this is not necessary. You choose how to best communicate
the information above.
If you choose to use a physical device for your demonstration, you must ensure you have tested your application
thoroughly on the device prior to the demonstration. There will be no time during the tutorial to deploy to the device,
you must do that at well before your allocated time.
Assignment Submission
The following files must be submitted via MyLO before 23:55 on Monday 20th May (Week 12): - One zip file, Containing the project files. The zip filename should start with your UTAS account name (either members’ name is fine). o For Android, you should create this ZIP file using the File -> Export to Zip option. Submit the ZIP file which is created. o For iOS, you need to find your .xcodeproj file and project folder in Finder, select them both, Right -click and choose “Compress” Submit the ZIP file which is created.
- A group assignment coversheet (available from the ICT website):
http://www.utas.edu.au/__data…
The following files must be submitted via MyLO before 23:55 on Monday 27th May (Week 13): - The group report, in PDF format, with a filename that starts with your UTAS account name (either members’
name is fine). - A group assignment coversheet (available from the ICT website):
http://www.utas.edu.au/__data…
Only one group member needs to submit these deliverables.
Peer assessment submission items are to be announced on MyLO, and will be due in Week 13.
Make sure to test your application on the University Mac machines in UC215 before submitting your assignment.
Unzip your application to the desktop of a lab machine you haven’t used before. Test that application opens and
compiles in Android Studio/XCode, and runs in the emulator. Android applications will be tested using a Nexus 5X
emulator. iOS applications will be tested on an iPhone X simulator. (If you have errors attempting to run your project,
be sure to try Build -> Clean Project, and running again).
Plagiarism and Cheating:
Practical assignments are used by the Discipline of ICT for students to both reinforce and demonstrate their
understanding of material which has been presented in class. They have a role both for assessment and for learning. It
is a requirement that work you hand in for assessment is your own.
Working with others
One effective way to grasp principles and concepts is to discuss the issues with your peers and/or friends. You are
encouraged to do this. We also encourage you to discuss aspects of practical assignments with others. However, once
you have clarified the principles of the problem, you must develop a solution entirely by yourself in your pair. In
other words; you and your partner must develop the application yourselves. You can discuss problems, but not share
solutions. Assistance with solutions should be provided by staff.
Cheating
Cheating occurs if you claim work as your own when it is substantially the work of someone else.
o This includes the use of third-party code from online resources.
Cheating is an offence under the Ordinance of Student Discipline within the University. Furthermore, the ICT
profession has ethical standards in which cheating has no place.
Cheating involves two or more parties.
o If you allow written work, computer listings, or electronic versions of your code to be viewed,
borrowed or copied by another student you are an equal partner in the act of cheating.
o You should be careful to ensure that your work is not left in a situation where it may be used/stolen
by others.
Where there is a reasonable cause to believe that a case of cheating has occurred, this will be brought to the attention
of the unit lecturer. If the lecturer considers that there is evidence of cheating, then no marks will be given to any of
the students involved and the case will be referred to the Head of Discipline for consideration of further action.
Note: You are allowed to use a 3rd-party plugin for drawing a graph for the “mood tracking graph” part of this
assignment, and you may use the built-in SQLite implementation provided in tutorials. You may not use any other
3rd-party plugin for any other part of this assignment.
KIT305/KIT607 Assignment 2, Semester 1, 2019: Implementation and Evaluation of a Mobile Application
Criterion High Distinction (HD) Distinction (DN) Credit (CR) Pass (PP) Fail (NN)
Code (50%; ILO2)
Students are to produce a journal and mood tracking
application
Functionality – Journal List (30%):
The application should have a way of showing a
user’s past journal entries, and seeing more
information about them.
The application should have a way of editing and
deleting previous journal entries.
A custom layout/view for each entry is used,
showing appropriate detail for a summary
screen.
The user can delete entries from the journal.
The user can modify entries in the journal
without needing to delete and re-add the items.
The user can see more detail about a journal
entry by navigating to a journal page and
sensible choices were made for this.
The interface for this part is highly intuitive;
provides a consistent look and feel and usage
across all screens and is aesthetically pleasing.
Application never crashes and has been tested
thoroughly to avoid the existence of bugs.
The journal can be filtered or searched in some
way.
A custom layout/view for each entry is
used, showing appropriate detail for a
summary screen.
The user can delete entries from the
journal.
The user can see the quantity required for
each item.
The user can modify items in the list
without needing to delete and re-add the
items.
The user can see more detail about a
journal entry by navigating to a journal
page and sensible choices were made for
this.
The interface for this part is intuitive and
aesthetically pleasing.
Application never crashes. There are only
very minor bugs (if any).
A custom layout/view for each entry is
used, showing details of each journal
entry.
The user can delete entries from the
journal.
The user can see more detail about a
journal entry by navigating to a journal
page.
The interface for this part is somewhat
intuitive.
There are only some bugs (if any) in the
application and/or very rarely crashes.
The title of each journal
entry is listed.
The user can delete
entries from the journal.
A basic list view is
provided.
The user can see more
detail about a journal
entry by navigating to a
journal page.
There are only some
bugs (if any) in the
application and/or rarely
crashes.
The application does not
compile OR crashes on
start-up OR crashes
frequently.
The user is unable to view
all journal entries or is
unable to delete items.
Functionality – Add Entry (15%):
The application should have a way of entering a
new journal entry and saving it.
At a minimum, journals should consist of a
title, text, and a date of when the journal entry
is saved.
Users can add journal entries with a title, text,
date, and sensibly-chosen additional metadata.
The interface for this part is intuitive and
aesthetically pleasing.
Users can add journal entries with a title,
text, and a custom date, and additional
meta-data.
The interface for this part is intuitive and
aesthetically pleasing.
Users can add journal entries with a title,
text, and a custom date and time.
The interface for this part is somewhat
intuitive.
There are only a few bugs (if any) in this
part of the app.
Users can add journal
entries with a title, text,
and the current date
and time.
There are only a few
bugs (if any) in this part
of the app.
The application does not
contain functionality to add
journal entries.
Crashes prevent the user
from adding journal
entries.
Functionality – Mood Tracking (15%):
The application should have a way of selecting a
current mood (this can be separate to creating
journal entries or integrated into creating a journal
entry).
The application should have a way of seeing how
a user’s mood has changed in the past.
Users can enter their mood without having to
create a journal entry. Users can select a
custom mood (if appropriate to design of app).
Users are able to see a history of their moods.
Sensible choices are made for this display.
The interface for this part is intuitive and
aesthetically pleasing.
Users can enter their mood without having
to create a journal entry.
Users are able to see a history of their
moods.
The interface for this part is intuitive.
Users can enter their mood without having
to create a journal entry.
Users are able to see a history of their
moods.
The interface for this part is somewhat
intuitive.
There are only a few bugs (if any) in this
part of the app.
Users can select a
mood when creating a
journal entry.
There are only a few
bugs (if any) in this
screen.
The application provides
no functionality for
entering a mood, or
crashes prevent this part
of the assignment being
assessed.
Functionality – Data Persistence (15%):
Data entered by the user should persist between
runs of the application. You can use any data
persistence method taught in this unit to
accomplish this (e.g. SQLite, file writing, or
SharedPreferences/UserPreferences).
All data entered by the user persists between
runs of the application.
There are no noticeable bugs with the
persistence.
The application functions when there is no data
in the database.
All data entered by the user persists between runs of the application.
There are only some bugs (if any) with the persistence.
The application functions when there is no data in the database.
Most data entered by
the user persists
between runs of the
application.
There are only some
bugs (if any) where
some data does not
save.
The application
functions when there is
no data in the database.
Data does not persist
when the application is
closed and re-opened.
Usability – Efficiency (5%):
The application should make it easy for user to
quickly create short journal entries.
The interface provides well-thought out
functionality for making creation of journal
entries a quick process.
Basic functionality for making the creation of journal entries quickly is provided.
There are no noticeable bugs with this implementation.
Basic functionality for
making the creation of
journal entries quickly is
provided.
There are only some
bugs with this
implementation.
The application does not
have any design decisions
that make creating a
journal entry a quick
process.
Additional Functionality – Camera (10%):
The application should allow the user to add
images to their journal entries.
The application allows you to choose a photo
from the phone’s image gallery or camera and
add it to a journal entry.
The image is displayed on the screen after the
user selected the image and throughout the
rest of the app.
The image is saved to the database (either file
URL or image data is fine).
There are no bugs with the camera
functionality.
The application allows you to choose a photo from the phone’s image gallery or camera
and add it to a journal entry.
The image is displayed on the screen after the user selected the image and throughout
the rest of the app.
The image is saved to the database (either file URL or image data is fine).
The application allows
you to choose a photo
from the phone’s image
gallery or camera and
add it to a journal entry.
The image is displayed
on the screen after the
user selected the
image, but the image
does not persist on
consecutive runs.
The application features
no camera functionality or
the camera functionality
crashes the app when
triggered.
Additional Functionality – Sharing (5%):
The application should allow the user to share
a journal entry to another application on the
phone (such as email, chat program).
The application allows you to use the OS’ builtin
sharing functionality to share a text version of
a journal entry with all details (title, text, date,
mood).
Bonus (difficult): The user can share the text,
AND image attached to the journal entry.
The application allows you to use the OS’ built-in sharing functionality to share a text
version of a journal entry with most details.
The application allows
you to use the OS’ builtin
sharing functionality
to share the title of the
journal entry.
The application features
no sharing functionality or
the sharing functionality
crashes the app when
triggered.
Additional Functionality – Mood Graph (5%):
The application should display a graph to
showing the history of the user’s mood.
The application shows a visually pleasing graph
which uses data from the database (or other
data persistence method).
The graph can be filtered by different time
periods.
There are only a few bugs (if any) with the
graph functionality.
The application shows a simple graph
which uses data from the database (or
other data persistence method).
The graph can be filtered by different time
periods.
There are only some bugs (if any) with the
graph functionality.
The application shows a simple graph
which uses data from the database (or
other data persistence method) but doesn’t
change when the user selects different
time periods (but options still visually exist
to select a time period).
There are only some bugs (if any) with the
graph functionality.
The application shows a
simple graph (that is not
simply a static image).
The graph uses data
from the database (or
other data persistence
method).
The application does not
feature a graph or the
graph crashes the app
when displayed or a static
image is shown for the
graph.
Report (40%; ILOs 1,3,4)
Student is to create a report up to 6 pages long.
Description of Application (25%; ILO3)
The report will describe the functionality that has
been implemented; including images of the low-fi
prototype and final application.
All core functionality is explained in a concise,
and well-written manner.
Screenshots are clear and show the core
functionality of the app.
A reasoned description of how the final
application and lo-fi prototype differ is
provided.
All core functionality is explained in a
well-written manner.
Screenshots are clear and show the core
functionality of the app.
A description of how the final application
and lo-fi prototype differ is provided.
All core functionality is explained.
Screenshots show the core functionality
of the app.
Report contains an
overview of the
functionality and some
screenshots.
Fails to provide a
description section.
Methodology (25%; ILO4)
The report will outline the usability testing that
was conducted and the procedure in which it
was conducted.
The employed usability testing is welldescribed
and well founded; and accompanied
by clear usability test tasks and success
requirements.
Choice of methodology is well-justified.
At least three prototypes are evaluated over
multiple rounds of testing (i.e. iterative testing is
conducted).
The employed usability testing is welldescribed;
and accompanied by clear
usability test tasks and success
requirements.
At least three prototypes are evaluated.
The employed usability testing is welldescribed.
At least two prototypes are evaluated. At least one prototype is evaluated, and most required details of the testing procedure are described. Methodology follows the recommendations for this unit. Fails to provide a methodology section. Results (25%; ILO4) The report will report the results of the usability tests. Results are complete (and in a concise table) and include completion times with summary statistics. Results match the methodology described in the report. Results are complete (and in a concise table), and match the methodology described in the report. Basic results are provided. Fails to provide a results section, or some results are missing or inconsistent with the methodology section. Discussion, Conclusion, and Overall Report Style (25%; ILO1) The report will provide a self-critique of The application’s performance, including strengths and weaknesses of the application. The report will link to the set readings and other literature and resources as appropriate. A thorough and insightful discussion of the results exists, sensibly highlighting ways future versions of the app could be improved. Report covers all of the required sections. It is very well structured, has the required length, and has a logical flow between sections. English conventions of spelling, grammar, and punctuation are excellent. Academic referencing is consistent, with many references beyond the set readings. A thorough discussion of the results also exists. Report covers all of the required sections. It is well structured, has the required length, and has a logical flow between sections English conventions of spelling, grammar, and punctuation are excellent. Academic referencing is consistent, with some references beyond the set readings. A detailed discussion of the results is provided. Report covers all of the required sections. It is well structured, has the required length, and has a logical flow between sections English spelling, grammar, and punctuation are good. Academic referencing is consistent, linking to the set readings. Some discussion of the results is provided. Report covers all of the required sections. Academic referencing links to the set readings. Fails to provide a report, or report is missing some required sections. Demonstration (10%; ILO5): Within the allocated 4- minute group timeslot, students are to:
- State the goals of the work for a broad public.
- Outline the design and testing that was
conducted. - Provide an example of how a person would use
the prototype. - Provide evidence that the application meets its goals. The demonstration convincingly covers the required objectives and holds the attention of the audience. It is clear and rehearsed; flows nicely over the different topics and speakers. The demonstration is coherent, interesting, and informative; eye contact is made; and the demonstration is complete within 4 minutes. The demonstration is not rushed. The demonstration convincingly covers the required objectives. It is clear and rehearsed; flows nicely over the different topics and speakers. The demonstration is coherent; and complete within 4 minutes. The demonstration is not rushed. The demonstration covers the required objectives. The demonstration is clear and rehearsed and complete within 4 minutes. The demonstration somewhat covers the required Objectives. Fails to demonstrate. WX: Codehelp