Modebot

In this post I want to talk about the story of the birth of your own brainchild-application for the Android OS.
I deliberately focus on the emotional and organizational, rather than the technical component of the process. If I feel the interest of the Habrachians in technical details - I will devote a separate material to this.
This post is also by no means advertising and PR, therefore the links and graphic materials of the application with links and QR codes included in them are deliberately not included in the post.
The publication was made specifically for Habr, with the hope that it will be useful for novice developers to find out what difficulties they might encounter and understand that it makes sense to overcome them.
Part 1: Pregnancy
I became pregnant suddenly.
But first, the background.
Like many IT specialists and people of other creative professions, my working day is not completely and not always standardized. In addition to the differences in working mood, there are also clients dispersed throughout Russia and some foreign countries.
Accordingly, the last negotiations can begin after midnight, and the first client from his city can call at 8 a.m.
Having a little daughter and spouse, I had to switch my phone to vibration mode every night at night, so that I myself could hear the call and not wake my family up. I think that any young parent experienced the whole gamut of sensations when a phone call wakes up a child put to bed in a heavy battle.
At the same time, “misses” occurred periodically, sometimes I forgot to turn off the phone (as a result of which I could continue morning playing dolls with my daughter), and even more often I forgot to turn on the phone sound in the morning and missed daytime calls when the background noise no longer allowed me to hear -ZH-ZHZ from vibration mode.
My first thought was to delegate someone to monitor the status of my phone. But neither my spouse, nor even my three-year-old daughter was enthusiastic or enthusiastic about this.
And then an insight came to me - it's Android, which means that this task can be entrusted to him!
Without hesitation, I climbed into the jungle of Google Play. From what I saw, I experienced a cultural shock. No, there were several applications that could be adapted to my task, but this meant putting a monster on my phone or looking very appetizingly at the phone’s battery from the store (from which, it seemed to me, it sat down a little bit in advance) and you can arrange it by an hour or two in negotiation-setting. Or it was a set of the same ugly design applications of the same type, the appearance of which inspired me with uncertainty whether I even want such a program.




Want.
But still not like that.
The program that I wanted was supposed to instill confidence in me that it would cope with the task. And I also wanted to delegate the task, rather than transforming it into a long-term setup task and explaining what I actually want. Well, it's time to invent your two-wheeled vehicle.
From this moment it can be considered that pregnancy is in full swing.
So we formalize the requirements for the future offspring:
- Laconic and intuitive interface (I would like to intuitive, but this will only be determined during use)
- The lack of complex scripts for the user. Ideally, the ability to perform basic operations with 3-4 clicks.
- Minimum appetite for phone resources, and in particular for the battery.
Well, how it will be, I’m starting to understand, it’s time to come up with a name for the brainchild.
Ringer mode manager, Sound automate - the first options were just designed to scare away potential users.
Just a couple of days of deliberation and here it is! ModeBot. Briefly, capaciously, having the prerequisites for Android and is subjectively nice.
Inspired, I make the first drafts of the interface and go to the wonderful designer Alexei in order to ask him for icons. Aleksey is a web designer, but has long dreamed of drawing something for mobile applications. Mobile devices for him are iPhone, iPad and other AI. After listening to the lecture “There is no phone except iPhone, and iPad is his faithful companion”, I received a promise in a couple of days to get the result and left to go deep into the development.
Part 2: Birth
The birth was difficult.
The whole process was new. At that time, I had extensive experience in developing small and large, desktop and web applications, system and accounting and application programs. But it so happened that Java and Eclipse, until that moment, existed separately from me.
Possessing natural perfectionism and curiosity, I very often in search of information (and I needed a huge amount of it) captured a bunch of related and not very areas related to Android, Java, optimization of algorithms, phone reviews and other things. The forehead was blue from the rake, but the enthusiasm did not fade. Each section of the code, which due to inexperience in the language turned out to be ugly, mercilessly corresponded to complete satisfaction.
When, finally, the “baby” was born, I got the effect that all young parents experience - the result was cute, my own, but slightly ugly, completely small and helpless.
What was planned to happen in a couple of days, took about a month to work in the evenings and snippets on weekends.
Well - testing was ahead of us, and the development of the application to a stable state.
Part 3: Learning to Walk
The baby was falling.
And when he finally went, he tried to run and fell again.
And when he learned to run, he could run away in the wrong direction.
But in the end, it was possible to achieve the goal. The program was based on a simple concept of single teams. Each command sounds like "To set such and such a mode at such and such a time." In contrast to many similar programs that work on the principle of setting the phone’s transition period to vibration mode, the single-command system turned out to be more universal and easy to use. With its help, you can combine scenarios such as "Silent mode -> Vibration mode -> Sound mode" and others. And the interface is simple and straightforward.


Job management is simplified and standardized. The area of each task is divided into 3 parts. All actions are performed by short or long pressing on these areas.
In the exciting process of education, I realized that I needed a few more functions that were already implemented without any special problems (thanks to the distressingly clean code architecture) - these are custom widgets that allow you to switch the phone to one of the modes from one touch (for example, before a meeting), from which then after some time it will return automatically, thanks to ModeBot.
About a month has passed since the start of development and Alexey just expired 2 days. Not having time to pironyonize about this, I realized that it’s not worth it.
Having suppressed a persistent dislike for Android phones, he was sitting on studying guidelines on the official Google website and as a result did not provide me with a concept, but with a full set of graphics in various resolutions and a banner for placement on Google Play.




At that time, my baby was already standing firmly on his feet, nimbly fulfilling the assigned tasks and at the same time did not bother and did not manifest itself when he was not needed.
Now the path lay in only one direction - Google play.
Part 4: Growing and Developing
The first meeting with the big world was cynical.
At first I wanted to make the program free, but knowing from experience that enthusiasm itself is not eternal, but with its loss it stops and the development of the program decided to add monetization. Placement of advertisements in the application contradicts the very essence of ModeBot - imperceptibly and with minimal consumption of resources, carry out their tasks. And I buy a developer account and publish at a minimum price of $ 1.
Day, two, three, month - no downloads. Well, we conclude that recognition itself does not come.
On w3bsit3-dns.com, in the framework of developer support, in the morning I publish an overview of the application. And almost online I follow comments and downloads.
During the day - 50 downloads. At that time, for me it was just a gigantic number. By the end of the day, having outlined the way to the store for champagne to celebrate this event, I see a freshly laid out apk on the forum of the same w3bsit3-dns.com.
The trip to the store has been postponed.
According to the results of this and the next days, the number of apk downloads on the forum was 6 times higher than the number of downloads from Google Play. Purchases have stopped, despite reaching the 8th place in the TOP in the personalization category. The category was later changed to Tools.
Reviews in the market and on the forum are almost all very high. The application met the functional expectations.
They assured me on the forum that they had placed apk, only for testing by users, since I did not create a free version of the application.
Well, it’s reasonable. Based on the leaked version, ModeBot Free is born. In the main version of the program is added the “White List” and protection through verification on Google licensing servers and translation into English.
The publication on thematic American forums (xda-developers.com, android.net, etc.) practically did not bring any result. At the moment, foreign downloads are about 5%. The publication of VKontakte scored likes, but not the transitions, it seems that there people put them automatically.
At the moment, my Android-baby confidently goes to the "kindergarten". Increases stability, reduces resource consumption and adds new features. However, any changes are made only if they comply with the original principles - ease, clarity and stability.





The number of downloads is still small, but stable, the developer account has paid off.
There are active fans of the program from different countries who give good feedback.
At the moment, the rating of the program is 4.58. Over 80% of installations are active.
Well, we’re getting ready to “go to school” - because we have just begun our development.