Where is the next version?
I was quiet for some time. That doesn’t mean that Floating Apps is not on its way to the next and better version ;-).
However, it’s not only about fancy new features. I invest a tremendous amount of effort to keep the codebase up to date. For example, I’ve finally migrated the app to AndroidX. What does it mean? Google decided to change old support libraries that are essential for Floating Apps to work correctly. They not only renamed them but also moved all internal files. It means that I needed to do about 560 changes to the source code to be able to compile the new version. Thank god that there is a semi-automatic migration tool. However, it wasn’t able to fix everything automatically, so it means a lot of hours to fix and test everything.
Guess what? There is no visible change, nothing new, nothing better. I would rather invest this time in improving the app for you. However, that’s not always possible. Not if you are trying to avoid being slapped in your face in the future :-).
Many years ago, when Floating Apps was just a small hobby project, I was adding new features and floating apps one by one without keeping the source code in the healthy state. I hadn’t enough time and wanted to improve the app as much as possible. Then, Android 6 comes with its change to how the app requests permissions. At that time, I couldn’t afford to change the version as it would render the most of floating apps unusable. I have to rewrite a lot of code.
The very same situation hit me later with themes. Every single floating app used to have its design, its components, its set of colors, font sizes, etc. I’ve rewritten all of them to use a unified system of components. Maybe, I could come with the idea of unified components from the very beginning – indeed, I could and I should. However, that was another price tag for changing small personal project into something bigger, more stable, and more configurable. Also, when I started Floating Apps, there was no vision, and it all started a technology test. I just wondered if something like floating windows is possible on Android.
Supporting cloud storage and Android Storage Framework brought the very same problem again – the app wasn’t prepared for it, and I had to add an additional layer of abstraction for all filesystem operations. Maybe, you would like to ask me why I haven’t learned from my previous mistakes. I have! Now, when working on Floating Apps, I’m doing my best to write clean code that is prepared for the planned future. However, some things – like new features in very distant future or changes that Google is going to throw on me – is not easy to anticipate and it’s also not a good idea to complicate the source code with something that may or may not be useful in the future. The more code you write, the more bugs you introduce :-).
Btw, the main app and floating apps went through several redesigns during almost six years of the app’s lifetime. Trends are changing, and it’s not possible to stay on one spot for the rest of life :-).
There are also situations that are impossible to anticipate at all. Some of you maybe noticed that YouTube New, Google Maps, and some other services didn’t work for like 6 hours a few weeks ago. One of our servers that provides these services crashed. Pity. And it took several hours to fix everything. That’s another time I could invest in the development of new features. Btw, as Floating Apps, the free version, has overpassed 5 million downloads on Google Play, it generates massive traffic to our servers. If you want to help, you can donate some money that we can use to improve our backend services ;-).
To be honest, there’s another reason why I was quiet for such a long time. As some of you know, I also have another job to earn money for my family, so I prefer not to spend time on social networks but instead work hard to move things forward. Also, I’m usually not that kind of easy-sharing person, so if there is nothing I can say, I’m quiet :-). Why this post then? Because you deserve to know.
And of course, it’s summer here so I can’t resist spending more time with my family, especially my two sons :-).