zsmb.coEst. 2017

Delightful Delegate Design ➟

When developing a library, designing an easy to use API while hiding unnecessary implementation details from clients is fundamental. Let's look at some API design choices we've made for our library Krate, an Android SharedPreferences wrapper.


Maintaining Compatibility in Kotlin Libraries

Not breaking client code is an essential duty of a library developer. Let's take a look at a couple rarely discussed issues you might face in this area.


A Deep Dive into Extensible State Saving

A perhaps overly thorough look at how extensible state saving is implemented in the AndroidX libraries, and how ViewModel state saving specifically is hooked into this system.


An Early Look at ViewModel SavedState

A quick preview of the new SavedState support for Android Architecture Component ViewModels.


Site History

There has been a website of some sorts up on this domain for a couple years now. Here's a history of what powered it at various times.


Managing Git configurations

We all use different git configurations for various reasons, and it's easy to get them mixed up. Here's a look at some ways of managing them better.


@JvmOverloads for Android Views

The @JvmOverloads annotation is a convenience feature in Kotlin for interoperating with Java code, but there is one specific use case on Android where it shouldn’t be used carelessly.


Retrofit meets coroutines

Retrofit's coroutine support has been a long time coming, and it's finally coming to completion. Take a look at how you can use it to neatly integrate networking into an application built with coroutines.