Image for Building fast SwiftUI (and UIKit!) previews

Building fast SwiftUI (and UIKit!) previews

Jan 27, 2022

Here's a few easy tricks to making your SwiftUI and UIKit previews even faster
Image for Using enums and structs in Swift part 1: data vs state

Using enums and structs in Swift part 1: data vs state

Dec 30, 2021

Enums and structs are some of Swift's most powerful APIs, and they can greatly improve code comprehension. But how do you decide which one to use?
Image for Announcing What's on

Announcing What's on

Sep 26, 2021

As of today, What's on is available in beta providing a glanceable look at your calendar.
Image for Migrating from Dagger to Hilt

Migrating from Dagger to Hilt

Jun 16, 2021

Recently Google announced Hilt, a dependency injection framework for Android. It works on top of Dagger to make injecting dependencies into our classes easier, but has some nice features specific to…
Image for Introducing Freetrade for iPad

Introducing Freetrade for iPad

Mar 2, 2021

How we developed the app with a brand new UI. Today, we're starting the rollout of the Freetrade app on iPad. This has been a target of mine since I started at Freetrade and more importantly, since I…
Image for Using lint rules to prevent bugs

Using lint rules to prevent bugs

Jan 22, 2021

At Freetrade, developers work cross-platform to deliver features from beginning to end. The main benefit of this is that it avoids mistaken assumptions or differing behaviour over our platforms…
Image for Exploring Mac Catalyst

Exploring Mac Catalyst

Jan 4, 2021

Over the Christmas period I had energy to finally explore Mac Catalyst. I'd taken a look around this time last year but found that a lot of libraries weren't compatible with Catalyst. A year later…
Image for How we profile Android bugs at Freetrade

How we profile Android bugs at Freetrade

Jan 8, 2020

A few weeks ago, a Freetrade customer reported that the Android app was being slow. I was on-call at the time and decided to have a dive into the performance of the app to make sure nothing unusual…
Image for Playing with Foldables in Android Q

Playing with Foldables in Android Q

Apr 16, 2019

Foldable devices look to be the next big thing in mobile development. How as a developer do you support them; and as a CTO, should you?
Image for Perfecting custom assertions in Swift

Perfecting custom assertions in Swift

Jan 30, 2018

Unit testing is great, isn’t it? Not only can it help you improve your code, but it can ensure that you don’t mess anything up the next time you come to change it. The downside with testing is that it…
Image for Clean code: The curse of a boolean parameter

Clean code: The curse of a boolean parameter

Jul 22, 2017

Whilst looking innocuous, booleans are often a source of code complexity and can frequently be a code smell. Why is this, and what can you do about it?
Image for Managing my stress levels

Managing my stress levels

Jul 12, 2017

I've struggled a lot with stress levels over the last few years. I am aware that I am a naturally uptight person, and highly competitive, so that I believe is as much a product of who I am as the…
Image for Avoiding primitive obsession in Swift

Avoiding primitive obsession in Swift

Mar 27, 2017

It’s all too easy to pass information around in your code as strings or ints, but this can soon catch up with you. Swift has a powerful set of protocols to avoid this situation, which can ensure your…
Image for Improving completion blocks in Swift

Improving completion blocks in Swift

Feb 7, 2017

Swift as a programming language focuses on making APIs descriptive and determinate. Completion blocks are less than perfect — but what is wrong with them, and how can we improve their usage? The…
Image for Book reviews: Functional Swift & Protocol-Oriented Programming with Swift

Book reviews: Functional Swift & Protocol-Oriented Programming with Swift

Mar 28, 2016

In what is probably shocking to anyone who knows me, I’ve recently finished two whole technical books. I’m starting to dig a bit deeper into Swift and iOS at Novoda, and, as at part of one of my…
Image for Time is always part of your domain

Time is always part of your domain

Oct 10, 2015

Pretty much every project you’ll touch will have the concept of time in it. It is a concept that scares developers; makes even the most seasoned engineer doubt themselves; and makes most of us end up…
Image for My Christmas coding challenge conclusion

My Christmas coding challenge conclusion

Jan 2, 2015

The Christmas coding conclusion part 1: the web app I set myself a target to write an Android, iOS, and web app over the Christmas period. Here are my learnings from the first one I produced, which…
Image for My Christmas coding challenge

My Christmas coding challenge

Dec 21, 2014

Want to read the conclusion? Go here! This Christmas, I’ve decided to set myself a coding challenge — develop a simple app across Android, iOS, and the responsive web. I’m going to be developing a…
ALEX CURRAN © 2022