William Boles
  • William Boles
  • Home
  • About
  • Favourites
  • Mind Maps

Step-by-step Core Data Migration

#core data #migration #persistence

People really care about their possessions. They hate when change breaks those possessions 😡. This is as true of digital possessions as physical possessions. Your data model will change, but it doesn't need to break anything. Here, we look at how to migrate a Core Data model step-by-step.

30 Nov 2017 • 21 min read

Roadblocks to repaying tech debt

#teamwork #management

Developers love to talk about tech debt, especially if the developer responsible for introducing it is no longer around. However, often, talk is all that happens because no one can agree on what to tackle first. Here, we look at how to overcome disagreement and get on with paying off that debt 💷.

30 Aug 2017 • 6 min read

Casting my vote in the great CI election

#ci

Ever spent nights reading product reviews, unable to decide which toaster is right for you? Bad news - it's not just the lure of the perfect toaster that can cause this paralysis; CI can as well. But fear not, I've reviewed Travis CI, CircleCI, and Jenkins here to determine which is best for you.

09 Jul 2017 • 18 min read

SwiftLint easing conflict

#swiftlint #teamwork

Anyone who has ever worked in a team knows only too well that there is no one true way of formatting code. A team sits down and agrees on what is important to them. These sit-downs can be fraught with danger. Here, we look at how SwiftLint can remove some of that danger.

30 Apr 2017 • 5 min read

Coincidental duplication costs really add up

#single responsibility principle

Coincidental duplication is where we see common functionality between features that just happen to behave or look the same but were never intended to be the same. We then take this coincidental duplication and wrongly build a coupled solution around it. Here, we look at how to avoid that.

26 Apr 2017 • 5 min read

Firefighting developers

#testing #teamwork

An uncomfortable truth is that praising firefighting developers might just be leading to more fires. Here, we look at why needing firefighting developers is a sign that your processes need to be improved, as avoiding fires is better than managing fires.

21 Apr 2017 • 4 min read

Avoid queue jumping

#concurrency

We are often told that no matter where you end up, you shouldn't forget where you came from. Usually, this saying is applied to people, but it can also apply to code. Here, we look at how to capture the originating thread when kicking off a background task so that we can return to it later.

17 Apr 2017 • 3 min read

Stop using modals as gates

#navigation #ui

Modals are often used as one-way gates, e.g., preventing a user returning to the registration screens after registering. However, this misuse of modals leads to bugs when the user inevitably jumps the gate. Here, we look at how to build proper one-way gates by tweaking the navigation stack.

14 Jan 2017 • 6 min read

Modelling change

#validation

Change is hard. Tracking change is harder. Tracking change in an app is the hardest of all! Here, we look at how to track changes by splitting the change from its presentation.

21 Dec 2016 • 12 min read

Ghost typing your way to Hollywood

#ui #animation

Hollywood loves ghost-typing animation 👻, but it is surprisingly tricky to get right. Here, we look at how to create the perfect ghost-typing animation that will wow your users.

18 Nov 2016 • 8 min read

Treat interviewing as story telling

#interviewing

Every great developer I've known has more than a hint of detective about them - looking for clues, figuring out why something is happening and fixing it. But we never interview for these qualities. Here, we look at how treating interviewing as a story can expose how good the candidate really is.

22 Oct 2016 • 5 min read

Our ever expanding appetite for analytics

#analytics

Gaining insights into how our users use our apps is essential to fully serve their needs. However, gaining those insights can be messy. Here, we look at integrating analytics into our apps without it getting in the way.

08 Oct 2016 • 8 min read

Making a request with a side of testing

#testing #networking

We want to test that our network stacks can make network requests as intended but without actually making those requests. Here, we look at how to split our networking stack into components to allow easy unit testing.

27 Sep 2016 • 9 min read

Unleashing your build settings

#xcode

Bye-bye Preprocessor Macros, hello Custom Flags. Here, we look at how to switch to using Custom Flags to store configuration-specific build settings.

12 Sep 2016 • 3 min read
Page 2 of 7

No results for your search, please try with something else.

William Boles © 2025

GitHub | Mastodon | Bluesky | LinkedIn | RSS

JavaScript license information