Use High Contrast For Legibility

Maybe I am getting old but I am starting to pay much more attention to how easy it is to read text on mobile devices. Text size is important but the impact of color and contrast is often overlooked. You make it harder for a user to read text when you choose text and background colours with a low contrast ratio.

But what colors make text more legible for users? If you have a coloured button are you better having white or black text for the label? In this post I share some tips I picked up from an excellent Apple WWDC session on inclusive app design.

Read On →

Objective-C Class Properties

With all the excitement about the new Swift 3 language features it is easy to overlook some of the small improvements still happening to Objective-C. It may be the case that any love Apple is showing Objective-C is to improve Swift interoperability but it is still welcome for developers needing to get work done in Objective-C .

In this post we look at the addition of class properties to Objective-C.

Read On →

Swift 3 Warning of Unused Result

I have been experimenting with converting projects to Swift 3 syntax using the migration tools in Xcode 8. This has been giving me a lot of warnings of the form “Result of call to someFunction is unused”.

By default in Swift 3 ignoring the return value of a function is now considered a warning. This post is my quick summary of what changed, how to suppress the warning if you need to and a feature which may cause you some confusion.

Read On →

Xcode Visual Memory Debugger

I cannot believe it was over five years ago that I wrote about using the heapshot tool to find abandoned memory. I have never liked switching out of Xcode into Instruments for memory debugging. It is distracting and I can never remember how to use the heap and leak tools.

The good news is that Xcode 8 is bringing a new visual memory debugger. Even better is that you use it directly from the Xcode debugger so you don’t need to use Instruments.

Read On →

Slow App Startup Times

Apple suggest to aim for a total app launch time of under 400ms and you must do it in less than 20 seconds or the system will kill your app. You control what your application delegate does but how do you debug slow startup times that happen before your code is even called? Here is a tip from WWDC 2016 that might help.

Read On →
Archives Categories