Project evaluation Flashcards

1
Q

Describe your chosen outcome 1

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Describe your chosen outcome 2

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Sequencing of key tasks in the project 1

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Sequencing of key tasks in the project 2

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Sequencing of key tasks in the project 3

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Selection of methods to address requirements 1

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Selection of methods to address requirements 2

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Selection of methods to address implications 1

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Selection of methods to address implications 2

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How your chosen digital outcome addressed relevant requirements 1

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How your chosen digital outcome addressed relevant requirements 2

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How your chosen digital outcome addressed relevant requirements 3

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How your chosen digital outcome addressed relevant requirements 4

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How your chosen digital outcome addressed relevant requirements 5

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How your chosen digital outcome addressed its relevant implications - 1. Legal

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How your chosen digital outcome addressed its relevant implications - 2. Intellectual property

A

Intellectual property is about the protection of original works for creators through patents, trademarks and copyrights. Implications of intellectual property are relevant to my app, as it focuses on the provision of information about locations, and therefore contains content that is common knowledge (eg. name, address and contacts of locations), though also contains original content (eg. description of location and suggestion for users). I have addressed these implications by using all my own content such as images, with location descriptions and suggestions all written in my own words, and properly referencing all other resources used, (such as fonts, and pods) with their respective license declarations. It is important that I have addressed this implication, as it protects the content on my app from being discredited or removed by ensuring that it is original and respects the intellectual property of others.

17
Q

How your chosen digital outcome addressed its relevant implications - 3. Accessibility

A

Accessibility means ensuring that the app can be accessed and will function properly for all users of it. Implications of accessibility are relevant to my app, as it will be used by a wide range of users of different ages, who will each have different devices and levels of ability/comprehension, and will therefore need to be able to use the app effectively within their own set of circumstances. I have addressed these implications by using auto-layout constraints to dynamically fit the views of each page, so that they can be adjusted to fit the differently sized device screens of users. I have also used stylistic elements such as text alignment/layout, visual hierarchy and colour contrast to ensure high visibility of elements, as well as using a simple font (Liberation Sans) that can be easily discerned, for any users who may be visually impaired. It is important that I have addressed this implication, as it ensures that my app can be adapted to suit the needs of these different users and functions effectively under a range of conditions.

18
Q

How your chosen digital outcome addressed its relevant implications - 4. Health and safety

A

Health and safety is about the physical and mental protection of users who access and view the app and its content. Implications of health and safety are relevant to my app, as it is a travel app that involves transportation and will be mostly used by those of a younger age (12-30 as my target end users). This means that it must be safe for those who have less navigational experience, and provide accurate information on how to access each location that will ensure users will arrive safely at their destinations. I have addressed these implications by having detailed location information such as the ‘address’, and ‘contact’ information of each location, and giving useful health advice at each location, such as how users can improve their own health and wellbeing at each location. Furthermore, my app does not encourage dangerous or risky behaviour, meaning that it supports safe practice for users. It is important that I have addressed this implication, as it means that users (particularly younger users and their caregivers) feel comfortable with the app, as they know that they are not being put at risk by using it. Also, it means that as the creator of the app, I would not be liable for any injuries sustained when in use of the app.

19
Q

Evaluate the decisions you made in the development process for your chosen digital outcome - 1

A

Before I started coding my app, I planned out my time using Agile and Waterfall methodologies. I then spent the time planning and developing my ideas through making decisions (such as for color schemes, fonts and component designs) and planning the layout of each page with wireframes and mockups. Finally, I then went onto coding my app to match these mockups. With hindsight, I could have reviewed my design and updated it as I developed my app with feedback from my end users, as there were improvements that I could’ve made. For example, I had developed the design for the journey planner page to be quite detailed and complex. However, upon coding this page, I found that I had to simplify it to ensure proper functionality, and therefore had to compromise its aesthetic design. If I had considered changing the visual design to suit its functionality, I could have produced additional mockups and consulted with my end users to ensure the design was suitable.

20
Q

Evaluate the decisions you made in the development process for your chosen digital outcome - 2

A

I learned how to make my app on xcode at the same time as learning to code in Swift, using Apple Developer documentation alone to learn the coding conventions to follow, and which functions to implement. This limited my ability to execute the developed components and mockups, as I was only able to know of one possible way to make the app, as shown in the documentation.

21
Q

Evaluate the decisions you made in the development process for your chosen digital outcome - 3

A

I started coding my project and learning the programming language Swift, though should have first researched the different programming languages available with Xcode, as I would have discovered the newly released software SwiftUI which offered a wider range of features to allow for cleanliness and simplicity in code while accomplishing the same complex tasks. Had I discovered this software during the earlier stages of my project, this would have made it easier to code the earlier sign in/sign up and live map pages I had developed. As instead, I had used a combination of Swift and storyboards, which required me to later take more time to learn SwiftUI and how to integrate Swift and storyboards with SwiftUI in order to execute the search and planner pages of my app.

22
Q

Discuss what you could have done differently to improve your chosen digital outcome - 1

A

In the future, I would plan points of review for my wireframes and mockups in later stages of the project, to ensure that the aesthetic design is not compromised to ensure functionality during coding. By doing this, I could also spend less time developing my wireframes and mockups in the opening stages of the project, as they would become more refined through testing and trialling during the coding stages of the project. This would then allow me to keep to the time constraints as outlined by the agile and waterfall methodologies, as I could save time by making more decisions as I go with testing and trialling from stakeholders rather than determining the design of the final outcomes completely before moving on to code.

23
Q

Discuss what you could have done differently to improve your chosen digital outcome - 2

A

In the future, I could improve the quality of the outcome by taking the time to access a wider range of source materials such as coding video tutorials on youtube etc., to gain a broader set of coding skills in Swift. This would have meant that I could fully execute all the features of my developed components and mockups, and learnt simpler methods of completing my code efficiently. For example I would have liked to learn how to highlight a route on the live map for users to follow from their location to their destination, with live directions based on their method of transport (eg. walk, bike, drive or bus).

24
Q

Discuss what you could have done differently to improve your chosen digital outcome - 3

A

In the future, I would research the different programming languages available and which would be most suitable to produce my final outcome, in order to save time later on and execute my code most efficiently. This would also mean that my code would be kept more concise and clean, as only one language would have to be used (rather than integrating several others). I would also look more widely at existing outcomes and the languages they use for their coding, in order to determine the suitability of programming languages to execute certain features. For example, I would look at non-xcode/swift/swiftUI travel planners that would make me consider what important features of their apps and how they could be executed best.