Project evaluation Flashcards
Describe your chosen outcome 1
I made a travel app called ‘Road Less Travelled’, for youth and young adults from ages 12-30 to find locations across New Zealand that are less well known and access the relevant navigational information about them. At each location users are also provided with suggestions as to how they can improve conditions for life on land, or their own health and wellbeing while they are visiting. This supports environmental sustainability and physical wellbeing, as well as tourism within New Zealand.
Describe your chosen outcome 2
I coded my app in xcode using swift, swiftUI and json, with documentation from Apple developer to inform the process. I personally took all the images for my app at each of the locations, and edited them using filters I had created on VSCO. I then scaled them to the appropriate size using Adobe Photoshop. I also used Firebase Authentication to create user accounts and Firebase Database to securely store all of their details (email, username and password). To use these Firebase features, I installed pods using terminal.
Sequencing of key tasks in the project 1
These are some of the decisions I made as part of the development process, and my reasons for them.
For testing and trialling sprints, I followed a sequence of tasks from conducting research to inform my designs, to writing code, debugging, conducting usability testing, gaining feedback, developing the designs and making changes until successful. This meant that I was able to complete debugging and usability testing as I went, to ensure errors within my code weren’t being compounded and that each of the designs functioned effectively (rather than moving on to write code for new components while others still did not work).
Sequencing of key tasks in the project 2
I was then able to copy and paste code that was functional to other swift files for efficiency. For example, I tested the information display boxes on the live map page for the ‘Mathesons Bay Reserve’ location first, then copied and pasted the code for each location on the app, editing the necessary ‘title’, ‘image’, ‘description’, ‘hours’ and ‘coordinate’ variables with the relevant details for each one. This meant that errors in writing the code were reduced and the formatting of the code was kept consistent, meaning that less time was required to complete each of the pages on my app overall.
Sequencing of key tasks in the project 3
By following this process for each page of my app separately before combining them, it also made the overall project more manageable, and meant that I was able to complete the pages of my app in order of importance to ensure that the final outcome would still meet its requirements and fulfill its main purpose, should I not have sufficient time to code all the planned pages of my app. With hindsight, this was a very important decision, as I did come short of time to complete the ‘home’ and ‘profiles’ pages that I had planned, though this did not affect the overall quality of the outcome, as I made sure to address end user requirements and the main purpose of the app first through the ‘live map’, ‘search’ and ‘planner’ pages developed.
Selection of methods to address requirements 1
I researched different methods of user authentication for my sign in/sign up pages, before deciding on Firebase, because it had easy-to-use SDK’s and ready-made UI libraries for user authentication. This required that I spend time researching different authentication frameworks, but was worth it for choosing a reliable and efficient authentication framework; and by making this decision it meant my app was better able to meet the functional requirements of having ‘simple controls’, with ‘security for private user information’ by maximising the quality of the authentication used to ensure that the private information of users was secured
Selection of methods to address requirements 2
I also researched different ways to make my app dynamic, as with future developments, more locations would be added, and therefore I needed to ensure that this could be done in a straightforward and time effective manner. I decided to use the method of JSON parsing of locations data to allow for simplicity in updating the app, as this meant that all the data could be stored in one place, ‘locations.json’, and the code for a new location could be easily added by copying and pasting, then editing the variables with the relevant details. By making this decision, it meant that my app was better able to meet the functional requirements of having ‘organised groups of locations, with accessible search options’, by properly formatting the location content using JSON parsing to expand the horizontal scroll view of locations.
Selection of methods to address implications 1
I experimented with different image editors such as Google drawings, VSCO and Adobe Photoshop, and decided against using Google drawings, as it required me to individually edit each image one by one, taking up time. Whereas, the other editors were more time-effective to use, for example, Adobe photoshop required less time to crop each image into a circular shape, then save, compress and export compared to Google drawings, because it allowed me to open multiple images at a time, and navigate between each one using tabs. Therefore, I decided to use both Adobe Photoshop and VSCO as high-quality applications that would be most suitable for editing the images for my app.
By making this decision, I have addressed the implication of aesthetics by testing and trialing different presets on VSCO then selecting two presets which adjust features such as the contrast, highlights, temperature and tint of the images to produce high-quality results. These presets also apply the same effects to each image, ensuring that they will be cohesive with each other and will reference back to the main colour scheme of the app.
I have also addressed the implication of intellectual property by using all my own images, which I personally have taken at each of the different locations. I have also edited them using all my own presets, which I personally have created on VSCO. Because of this, I have ensured that my app meets all legal requirements, and that I can claim my images and the presets they are edited with as my own intellectual property.
Selection of methods to address implications 2
In addition, by using variables in my swift code such as for the ‘name’, ‘description’ and ‘hours’ of a location and using JSON parsing of data (as described above), I have addressed the implication of sustainability and future proofing by allowing for the automatic updating of location information (as it is changed in the JSON file), and making it simple to add new locations to the app in the future, as data only needs to be added to the JSON file (the search page contains code such as ‘forEach’, which creates a view for each location inputted in the JSON file). Therefore, it is easy to update and maintain, providing the opportunity for the app to be expanded and improved in the future.
How your chosen digital outcome addressed relevant requirements 1
The aesthetic and functional requirements of my project were as follows.
- Must have a consistent aesthetic, with a set colour scheme and font pairings
- Must have a minimalistic design, with a clear layout which prioritises content
- Must have simple controls, with a straightforward navigation
- Must have organised groups of locations, with accessible search options
- Must have security for private user information and location services
How your chosen digital outcome addressed relevant requirements 2
I made sure that my app had a consistent aesthetic and minimalist design through having set styling of elements across my app, such as with a sunset-gradient colour scheme, font pairings of Liberation Sans and Amalfi Coast, rounded corners of text fields and buttons, and circularly cropped images. I also considered the compositional balance of elements on the pages by altering the alignment of elements to be mainly centered. Across each of the pages of my app, this set styling has been used to ensure cohesion overall. By having an aesthetic design, this means that the functionality of the app is enhanced and the overall outcome is more visually appealing for users who will therefore want to use it more often and recommend it to others. Furthermore, by having a minimalist design, the layout of the locations content on my app is clear and straightforward for users, and usability is prioritised.
How your chosen digital outcome addressed relevant requirements 3
I made sure that my app had simple controls, with a straightforward navigation by having a tab bar at the bottom of each page that could be used to navigate to any of the other pages on the app with a single click. This tab bar has icons as well as a title, to provide sufficient descriptive information for users who will therefore be able to understand the purpose of each page without first having to select it and take the time to learn how to use it. I have also included other simple controls within my app such as a left-swipe to delete locations from the planner page, a pinch to maximise and minimise the view on the live map page, and a horizontal scroll to view location options on the search page. These types of controls have been implemented in other applications to execute similar functions, and therefore by having these simple controls as well as a straightforward navigation, users are able to become familiar with the app quickly and use it efficiently.
How your chosen digital outcome addressed relevant requirements 4
I made sure that my app had organised groups of locations, with accessible search options by having a vertical menu on the search page, that filters results based on the category of the locations such as for ‘events’, ‘environments’ or ‘eateries’. These search options are accessible because they are immediately visible down the side of the page, and the different categories are clearly outlined for users to select, rather than, for example, having a search bar which would require users to know the specific location they want to find, rather then being able to browse through all the possible options within each category. By having these organised groups and accessible search options, users’ memory load is minimised by encouraging recognition rather than recall, and users are able to view and access all the content on the app (rather than limiting their search to locations they are already aware of). One problem with this is however, is that some users may already know the specific location they are searching for, and therefore they may waste time unnecessarily scrolling through the options in a category in order to find it. To solve this, in the future I would develop the search page to include a search bar as well, as this would mean that users could search for locations more effectively regardless of whether or not they already had a location in mind.
How your chosen digital outcome addressed relevant requirements 5
I made sure that my app had security for private user information and location services by using Firebase Authentication in my app, which ensures that user accounts are created and managed safely. For example, when users do not meet the password requirements when signing up for an account or they attempt to sign in with an unregistered username or incorrect password, an error is displayed and they are unable to do so. Because of this, users are only able to sign up for an account using a strong password, and sign in with that account only after authentication conditions have been met. Another example of privacy for users I have implemented in my app is the use of ‘Secure Text Entry’ for password input, so that users can have increased privacy when entering in their details. I have also implemented security in my app by properly encoding location services to be used only after gaining the proper permission from users (see below for an example of this in addressing legal implications). This increased security ensures that personal information provided to the app by users (eg. usernames, passwords, planned journeys) is kept safe and no losses of user data or violations of the privacy act are caused. I do however think that with further developments to the app, security for private user information could be improved by implementing the confirmation of users account information through email.
How your chosen digital outcome addressed its relevant implications - 1. Legal
Amongst others, I have addressed legal implications, the implications of intellectual property, the implications of accessibility and the implications of health and safety in the development of my app.
An application that is legal follows laws such as the privacy act, which affects how it is able to collect, use, disclose, store, and give access to user information. Legal implications are relevant to my app, as it has features such as user profiles and location services, which involve accessing private user information and storing it in Firebase. I have addressed these implications by using authentication measures, to secure users data, as well as properly encoding location services to be used only after gaining the proper permission from users. For example, a popup asks users on the Live Map page if they want to allow location services ‘once’, ‘while using app’ or not at all. It is important that I have addressed this implication, as it ensures that my app meets all legal requirements and does not breach any laws such as the privacy act, which could cause future negative consequences.