Skip to main content



Composable metrics
·3886 words·19 mins
As teams start using Jetpack Compose, most of them eventually find that there is a missing piece of the puzzle: measuring the performance of your composables.


Slotting in with Compose UI
·1501 words·8 mins
The Slot API pattern is a pattern which is used extensively throughout the Compose UI codebase.
Always provide a Modifier parameter
·1258 words·6 mins
This is hopefully going to be a short post, but one which I think is timely as more people start using Jetpack Compose.
Becoming a Xoogler
·1231 words·6 mins
At the end of next week I will be leaving my job at Google and moving on to a new challenge outside $GOOG.
Publishing to Maven Central
·392 words·2 mins
This is just a quick post to highlight how easy it can be to publish libraries to Maven Central.
New website... again
·798 words·4 mins
In terms of blogging I tend to live in a bit of double world.


Suspending over Views — Example
·1950 words·10 mins
This blog post is the second of two which explores how coroutines enables you to write complex asynchronous UI operations in a much simpler way.
Suspending over Views
·1955 words·10 mins
Kotlin Coroutines allow us to model asynchronous problems like synchronous code. That’s great, but most usage seems to concentrate on I/O tasks and concurrent operations.
WindowInsets — Listeners to layouts
·1526 words·8 mins
If you’ve watched my ‘Becoming a Master Window Fitter’ talk, you’ll know that handling window insets can be complex.
Data Binding — Lessons Learnt
·1542 words·8 mins
The Data Binding Library (referred to as the ‘DB library’ for the rest of this post) offers a flexible and powerful way to bind data to your UIs, but to use an old cliché: ‘with great power comes great responsibility’.