To investigate how smartphone users touch on their phones’ display we developed Hit It! a game for the Android plattform. Players’ task is to just tap on appearing circles. The game is freely available for Android phones and has been installed more than 250.000 times. The parts of the collected data has been used for the following publications:
 Niels Henze, Enrico Rukzio, Susanne Boll: 100,000,000 Taps: Analysis and Improvement of Touch Performance in the Large, Proc. MobileHCI, 2011.
 Martin Pielot, Niels Henze, Susanne Boll: Experiments in App Stores – How to Ask Users for their Consent?, Proc. workshop on Ethics, logs & videotape, 2011.
 Niels Henze, Martin Pielot, Benjamin Poppinga, Torben Schinke, Susanne Boll: My App is an Experiment: Experience from User Studies in Mobile App Stores, accepted by the IJMHCI, 2011.
We published multiple updates of the game to fix bugs but also to collected more aspects of the players behaviour (e.g. the devices orientation). Furthermore, we developed a function that shifts the position of touch events (see ). After publishing this function as an update we evaluated it by assigning players to one of three conditions. One third of the players are assigned to the control condition, one third is assigned to the experimental condition (the shift function), and for the last third the function is used for 50% of the played levels (we haven’t analyzed this condition so far). Thus, not all data is available for all installations.
Format of the data
All data provided by each installation is collected in a single text file. Each row in the text file describes an “event” that is marked by a preceding tag. There are the following five different tags:
- DEVICE_STATS Characteristics of the used device.
- LEVEL_START Information about a level that has been started.
- MICROLEVEL Constellation of one or more circles that should be touched.
- TAP The player touched the screen.
- LEVEL_END A level has been finished.
The data fields are seperated by a semicolon. E.g. the characteristics of the device typically looks as follows:
The preceding tag is followed by a random device id. This is followed by the device’s locale, the name of the device, the device’s code name, the number of the Android SDK version, the time zone, display’s width in pixels, display’s height in pixels, the condition the device is assigned to (see above), and the time since 01.01.1970 in seconds (not ms!) the game has been started the first time.
A new started level looks as follows:
The preceding tag is followed by the version of the logging code (only useful for me). This is followed by the minimal size of circles in pixels for this level, maximal size of circles in pixels for this level, the time since 01.01.1970 in seconds, the condition this level is assigned to, the time again, and the number of the level (the game has 12 different level – 1 is the first level).
Each level consist of multiple “microlevel”. The following is a microlevel with two circles:
The preceding tag is followed by the number of displayed circles. Each circle is described by three values: The x coordinate in pixels, the y coordinate in pixels, and the radius in pixels.
Each time the player hits the screen a new event is created:
The preceding tag is followed by the x coordinate, the y coordinate, and the time since the start of the microlevel in miliseconds. The next value (“HIT”/”MISS”) describes if the tap was a hit or not. This is followed by the device’s orientation, and the x/y coordinates of the shifted touch position.
The end of a level is just described by the following tag:
Getting the data
I would be happy to provide the data to anyone interested in it. Unfortunatelly, the data set currently consist of more than 200.000 files and more than 10GB of data. You can download a subset of the data containing files provided only by Galaxy Tabs (GT-P1000). If you need the complete data set drop me a mail and we can discuss how I should provide the data to you.