With Softrace people around the world meet online to compete against each other in different physical activities. Races can take place in real time, just like traditional races. In addition, races may be constructed from already completed races allowing users to select their opponents and race on demand. Location varies, some races run along predefined tracks while others allow you to run anywhere in the world, in any direction. It is like a computer game, except that you are not controlling the player, you are the player.

Android’s Location API is a necessary feature to sample the user’s location at a certain frequency. The data is used to figure out how far the user has moved since the race started, making it possible to calculate his or her position in the race.

The Maps API allows users to see where they are or where they are going during the race. The Maps API is also used when races are revisited in the Diary.

The Softrace Stats feature is taking advantage of Android’s SQLite database where completed races are stored. The database is queried to reveal interesting statistics about the user’s performance.

Authors: Staffan Kjellberg, Thomas Kjellberg