Many folks in our industry are familiar with unit testing, and practice it daily. Some folks get to the extreme of considering tests more important than production code, while others think it’s just a waste of time, but unit tests have saved my bacon more times than I care to…


You probably have heard that JFrog, the company behind Bintray and JCenter, is shutting down these (mostly free) services soon. …


Part of my home studio audio setup: a microphone on an arm

Most people are just fine with the integrated webcams in their laptops, because after all, if you’re in a meeting where everyone uses their crappy built-in webcam and microphone, there’s no point in doing any better. But what if you need to record or stream some quality content? …


First of all, thanks to Doug Stevenson for an enlightening chat last week around Droidcon Italy. He opened my eyes on why the emails we were getting about Squanchy Firestore rules pointed at a bigger problem than we initially thought. And many thanks to Daniele Conti for fixing it! 🙌

We got a bunch of warnings across several Firebase instances using Firestore…


It’s only been three weeks since the Droidcon Turin CfP has closed, and we have already published the full schedule for the event. As customary for our CfP committee, we are committed to full transparency, and this year we decided to make our retrospective public.

The committee

First of all, I want…


“The Ridge” by Edoardo Brotto — on flickr

I recently wrote an article about elevation in Android, showing how you can hack around framework restrictions to obtain elevation shadows that are different than what the Material Design guidelines mandate.

Since then, there’s been a few interesting developments on the topic, and this follow-up article will cover them. …


“Neist Point at sunset — Isle of Skye” by Edoardo Brotto — on flickr

tl;dr Kotlin properties are awesome and super powerful, but each form comes with a bunch of gotchas. Make sure you fully understand them before deciding what type of property you use!

Kotlin boasts an excellent support for properties. No more you are limited to the bare-bones fields that Java offered…


“Pink Flamingos at sunrise” by Edoardo Brotto — on flickr

tl;dr property syntax is great but you should avoid properties hiding expensive operations in their custom getter/setter as it can be misleading for those using the API from outside. Prefer functions instead in those cases.

Unlike Java, Kotlin has first-class properties. In Kotlin, a property can be read-only — or…


“Buzzard at sunset” by Edoardo Brotto — on flickr

Welcome to a series of posts covering various aspects of Kotlin programming for Android developers, from patterns spotted in various codebases to various gotchas and protips. We’ll try to understand if these patterns are good, when they work and when there are better alternatives.

As with all things programming, obviously…

Sebastiano Poggi

"It depends" 🤷‍♂️ - Google Developer Expert for Android, Flutter and Identity. A geek 🤓 who has a serious thing for good design ✨ and for emojis 🤟

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store