Knock Out! is, as we would like to call, a ‘Social Sports Scheduling’ mobile application. It helps users wishing to play in sports community, to find opponents, schedule games against them and play against them. Besides searching and scheduling, its also provides a comprehensive ranking system that helps you find an opponent closest to your skill level, making the games more challenging and interesting.
It solves the problem of finding opponents to play with in a community. The user no longer has to take the chance of going to the field and eventually not finding players to play with. In addition the ranking system makes sure the players are able to choose the skill level to play against and avoid being embarrassed after beaten comprehensively by a expert opponent or having a low-key game with a novice.
Knock Out! has a live feed which provides details of all the matches scheduled and played within a sports community. It also has a feed of Open Challenges posted by the users to play. The app also provides a personalized feed segregating the challenge requests, scheduled games and results of the games involving the user. This allows a player to keep tabs on his progress and never forget a scheduled game.
Knock Out! allows two types of scheduling. First is ‘Challenge a Player’, where users can challenge a particular opponent / friend at a convenient time in a particular sport. The opponent receives the schedule and has the option to accept or decline the challenge request. Second type is one where the user can broadcast an ‘Open Challenge’ in a sport to all the users. Any user can choose to accept the challenge and play the game.
The app allows users to search and find players at similar skill level in a particular sport. An amateur would like to play against another newbie rather than matching up against an expert player. The Knock Out! ranking system ranks players based on performance and allows user to search and find players at similar ranks as needed. This ensures that the game is competitive and is not demoralizing or uninteresting for the players.
The Knock Out! ranking system is a customized flavor of ELO Ranking System followed in Chess. The system ensures that a player gains more rating points when he defeats a higher ranked player than a lower ranked player and vice-versa, the lower ranked player only loses only a few points when he loses to a top ranked player. This enables Sports Clubs and Organizations to track player performances and maintain an effective leader-board of all the players.
Such a ranking system enforces the need to maintain and post only legitimate scores. To facilitate the same, two levels of validation need to be performed, first to ascertain that the game was actually played by making sure that the players were at the venue of the intended sport and the second to ensure that both players agree on the game’s outcome. To enable easy and seamless validation, a ‘Sporty’ interaction, the knock was developed. The knock interaction facilitated by NFC and Bump API provides a more convenient method of interaction. Rather than sending scores, notifying the opponent and validating the scores in multi-step process, the knock interactions allows for a swift game result posting.
Knock Out! works on typical mobile application stack. The mobile client communicates with a LAMP server. The mobile makes HTTP requests to the web service APIs and the server send back a JSON response. Being a social app in nature, the App uses Facebook authentication system so as to leverage the features of Facebook to promote app in social circles besides the user authentication. The app also uses Facebook to let users post the challenges on Facebook and brag about the victories in social circle.
The app uses NFC to validate the location and that the game was actually played. The ‘Knock Spots’ are placed at the venues of the games, which have a NFC Tag with codes to identify the location and the sport. When a player knocks his mobile against the ‘Knock Spot’ the app opens to facilitate score reporting.
To identify the opponent and validate the scores being posted, the players are required to knock their phones against their opponents. By this action the players are identified and during score reports, it ensures that the scores entered by both players are consistent. This is done using a third party API service, Bump2. Bump uses the gyroscope in the device and location specifications from the GPS position to detect and match knocks.
One of the key challenges of a social application such as this is attracting users, and sustaining active levels of participation and usage. Knock Out! simplifies the process of finding players and scheduling games using the social media integration. It also provides players an ideal platform to show off their skills and boast about their achievements, which would attract new users towards the app.
The app can also be extended to sports clubs and association in the campus. A simple web-interface could be developed for the clubs where the club can manage its players, scheduled tournaments and have a custom ranking system. By this it also removes the need to maintain a separate management system for the sports clubs.The scope can also be expanded beyond the circles of a community. Let’s say a student from Georgia Tech, goes to Stanford on a student exchange program. With this app he can find a similarly ranked player at the Stanford and schedule matches with him.