At first it was just an idea built upon the vague assumption that there aren’t any Apps in this category at all. So one could develop an app, that is asking statistical questions to a user, while he or she chooses his or her estimate through a scrolling-wheel. Depending on how near the user is to the real value, the more points will be given. Luckily stumbling across “Our world in data”, the perfect source of data had already been found. Their website offers a very large amount of easily accessible statistics.
Problems occurred with implementing the scrolling wheel through the programming language JavaScript and React-Native, the chosen framework. The solution was two buttons, one for more, one for less. This was a nice and clean solution, that by the way speeded up the game.
The first 24 stats were imported using MrDataConverter, a free online-tool for changing data-formats, as well as through some hand written code, creating the array as it would be used for the app. For every statistic there was one record for each country, covering one random year. That means there were about 200 records per table. A first functional design was implemented, it was a one-pager, and only in German.
The first Android build was created, downloaded and installed on a Real device. Quickly it got clear that the factor between the proposed value and the real value of a task had to be different across different topics and units. So the difficulty was adjusted. The endless mode was replaced with a 20-round-game, while at its end a result would be displayed. A first test with an interested person proved the principal to be good, but there had to be a leaderboard, he said.
More tables were loaded, 0-values were deleted, as they often represented a general absence of data. There were approaches to add secondary pages to the app, enabling adding a leaderboard and some settings. Finally, the project was restarted as a ‘router-project’. It didn’t take much time to implement the local leaderboard. It was pretty slow in grasping data from the game and the last games played, the problem was postponed.
Most testers are curious about how hard the game is. So the formulas were adjusted. Many approaches had been tried, simple factors, absolute numbers, powers of numbers and combinations of those. The first adjustments were created. The program is now available in German and English and difficulty as well as the number of rounds to be played can be adjusted.
When testing the app, it was soon getting clear, that games of 20 rounds don’t create representative results. The influence of coincidence was simply too high. 50 rounds on the other hand was too much to keep players interested. The problem was postponed.
Instead a new design was created. Everything was now grouped around a rectangle/square in the centre of the screen. The great space behind may have been used in different ways. Background images were being tried. Part of the new design was also a progress bar, displaying the energy remaining for the user.
There was now also a page with some information, as well as a page containing the sources. The idea of using individual, subject fitting theme images while the game is taking place was discarded, too much space would have been wasted.
In these days an idea was making its way through: A game could start very easily, while getting harder in each round. The factor between proposed value and real value should shrink from round to round. The exiting idea was immediately tested and the principal seemed to work well. Now the user had to try to stay above 65% of right answers.
The only disadvantage: If the first or second question was answered wrong, the game is immediately lost. This problem was postponed.
Now also the data was being splitted into smaller parts. The German and English description was separated into an array, there was one for the parameter data such as difficulty and an array about countries and regions. The old array was decreased in size a lot.
Afterwards the tasks were being categorized by subject and unit, creating the possibility for the user to filter some of the entries. Every task was categorized by hand into one of fifteen categories. There were no double assignments, every task only belonged to a single category.
Another complete redesigning process was taking place. This time a prospective designer took part. At first his proposed changes seemed too radical, but the advantages predominated. The light-switch principal created clarity, as well as lots of space for long tasks. The placement of everything seemed professional and memorable. The number was now placed in the middle, counteracting all tendencies towards the upper or lower switch. The energy-bar was supplemented by a time-bar, creating a more symmetrical interface. The stuff from the old stats-area was spaced among the four corners.
Afterwards the website was created. On hunchpunch.me the principal of playing can be tested. Interested people could get notified on day of release through leaving their Email. The website went life, while not gaining lots of attention, as there was no advertising towards it.
While the plan of release was getting clearer, the frontend for registration, login and upgrade was created. There were difficulties with the transfer of registration- and status-data towards the header, that was caused by the header being individually bound to each page, not to the layout itself.
A Marathon followed, in which all 401 statistics were deleted and replaced by 1001 new statistics. The old tasks remained, but the data was switched. There was code to check for different kinds of errors that may occur doing the import. There were also functions checking for absurd numbers. The data was categorized, the units were set. Data for the creation of two new filters (suitable for underaged and complexity) was set to the parameters array, the country array was supplemented and translated as well as the description of the tasks itself. Then all task descriptions and countries/regions were checked for any kind of errors, for example missing units or notes about inflation.
Finally there was a solution for the problem with the differently coloured Status-Bar – it was simply removed – that not only creates a look that’s more clear, it also creates more space. The header problem was also fixed, by simply adding it to the layout like the tab-bar at the bottom of each page. At first the transfer of data was only taking place on navigation towards another page, but a developer’s trick helped solving this issue.
A search algorithm for the sources was implemented, after they had been placed inside a clean array.
Then the App was tested on an I-Phone for the first time. Only the progress-bars and trivial things like the font size had to be adjusted. A build was created, downloaded, installed and – worked.
If a user is not logged in, some parts had been grayed out to simulate the final app. Also lots of information was added and the idea took shape to allow upgrading through referral.