Does Jetpack Navigation meet Type Safety?

You may have heard that Jetpack Navigation has a new API for type-safe navigation. This new official solution brings navigation with a “destination object” instead of simple manual URL building. Previously, I developed kiwicom/navigation-compose-typed library that did the same and was an inspiration for the official solution. The official solution makes navigation easier than before, … Read more

Type-safe arguments in Jetpack Navigation Compose

This blog post is a repost from code.kiwi.com. Newly, there is a meetup talk about Navigation Compose Typed library. Jetpack Navigation Compose is the Jetpack Navigation library enhanced for usage in Compose. But the actual “enhancement” is a bit limited and different from the View-based navigation. Most importantly, there are no SafeArgs — a type-safe … Read more

Windows’ window usability protip

Having opened multiple windows of the same app usually gorups them together as one button on the taskbar. Clicking it opens a preview of them and you may choose what window you would like to open. But there is a better option. The alternative UX is to open the last opened window on the first … Read more

New headphones

After living years with wires, I realized that I needed to switch to wireless mode. Having wired headphones makes me less moving in the office – either less going to the bathroom or less going for water to drink. I want to change this. Next, there are too many wires on my desk. Years ago … Read more

Success & logic error propagation in Kotlin

In Kotlin, the expected code-flow should not use exceptions. The non-success code flow should be propagated through return type to be well-documented, strictly & statically typed. This post should be a practical guide after you have read Elizarov’s great post on Kotlin and Exceptions. Be aware that this post talks about domain errors, as described … Read more