Testing and tweaking
One of the hardest things in developing software is testing its functionality to the limit. There is something inherently difficult about trying to provoke your own code into failing your own tests, but it is absolutely imperative that you cover as many as possible of the scenarios that the app could come up against. Users are so unpredictable.
The first test
With a simple app such as this one, this is not such an insuperable task. Play the game over and over, trying to catch not only the usual sequence of actions that you expect your users to go through, but also all those niggly edge cases, such as:
- User fails at the first guess
- User taps incessantly on the screen
- User manages an incredibly long sequence (pen and paper might help—or just a lot of practice)
- User switches to a different app and then returns
- Anything else you can think of
- Anything that anybody else can think of
The first bug
Now, if you have tested your creation on a real Apple Watch, you may have noticed...