Another year over, a new one's almost begun. Here's a brief summary of what I've done in this one.
Adventures in Tracking Upload Progress With OkHttp and Retrofit ➟
Tracking file upload progress can have some unexpected complexities. This article tells the story of how we refined our implementation of this feature in the Stream Chat Android SDK.
All About Opt-In Annotations
Have you ever encountered APIs that show warnings or errors when you use them, saying that they're internal or experimental? In this guide, you'll learn everything you need to know about opt-in APIs in Kotlin: how to create and use them, and all their nuances.
A Bit of Gradle Housekeeping
While cleaning is traditionally a spring activity, let me invite you to do it at the end of summer this time around. In this article, we'll take a look at some Gradle configuration that you can probably clean up in your Android project.
Keeping public API in check with the Kotlin binary validator plugin ➟
As your library code is evolving over time, you have to be mindful of changes in your public API. Here’s how you can keep it in check.
Introducing a new library to conveniently require values from common Android types.
Clean Chat Example App with Jetpack Compose ➟
Jetpack Compose makes it easy to build beautiful UI. Check out this Chat UI sample, and learn some exciting bits of Compose along the way!
Pi Practice App in Compose
In another detailed Jetpack Compose walkthrough, we'll look at implementing a simple app for practicing the digits of pi!