Download - CS2001 Group Project Report
-
8/18/2019 CS2001 Group Project Report
1/7
CS2001 Group project report
Hugh Matthews, Group 11
Introduction:
My group’s idea was a location based app we called FadedLondon, where you would find various
locations in London based on a blurred image. With this idea my group members and I worked on
our own interpretations of that idea, focusing on different types of location as well as their target
user type. The purpose of this report is to critically reflect on the development process of the group
project that my group and I made through four aspects, technology, design, teamwork and the
research topic. I cover what happened, what worked, what did not work, and what could be
improved on if a similar project were to arise.
Section 1: Technology
The rest of the group and I used the same programs to develop each of our versions.
Initially I tried to make a prototype using a software program called DroidDraw, but found it is
easier to make initial prototypes by drawing on paper, and then transferring and refining the
design on Android studio, the main software used in this project. Android Studio utilises two
main languages, the scripting language XML for designing the interface and Java for making code
to switch between screens using buttons as well as detect where the user using GPS. I also used
a free software program I found online called Fotor which allows graphical effects to be applied
to pictures. This how I created the blurred images I used for this app, and it was very easy to useand understand.
Although I was familiar with java before using Android studio, I still did not find it intuitive to use.
While I still had to learn some new functions to create the code which I did eventually
understand, there was always a feeling that an error would pop up at random or that the app
would crash without me doing anything. Even when I was with a group member looking through
my code, we were finding and fixing errors and problems that either android studio could not
find or could not describe adequately enough to be helpful, which to me stressed the
importance of asking for help from people who are experienced in the subject.I found xml easier
to use than java in android studio, especially since you can add elements such as textboxes andbuttons by just dragging them on to the phone template as well as alter properties without
having to look at or change the actual xml code that much.
I realised when implementing new features to the app that the best method was to create new
projects solely for testing and improving those features. This allowed me to keep the main code
intact while being able to test new features such as gps tracking, the directional arrow, and
receiving data from a database and eventually add them into the main project, keeping it more
organised.
-
8/18/2019 CS2001 Group Project Report
2/7
To create the database and servlet, I used a program called Putty, which allows creating
databases or programs and storing them on a server. Putty uses a Linux environment and this
was my first time navigating Linux. This meant having to learn various commands in order to
navigate through and find the files I was looking for. However I have used the windows
command prompt in the past, meaning that a lot of the commands such as cd were very familiar
to me. However, there were some commands such as vi and nano, that took me a while to get
the hang of. The main problem that I had with Putty was how to use it to connect to the server
off campus, as it took me a very long time to realise that I had to connect to the Brunel
AnyConnect vpn in order to access the server. This is also the reason why I think I struggled with
this software the most and had to rely on the other group members, because I could not use and
experiment with putty outside of the labs.
The only data that is generated and used by the app is the gathering of the user’s coordinates via
GPS, to determine how far away they are from the location and what direction they need to go
in to reach it.
MySql which was used to create the database is a language that I learnt in the previous year to
navigate through and create databases. I had to learn to not only create a database but also how
to create primary and foreign keys, as well adding, deleting and altering data. This was not too
hard, as was already familiar with most of the content being taught, with the only exception of
learning how to alter existing data. Java was also used to create the servlet that accesses the
database and presents its data on a webpage.
From a technical perspective, I would develop the project in roughly the same way if I were to
attempt it again. The only thing I would change is to better plan out my time in order to flesh out
the intended features, as the final product did not turn out as polished or complete as I would
have liked it to be.
I do not have any particular usability concerns for the target user type, mainly because with
families the app will be handled by an adult parent, so if a child has trouble with using or
understanding the app, the parent will be there to help them or use the app in their place.
Considering the app also does not have much complexity to navigating its contents and is mainly
about observing visualised information, the only true usability concern comes in making sure
that the information being visualised is clear and non-vague.
Section 2: Design
Using Visio, I created a UML class diagram with entity relationships to show the relationships
between the different data entities in the database, as well as a use case to show how my
-
8/18/2019 CS2001 Group Project Report
3/7
app would work when in the hands of a user. The other members of the group also used
Visio to create a number of different diagrams, including object, sequence, state machine
and deployment diagrams. I chose to do a class diagram because I could place entity
relationships on the diagram in order to more easily demonstrate how the classes interact
with each other.
When designing the screens I tried to take the concept of “flow” into account to achieve one
particular goal which was to get the user to a destination without them relying on a map or
specific, detailed instructions to get there. To achieve a balance between the user knowing
exactly how to get a destination and getting completely lost, I decided to include an arrow
into the app that points them in the basic direction of the destination, meaning that they will
not get lost but they will still have to navigate the streets of London in order to get there.
While I was looking into how to engage my demographic, I looked into tourist motivation
and how older tourists are motivated by a desire to learn more about the culture and
heritage of the location they are visiting. In order to appeal to this, I decided to incorporate a
system where as the user gets closer, facts about the location will appear, keeping the user
engaged in finding the location. I also researched a psychological concept called epistemic
curiosity, looking into e-type curiosity and how children are motivated more by novelty
rather than a desire to learn.
I did not use the design diagrams that were produced with the group for designing the visual
and technical aspects of the app. They were produced mainly for the database that we
created in task 2. A design pattern that I did use was to constantly create new projects to
experiment with new features and then discussing how to improve the app with the other
group members, later adding them to the main project. This is similar to the rapid
prototyping methodology that is popular with many software developers.
If I was to design a similar app again I would still use a design pattern that includes some sort
of constant iteration. I found that this was a more efficient approach to not only developing
the project but also to what furthering my programming knowledge.
Section 3: Teamwork
I feel that the idea that the project group chose worked very well for the group. It allowed us
to not only target a wide variety of demographics but also allowed us to have our own
iterations on the basic idea of finding a location based on a blurred image.
Before the end of the first term, we did have occasional meetings, but the weekly meeting
with the tutor was when the most progress was made; clarifying any doubts we had about
task briefs, as well as helping us develop the concept of the app. During later tasks the
number of meetings increased to make up for time spent on other modules and work.
Despite this, organising meetings was rather difficult since we had to plan around our own
schedules as well as taking travel times for members living outside the university into
-
8/18/2019 CS2001 Group Project Report
4/7
account, making it difficult to be efficient. However, we still managed to have effective
meetings that made progress.
Our main communication mechanism was a WhatsApp group were we would ask questions
about parts of a task we were struggling on, organise meetings and socialise. One main
benefit to this is that, since all of the group could see our messages it made us more open to
asking for help. For example, if one group member asked for help with a problem, another
person who also has the same problem but does not want to ask for help could see the
discussion in the group and get help indirectly from that. This means that in the future, that
person would be more willing to ask for help.
We mainly used our WhatsApp group rather than the tools on Blackboard. However, we did
use the file exchange tool. This was useful for posting files of diagrams and code that the
whole group could look at and take inspiration from.
Despite this, one thing that I would have done differently is to try and do more work andresearch independently of the group. This is because more often than not, I felt like I was
just waiting for a person to help me solve a problem that I had instead of me trying to work
on the problem while waiting for someone in the group to be available to help. I think that
this led to a situation in task 2 where one or two people would be in charge of creating
diagrams and tables, while the rest of us would then learn from those members. Although
we did eventually learn what the tables and diagrams meant and represented, I feel that this
placed a bigger burden on the members who had to help us with understanding the content,
especially when it wasn’t exactly clear to anyone how to approach it, leading to us seeking
clarification from the lecturer. The next time a situation like this occurs, I would try to learn
more independently while also not being against help when I feel like I need it.
As I have just explained , our could have been more efficient but overall I do think that we
were effective.
For task 1 we discussed what user types are app could be directed towards and which user
types we would choose to work on. Task 2 was different as the work we would eventually
submit individually was mainly worked as a group, unlike task 1 were we had to develop the
app based on our individual ideas. Therefore, the group was split up into different tasks, half
worked on developing the servlet code, half worked on creating the database structure
where we would individually add our own unique data tables. I helped with creating thedatabase structure, suggesting what types of table were needed and how the data would be
presented in those tables.
Section 4: Research Topic
-
8/18/2019 CS2001 Group Project Report
5/7
The research topic that I have decided to look at and experiment is “Visualising mobile
devices and the internet of things for the L2 project”. This is because to an extent I am
already trying to visualise directional information in the form of an arrow that points the
user to a location. Another reason is that the user’s mobile phone has to interact with other
objects in order get the coordinates of the user’s location and calculate what direction the
user needs to go in, as well as register the qr codes that the user will receive when they
reach the location. With this system you can effectively connect users to businesses using
the internet/GPS.
As I struggled to find a way to implement an arrow that would rotate and point to the
location, I thought that an alternative solution could be to implement a graph instead,
showing a line connecting the user’s location and the destined location. One interesting
opportunity that arose was that the line would get shorter as the user got closer, giving the
user another source of useful visual feedback.
Another prospect I have to consider when trying to visualise information is the limitations of
the mobile platform, the screen size, the limited hardware as well as the variabilities in form
factor. To address potential issues with performance, the arrow will not be constantly
updated in real time, instead the user will have to press a button in order to update the
arrow and orientate themselves towards the location. This has the benefit of allowing the
user to focus on the environment around them, making them able to navigate their way
safely as they will not be too distracted looking at their phone. It becomes more significant
when you take the typical mobile context into account, unlike office environments, mobile
contexts are full of distractions or other activities which are being carried in parallel (i.e.
walking), meaning that cognitive resources are not being fully committed to the device. To
be able present the same information while using less cognitive resources is a big benefit,
especially since the app is targeted towards families with small kids.
-
8/18/2019 CS2001 Group Project Report
6/7
I would recommend trying to further implement this type of visualisation to other areas of
the app, even if they don’t seem like they could be visualised easily. The less cognitive
resources the user has to use to understand the app, the better, especially when the user is
multitasking.
Conclusion:
In conclusion, I think that the group and I as a whole managed to come up with a novel
implementation of the “treasure hunt” concept through FadedLondon. Through several
meetings and constantly iterating on the concept while getting feedback from other group
members, the group and I were able to expand the idea and successfully apply it into many
different areas. I think a key improvement would be to plan out meetings better in order to
get more done, as well as make more efficient use of time to make sure that the work is
done not near to a deadline, but more evenly throughout the period of time available.
References:
Csikzentmihalyi,M. (1992) Flow: the psychology of happiness USA: Harper & Row
Chittaro, L. (2006) Visualising Information On Mobile Devices , Computer, Vol 39, no.3, pp40-45
-
8/18/2019 CS2001 Group Project Report
7/7
Valkenburg, P., Litman, J., Pitrowski Taylor J. (2014), Measuring Epistemic Curiosity in Young
Children, Infant and Child Development, Volume 23, no.5, pp 542-553
CORREIA, A., KOZAK, M. & FERRADEIRA, J., (2013) From tourist motivations to tourist
satisfaction. International Journal of Culture, Tourism and Hospitality Research. 7 (4) . p. 411-
424.