This post details the requirements for the game concept that we have in mind. Up next is the user story behind this app idea.

# User Story

I want to be able to solve everyday mathematical problems mentally without using a calculator.

# Objective

A simple game where you sharpen your math skills by answering a few quick questions. The questions can be, e.g.  7 * 8, 0.88 * 0.44 , 9 / 3 , 987 – 432, 999 + 1324 etc etc. There is no time limit to answer the question but there will be a timer that will keep track of how long before a question was answered. So that way you can see your progress at the speed of answering questions, over time.

# Requirements

A random number generator to generate numbers.

A selection of the Mathematical operation to apply to it i.e. + – * / .

A selection of the number of digits for the calculation e.g. 2 = 0.83, 3 = 432, etc.

A timer feature to show a ticking clock until the question is answered.

Track scores! Provide a storage mechanism that tracks the time it took to solve a problem.

The users can control the difficulty of the game i.e. a mechanism to control the digits in each calculation.

The user should get some feedback on whether or not their solution was the correct.

Give the users some gaming controller style vibrations based feedback i.e. force feedback.

To get a sense of progression, the users should have an area to view the problems they solved and the time they took.

# Technical requirements (iOS)

Create a random number generator powered by arc4random or using the datatype’s random method. e.g.

let r1 = arc4random() %16 or

let r2 = Double.random(in: 0…1)

A picker to set the upper bound of the number of digits per calculation i.e. 10, 15, 20, 100 etc

An option to show the number of decimal places i.e. 0, 1, 2, 3 , we max it at 3

A switch that controls whether or not we show fractions.

A button to generate a problem i.e. random numbers.

For iOS:

1. The results stored in UserDefaults
2. A TableView to see the past problems, solutions and the time taken to solve them. Show the results here in descending order so the first thing they see is their latest efforts
3. Use the Timer class in iOS to create a timer feature.
4. Use the UIFeedbackGenerator for some haptic feedback

# Release requirements

A 1024×1024 icon for to display for App Store release.

An app store description that describes the app.

A selection of keywords for ASO.

A set of screenshots, maybe 2 or 3?

A video that shows a few operations of how the app works.

# Summary

The goal of this post is to give an idea of the process at My Day To-Do when working on a new product/app or a major new feature for an existing app.

As usual, if you find any of my posts useful support us by  buying or even trying one of our products and leave us a review on the app store.

Developer: Bhuman Soni
Price: \$0.99