It only took a few weeks of regular kickboxing practice to learn something. Timer apps… are bad. I tried them all, and they all suffered from the same problem; it took too much effort to set up your timer. Tap the time, go to a new screen, enter a value, go back. Tap the rounds, go to a new screen, enter a value, go back. Faced with this minor imposition, I had but one choice; spend significantly more time building a better iOS round timer app. That app is rrrounds.

I wanted to channel the simplicity of an analog dial timer, where the interface is obvious and immediate. That produced a key constraint for the project. One screen, and one screen only.

Constraining to a single screen came with a secondary benefit of reducing the complexity of the implementation. This was my first attempt at building a native iOS application, and I wanted to make sure I didn't bite off more than I could chew.

I settled on a design focused around direct manipulation. Instead of views and keyboard panels, you simply drag values to the left or right. Totals update as you drag to provide immediate feedback. The values you set are saved automatically so that you always start with the same values you used last time.

The interface is intentionally utilitarian. It features big, bold white on black type to offer substantial touch targets (useful when you’re wearing training gloves), be highly visible in bright light and when you’re standing 10 feet away from your phone, and reduce battery consumption on OLED screens. In other words, the function dictated the form.

That utilitarianism is offset by more luxurious details, like an animated start countdown and controls that smoothly transition between states.