Learn what you want
"Learn what you want" - this is another experiment.
The main point of all this work is to create simple app for Android based on cordova and webix. And not just create but get time values that was spent for this. :)
At the beginning, what I'd got:
The application for learning foreign words.
- the application has wordbooks;
- each wordbook are being filled with words by user. During developing only 6 words was added for testing;
- each word has translation (or meaning, which you like more :)) and type (types are "verb", "adjective" and etc.);
- as learning options, simple testing are used. Before start testing, the user choose wordbooks. The words from selected wordbooks will be used in testing;
- during test, the application show word and 4 options to choose. The user should select right answer (of course);
- the application is watching over options to avoid situation with two right answers (e.g. if some words was declared twice with different meaning. Only one meaning will be shown at once. But word can be shown twice with different correct meanings);
- also, the application can use word type to sample options (e.g. if words belong to verb then options are collected from other words with type "verb");
- the application has result table, where user can see which wordbooks was used in previous test sessions, how many correct answers was and total amount of words in test.
And now, let's move to time results:
1) for the developing of the application, I spent above 12 hours (initial thinking(overview), scratch and UI (1.5-2h); developing on JS with webix (10h); adding cordova and build APK (0.5h)).
2) publishing on the google play and github was grab else 5 hours (but, include some optimization of APK).
If time that I spent for the first step is justified, then second step was upset me. It was first and last time when I did it.
I'm not designer, so the creating icons, image for header for google play (to get not ugly result) - it's always hard for me. Plus, I should write some descriptions. So it takes two hours of mine.
All of the rest of time was spent to github. Who can think so!? Because creating repository and push code to it -- it's job for 5 minutes. But in current situation, I got the thought, that someone will want to pull my code, add changes and build own APK... and nothing will works. :(
I've used ES6. And on my Galaxy Note under Android 4.1.3 - ES6 doesn't works (I mean, doesn't work in webview). Of course I use babel to convert to ES5. And one thing when I do it for myself, and the other -- when for everyone.
Here the new hell was started: I should write beautiful gulp script, that convert ES6 to ES5, copy only necessary files from source folder to android project (every one wants to have smaller APK, and keep full webix package in source folder). Also it better to not minimize cordova.js.....
After all, please write some READ.ME with additional info, references to licenses.... OMG :(
But I am happy that it did not turn out to be very long task and ended.
The application can be downloaded at google play (it's totally free and with out ads): https://play.google.com/store/apps/details?id=com.bytiger.learnwhatyouneed
The source code here: https://github.com/ByTiger/LearnWhatYouNeed
The next step -- the same but on Java (for start of continue :) ).