📜 ⬆️ ⬇️

As I did programming tests, my little TIOBE and a few dollars

Studying programming just by reading articles and books is not very interesting and productive. Need practice, and preferably interesting and useful. The idea appeared spontaneously, did not find analogues. So I decided to make a mobile application with programming tests. I wouldn’t have thought about where I’m going to get the content for him, if I had, I’d probably not have him.



Everything is ready, the easiest is left


There was no problem with the code, I started on Java, then switched to Kotlin. I liked writing code in Java, it became even more interesting for Kotlin. But with the user interface had to suffer. Time for all these graphical nuances, the selection of colors and sizes was spent not a little, which is only worth making an icon for the application if the design abilities are not very. Although it would seem, in the application there are only three fragments and several activites.

The icon turned out like this:
')


When the application framework was ready and it remained to fill it with content, the question finally arose: where to get it? Yes, everything is simple, they will do it in freelance!

Ay, yes sly Pakistani


As it turned out, I, too, is still a bug. Placed an ad on the stock exchange, I say: I give you 10 dollars, you give me 100 questions. Many Indians and Pakistanis were eager to fight. Chose one. A few hours passed, he tells me that everything is ready. I am happy, money to him, questions to me. So I had questions on two programming languages.

Disappointment came quickly. All questions were copied from one of the sites. Before that, I myself wanted to borrow them from there, but then I refused this idea. I am writing to a Pakistani, he confessed, says that he has little money, that's why he copied. I began to explain to him that he was wrong, why did he agree if he was small? I didn’t want to give money until I told him that I had informed the administration of this site about the incident and they were interested in his identity, and in this regard he may have problems with freelancing. Of course, I did not tell anyone, but my account was replenished back.

And here the most difficult epic began. I began to make up questions myself. Okay, with those languages ​​with which I had little experience, but with the rest ... I opened the documentation and studied it, composed questions, if I did questions with listing, I compiled and watched the result. Every question checked. I especially liked the PHP documentation, right there with user comments, there are a lot of ready-made questions.

As a result, I made more than 1000 questions in 11 programming languages. Only questions of the Senior level were somewhere, may their masters forgive me, they were stolen, mostly on stackoverflow, some even in Habré.

It was very dreary. I realized that 10 bucks is really fabulously small for such a routine. In addition, in order to highlight the syntax for readability, I accompanied each question and listing with the appropriate html tags (different colors, italics, indents, etc.), it was even more dreary and not at all interesting. But the goal was set and did not want to throw.

Python vps


VPS for $ 2.5 per month was chosen as a server. Wrote a small API to get questions. All my writings are available at the following links:

List of all tests

Result:

{ "date": "2017-05-16 10:57:41", //   "id": 1, // id    "name": "Android", "questions_number": 61, //   "theme": "emerland", //  ,     "updated": "2018-01-01 09:17:33" //    (    ) } 

List of all questions

Result:

 { "answer": [ 2 ], //  "code": "", //    ,   - html    "date": "2017-10-22 09:32:11", "id": 1121, "level": 0, //   (0, 1  2) "options": [ "init_block", "block", "init", "constructor", "initial" ], //    "question": "Which keyword is used for initializer blocks?", "quiz_id": 10, // id  "type": "single_select", //   (    ) "updated": "" //    } 

Some statistics


2017 went for everything. Of course, I did not write the code for a whole year; if you count on average, you can spend 1-2 hours a day. Yes, and developed at home, in the evenings, in the family. There were months, did not sit at the computer (trip or something else), there were weeks for 5 hours, or even the whole day and just sat at the keyboard.

At the time of this writing, the application has 7,000 installations, 3,000 active. On average, 50 installations per day. At the start I spent 2000 rubles on advertising in AdWord. I did not buy reviews and installations. Of the 59 ratings, about 10 are me and my friends.

My little tiob


With the help of Firebase analytics, I collect small statistics on the popularity of tests in various languages. At 7000 installations, it is presented below. The three leaders are almost the same as at TIOBE (May 2018).



Monetization


Initially I planned to make 10 free questions in each category, the rest for money. But he refused this idea. At first there was not even advertising, then I decided to add. Advertising appears at the beginning and at the end of the test. At the time of writing the article, advertising revenue amounted to $ 35 (totaling 23,000 impressions) + $ 10 for 10 purchases of disabling advertising. For the first month, advertising revenue was about 2 dollars, now around 10, an increase of about 2-3 dollars per month. I have a VPS for $ 2.5, so I went to self-sufficiency :)

Habropyp


On Habré there was an article in which it was told about how to realize the temporary disconnection of advertising banners for viewing advertising videos. Initially, I wanted to implement the same functionality, but went a little different way: since I have another application in the store, I offer the option of freeing off one-day advertising in exchange for downloading my application. This feature has been added recently, so there are no statistics on transitions and settings.

PS If you are not greedy and you have interesting questions on any of the programming languages, or you find errors in my questions, please write, be sure to add yours and correct yours.

Source: https://habr.com/ru/post/358996/


All Articles