I wanted to write a small app to familiarise myself with universal Windows apps that target Windows and Windows Phone. Deciding what kind of app to create was easy – I’ve been on the lookout for a stopwatch app since I got my first Windows Phone in 2010.
There are already many stopwatch apps in the Windows Phone Store. Every few months I look through the store for new ones. Sadly none of them do what I want, how I want.
The most popular stopwatch app in the store, going by user ratings, has over 4,800 reviews, and an average rating of over 4 stars. The app looks pretty, but that comes at a cost. First, it lets the user install new skins, which have to be bought using in-app purchases. While that’s annoying (it’s just a stopwatch, after all), the real issue is that it requires permissions that should not conceivably be used by a stopwatch:
Why does a stopwatch need access to my phone dialler? And why does it need access to my photos, music and assorted sensors? One of the things that validates my choice of Windows Phone over an iPhone or Android is that spyware like mSpy doesn't work with Windows Phone. I'm starting to think that Stopwatch apps that want god permissions are the in into Windows Phone that spyware always wanted. Creepy...
There are a number of other stopwatch apps that don’t require these permissions. However most of them are barely usable. Virtually all of them are swamp donkeys (ugly) – either using garish colours, illegible fonts (I need to read the screen at a glance), or some completely superfluous background image.
I only found one app that claims to include a Pacer function. However, when I tap the start button it shows a map. Not quite what I expected.
So, what do I expect?
I normally use a hand-held stopwatch (NOTHING beats that user experience), so I only expect to use a stopwatch on my phone when I forget to bring along my hand-held stopwatch. When I do use a stopwatch on my phone, I want a stopwatch with lap memory, and a pacer function. I also want it to look and function like the hand-held stopwatch (to the extent that that’s possible, given that my phone is nothing like my hand-held stopwatch). Importantly, I want to quickly glance at the screen and have my eyes magically drawn to the numbers I need to see.
No dodgy app permissions. No in-app purchases, funky wallpapers or gimmicky UI controls. Just mimic the hand-held stopwatch (including audible beeps confirming button taps), and make it usable on a phone.
This is what I came up with:
The one feature I added was a third button to switch the location of the start and stop buttons, so that I can use the app one-handed on a big Lumia 1520.
It took two days to create. I’ve used it for a while, and am really happy with it. There are some features I’d like to add to take advantage of it running on a phone -
- Save stopwatch sessions
- Annotate stopwatch sessions
- Annotate lap times
- Sync sessions and lap times to my PC, to help me log training sessions
- Annotate pacer sessions
- Sync pacer times and pace rates to my PC, to help me log training sessions
The app also has an open issue - tapping the buttons doesn't always change the button icons the way it should. Stepping through the code shows that my logic is sound, even though the UI doesn't update, so... it's a Heisenbug. I'll keep trying for a fix.
These features may make it into a version 2.0, once the motivation strikes me again...
A user guide is available here.
Update (17 Sep. 2014)
I was asked to upload the app to the store, which I've just done. As a free app it's unsupported, but if you have any comments or feature requests, let me know.