I had just come back from Iceland and a summer of otherwise developing an Android app for the trip. With all the design and programming paradigms still in my head I decided I should try to make another one. I’ve always wanted to port FiveTimer from iOS to Android, but the time or opportunity never presented themselves. I decided to undertake it as soon as I got back.
That was about 15 days ago. The whole process took just over two weeks! Rather than taking everything over at once or at random, it was broken down by most to least essential. Wunderlist was a huge help in doing this breakdown, in the end FiveTimer was 44 discrete tasks.
By the first week I had a basic timer that had some scramblers. At the middle of second week I had more scramblers, a statistics viewer, a timer with 15 second countdown, and hold to start. In the last few days I was scrambling to make sure that the app looked decent in all screen sizes and the 3×3 and Square-1 scrambles didn’t make the UI hang too much (threads are cool).
Through this whole process I was uploading a .APK to my site for a few beta testers to give me feedback on. Without whom the initial release of FiveTimer would be pretty sub-mediocre. A small localization error for example would crash the app whenever the timer was stopped, this was due to the time strings being formatted with a comma instead of a period, never would have caught that one on my own. A huge hand goes to the beta testers.
In the final weekend I noticed how much my table was flexing when I would slam the cube down as if I was on a stackmat. It struck me then that why should we be touching the screen to stop the timer at all? Drop to stop was implemented, and then with a sensitivity slider a day later. It was a “why haven’t we been doing this the whole time” kind of moments.
Even when the app went into production there were still changes to be made and bugs to squash. An “add time” button was a welcomed addition for example. FiveTimer for Android is actually well ahead of its iOS counterpart right now and I intend to carry over the add time and drop to stop, let me just do a few solves first.