Making of FiveTimer for Android

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.

What iOS Lacks, Android’s Advantage

I’ve been using a Nexus 7 and an iPad on and off for the last two months. I was never against Android, but after using it on a tablet I’m seeing some major holes in iOS. Here are some critical things Android has and iOS totally lacks.

  • Fast typing. I have to look at the keyboard more, but in portrait mode swipe typing is the unrivaled native keyboard. In contrast the split keyboard in iOS is really nice in any orientation, and I wish that was in Android. Swipe typing is really nice because you only need one hand, any iOS keyboard always takes two hands to be effective split or not.
  • Widgets. In iOS I suffer from “What should I do next on my black rectangle?”. I somehow end up opening every app and checking the status of everything from Evernote to Wunderlist. This wastes time. Android abbreviates that process with widgets. I have a little window on any of my home screens for all the quick info I need. For example I have a Wunderlist window for everything I need to do this week and recent notes I’ve written in Evernote. iOS has something close to these widgets, but it’s hidden away in the notification center, it’s really just for stocks and weather too. When was the last time you actually opened the weather app in iOS? I never do, the “widget” in the notification center tells me what I need to know much quicker and easier. Other issues with the notification center lead to my next point.
  • A useful swipe down menu. What do you actually use the notification center in iOS for? Besides the weather, emails, and text, when was the last time you intentionally swiped down from the top of the screen to get some notifications? I practically never do. Perhaps if there was more functionality in that little menu. Let’s look at Android’s swipe down menus for a second. Yeah menus, plural, there’s more than one and does it save time. On Android tablets, swipe down on the left half of the screen and you get notifications. You can get rid of all of them with a single tap too, as opposed to several clicks of a tiny “x” button in iOS. Swipe down on the right half and you get some quick settings buttons. WHOA, I don’t even have to open the settings app to turn on Airplane mode? Turning on and off any of my antennae are aways a click away.

In short Android’s workflow is just quicker. When I use my Nexus 7 I usually manage to get some stuff out of the way work wise. I would conjecture the iPad offers me more distractions because it lacks these little bits that make everything flow together. iOS 7 is going to be announced sometime in the next six months. Based on this list I would like to request two things of Apple.

  • Widgets. How do the weather and stock apps in the notification center work? Make it so developers have access to that pipe, and I’ll intentionally swipe down much more. Badges are a short form of this already but they only tell me the quantity of work I have, not what the work is. The settings swipe-down menu in Android is nice, but too much to throw in iOS right now. The design language would have to change a bit in iOS before that could happen. The settings swipe-down fits Android’s holo, or Windows Phone’s live tiles themes much better.
  • Faster typing. Our descendants will laugh at us because we hunt and peck on our digital keyboards so much. Apple already changed the perception of a functional touch screen keyboard when they unveiled the iPhone. They should try to do it again. Fixing how the split keyboard affects content at the bottom of the page would be nice too but that’s another post.