-
Exploring App Functions
A roundtable discussion at droidcon London 2025
-
Exploring Android 16: App Functions
Presented at Leeds Mobile, May 2025
-
Infinitely Many Consumers
In this blog post I describe a thought process for designing APIs that optimize for least misuse by considering infinite consumers.
-
Building Kotlin-first Libraries
Kotlin libraries are often written with Java typing at heart, but what if it didn't need to be that way? What if Java support was an afterthought?
-
A Foray into Relay
Relay is a new tool from Google to improve design component handoff on Android. In this we post explore it, and review Relay in practice.
-
Improve your platforms early and often
The march of technology is constant, so why shouldn’t we try to match this with the platforms and products we build?
-
Focus in Jetpack Compose
A brief look at the Focus APIs in Compose UI, and how you might use them in your apps
-
Android Then and Now; Caught exception: NullPointerException
A brief look in to the “billion dollar mistake”, and how it was rectified in Android.
-
Android Then and Now: Navigation
Android Development has changed a lot over the years. Let's look back at how things were, and explore what's changed! Today: Navigation.
-
Android Then and Now: Callbacks
Android Development has changed a lot over the years. Let’s look back at how things were, and explore what’s changed! Today: Callbacks.
-
Android Then and Now: Intro, @IntDef & Enums
Earlier this week I mentioned to a colleague that for the longest time enums were discouraged in Android Development. To developers new to Android this fact is apparently pretty mind-boggling — j...
-
Handling Lifecycle with View Binding in Fragments
View Binding is an upcoming feature in Android, which allows you to more easily interact with view. Let’s look at a Fragment example.
-
Konfigure — better app configuration using Kotlin
Wiring up and testing Remote Config is hard! Konfigure is a fully Kotlin library to help you fix that.
-
Handing the Reins to Kotlin Delegates — Part 3: Fast builds, fast runtime. Pick two
Looking at real-life examples of property delegation, and how it can improve on Java constructs.
-
Handing the Reins to Kotlin Delegates — Part 2: This and that
Exploring the use of the type parameter and property metadata in Kotlin Property Delegation
-
Handing the Reins to Kotlin Delegates — Part 1: What and why?
Kotlin is an extraordinary language, with lots of useful features. Let’s explore Kotlin Property Delegation.
-
Handling a Modern Day Y2K — A mobile story
How do you handle a Y2K scenario in year old apps? Here’s how we did it, and how we’re better prepared now thanks to the In-App Update SDK.
-
Handling a Modern Day Y2K
Trade Me is an old company, about 20 years old. Throughout its time it’s been one of the largest eCommerce sites in New Zealand, allowing kiwis to connect and trade goods in a safe manner. Recently...
-
App Links in a Multi-app Ecosystem
Android App Links helps users get straight to the content they want, but how do you get it to work with more than one app?
-
Android Pie and the future of Dependency Injection
Dependency Injection is all the craze right now. Android Pie has included something which might change how we do things in the future.
-
Android Pie and the future of Dependency Injection
Dependency Injection (DI) is a common pattern used in all forms of development for a number of reasons. Thanks to the Dagger project, it’s taken off as a pattern used in Android development. Recent...
-
Introducing Covert
An Android library for implementing Material Swipe Actions in RecyclerViews
-
Covert — Swipe Actions made easy
Have you ever wanted to implement swiping on your RecyclerView items, only to find that you’ll have to draw graphics on a canvas to reveal anything behind the view? The Material Design Documentatio...
-
Project Pinhole - Selling things via Image
An experiment using a camera to sell things as quickly as possible