- Adapt and implement solutions to the feedback that I received from my first user prototype that was launched on the Google Play Store
Risks: The main risks associated with this iteration is that I will be unable to implement all the feedback in time for my submission deadline.
In my seventh iteration, it was addressed to me that users found it hard to identify the status of a shift. Furthermore, from the feedback, it was stated that symbols would be helpful to identify a shift from a swap. Using this feedback, I began to create a strategy that would solve both these issues simultaneous. My solution was to create a series of symbols that would present that status of a shift at any given time. I began to identify that status a shift may have in my application. I came up with four positions that a shift may have during it's life cycle in my application. The four positions are as follows:
In my seventh iteration, it was addressed to me that users found it hard to identify the status of a shift. Furthermore, from the feedback, it was stated that symbols would be helpful to identify a shift from a swap. Using this feedback, I began to create a strategy that would solve both these issues simultaneous. My solution was to create a series of symbols that would present that status of a shift at any given time. I began to identify that status a shift may have in my application. I came up with four positions that a shift may have during it's life cycle in my application. The four positions are as follows:
- Normal i.e Shift has not status at this current time and is just a standard shift.
- Pending i.e A shift that a user has added to the swaps table but has yet to receive confirmation of a swap from another employee.
- New i.e A new shift resulting from a successful swap.
- Urgent i.e A shift that whose date matches the current date.
Each of these positions needed an easily identifiable symbol to be associated with the position that shift is currently in. For the shift with a status of "Pending", a test user suggested using an image of a swing to reinforce the name of the application. The app is called "Swing Shift" and therefore particular user suggested even using the verb "Swing" instead of swaps in some of the app alert dialog, Both aspects of this feedback I was able to adapt. A shift with an "Urgent" status needed a symbol synonymous with time. Therefore, the image that I selected was an icon of an alarm clock.
The most difficult symbols to select were for the shifts with a status of "Normal" and "New". There I went browsing on a series of apps on my phone for inspiration. When I opened up the Gmail app, I noticed that each email had a symbol of a grey star beside it. On selecting the grey star, it would turn to a yellow star. It is also a very eye catching colour that can be quickly identified and processed. Therefore, I decided to adapt a grey star for the "Normal" shift and a yellow star for the "New" shifts.
As as selecting the symbols for each shift status, a certain amount of logic had to be implemented to allow for the app to identify each shifts current position. To do this, I had to modify the shift table in my database and add two Boolean values. This first value was called "genSwingPhoto" which when true, would generate the swing icon in for the shift. The other Boolean was called "genStarPhoto". This Boolean when true would generate a gold star image for the shift. When both Booleans were false, the image would generate the grey star image. To genereate the alarm clock image, I had to compare the current date to the the date of the shift in question. To access the current date, I had to create a date object and use the currentTimeMillis() method to get the system time. I then had to store the time in an array that was generated by splitting the date object at each space. A similar parsing process was used to access the relevant data in the shift object. When the date values were accessed, using an "if" statement, I could compare and see if they were equal. If they were equal, the alarm clock image would be generated.
Another suggestion from the feedback was that some of the text size in the shift and swaps lists was hard to see. In order to make it clearer, I changed both the font type and size of some of the text values of the shift and swaps. Furthermore, I tested to see what the app would like if a user modified the settings on their device to allow the font to be the largest size possible. After testing this, the app other then the size of the font visually looks identical when compared with the default font size on the device. Therefore, I will inform users that they may increase the font size of their phone if they have difficulty seeing certain information without impeding the user experience on the application.
From the feedback, a bug was discovered. This bug allowed a shift to be swapped multiple times over and over. To fix this, I was able to place a limit on the amount of times a shift can be swapped. Each time a users pushes a shift from their list of shifts into the swaps table, a POST REST call is initiated and the swap is recorded in the swaps table. Therefore, I added logic that would query the swaps table to see if the swap already existed. If it did, I prevented users from swapping that particular shift.
Finally, test users indicated that the current grey colour of the app did not quite fit. The users suggested a brighter, organic colour. After some research, I decided to go with the colour green. The user response to green has been very positive.
Citations: http://www.empower-yourself-with-color-psychology.com/color-yellow.html
http://www.cultofmac.com/270606/popular-colors-ios-7-app-store-infographic/
http://thenextweb.com/dd/2014/04/01/standing-sea-blue-color-pick-icon/#gref