Sign in

Love being creative to solve some problems with an simple and elegant ways

Or how to write something when you just don’t know what to do :)

There are times. There are times in our lives when we don’t know what to say. When we think that we stopped in one place. Hell, like we not solving anything new. Actually nothing wrong with…


A simple alternative to having android independent code

Preface

In the last project, we used coroutines as a way of doing asynchronous jobs. We started at the beginning of 2019 and back then Kotlin Flow as the whole Channels were experimental feature.

But our goal was to move onto coroutines and minimize places without it:

  • Callbacks
  • Rx streams (or…


I noticed a good number of claps on one of my previous posts about kotlin utils, that we using in our project. I admit I gathered my favorites (except those I described earlier here, here, and here).

In this post, I will scrape together another bunch of utils. But this…


Or the difference between Shape and Material Shape

Sometimes some things work really strange. You think “Here it is, I know how to use it” and then boom, you have a bug. But the most annoying thing, when you have a tiny visual bug, that doesn’t affect functionality at all, that even doesn’t really noticeable at first glance…


Over the years I’m faced here and there with posts and articles dedicated to useful extensions or utils. “Top 5 useful Kotlin extensions”, “Top 10 super Kotlin utils”, “Top 20 neat extensions”, “Top 100 of the most needed things”. …


Or three big surprises, I’ve discovered while I just tried to use them

When working on Android applications, from time to time you face surprise situations. SDK behavior ambiguity, lack of important and easy functionality, false hopes on optimizations, which you encountered in other places. And that’s fine. …


Or lessons I learn every year

Hi. The new year is coming and it is a great time to recap things that we learned and achieved during this year. I thought what could I write this time. And in 2020 we started to work remotely. We started to share our knowledge with colleagues through our internal…


Controlling the size and sometimes aspect ratio

In the previous story, I wrote about the Uploading animation for sending image messages and how we have built it. Today I decided to write about the images themselves. How can we show them inside the message history?

Well … ImageView. The article is over!

But hold on for a…


Some time ago I worked on a new feature: sending images in the app’s internal chat. The feature itself was big and included multiple things, but actually, initially, there was no design for uploading animation with the ability to cancel the upload. When I moved to this part I decided…


Or how to live for several specific users

This is the story of how I started to work on a small library that was used within the company for implementing the same feature in different domains. Let’s name it Address Book. Address Book was meant to be a separate module, since the simplicity of its definition and easiness…

Michael Spitsin

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