Swift 2 to Swift 4
I decide it was time to upgrade an app of mine called Duality, from Swift 2 to Swift 4. It was the first native iOS app I wrote in Swift back in 2014.
There were three benefits that would make it worthwhile updating. Firstly, I needed to remove outdated interactions for social sharing. Second was to eventually give the UI more room to move on the larger screens we all have now. Back then, it was common for iPhones users to have iPhone 4 and 4S.
Third was to rewrite for the Apple APIs that have been depreciated, and this would have the added benefit of giving myself a refresh on Core data, local notifications, etc. It would also give the app longevity on the App store and be around for longer for my current users.
The conversion threw up over a 100 bugs and warnings, but I was able to fix them all in a short time considering the code was over three years old.
Better user experience
Today I just wanted to share my thinking behind one small UX feature I added for new uses that have never used the app before.
I found that when someone first opened the app, or were unfamiliar with it, they would click on the label in the centre of the screen that said “What is your best moment and worst moment of this day?”. They would then notice the buttons above this.
When they click that label, I added a subtle animation to indicate they should click on the best and worst buttons. I also thickened the stroke of the circle buttons because most screens are now 3x pixel depth and the stoke looked very thin on these screens.
I user tested it on a fresh user. Sure enough, they clicked on the label during the session. You can’t go by a sample of one, but I feel vindicated by all my past testing.
Animation can subtly point the user in the right direction without being annoying. It’s worth testing how users discover how your app works with no prior knowledge, and then design ways to make it easier for them to discover what they should do next.
Duality will be back on the App Store in the next week or so.