I’ve recently been undertaking a rebuild of my app, resulting in me thinking about what the architecture looks like as a whole. I’d previously made use of IGListKit, and over a couple of years it had served me well. Yet, with the advancements in modern collection views, I was able to rethink the use of this dependency. As a result, it led me down a bit of a rabbit hole into generics across protocols.

I wanted to solve the problem of declaring the same three things for a view controller. My app is made up of, pretty much, five controllers…

This blog post is an extension of a talk I gave at Mobile Monthly in Leeds at the Sky Betting & Gaming offices. If you’re local to Leeds, come down to the next one!


App performance is hugely important for developers, but can sometimes go overlooked. Often, we are in a position of privilege meaning we only really ever run our apps on the highest spec devices, with huge data plans. This means we don’t really see the implications of not being massively performant.

I was recently working on a project that included flying a drone. I had an app…

Thanks to undraw.co for inspiration

Testing applications is a critical component of development. As we iterate on our applications, we may change the UI in unintended ways. New designs may come in as a result of user feedback that means we need to change button colours, labels, etc. Manually testing these can be expensive and time-consuming. UI testing can automate this.

However, there’s an additional benefit that comes from UI testing, and it’s incredibly powerful: accessibility.

Improve Your App With This One Neat Trick

Accessibility refers to a number of features that come native to iOS devices. It allows individuals who may have an impairment use their device without issue. …

Joe Williams

iOS Engineer @ Sky Betting & Gaming | Indie Dev @ Expodition Podcast App

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store