How do you make the menial tasks of corporate training more fun and interactive to boost company productivity? The answer is gamification. A technique employed by several companies, gamification is the process of changing real-world activities to have the same experience as playing a game to increase engagement with a topic. This includes systems of points/rewards and leaderboards to foster some friendly competition. An example of gamification includes a boss giving an employee a task to finish an assessment, and if so, earn a certain amount of points. Gamification is so successful it has increased profit revenues for companies by the millions, like in Starbucks. But, strategic gamification can be used more efficiently through corporate training of employees in order to make workers more productive all the while having fun. That's where GameTime comes in.

What it does

Our app allows companies to use gamification in their workplace. There are two separate accounts, a boss account and an employee account. In the boss account, users can generate a randomized ID which can then be given to employees to be linked to the boss account. The boss then gives the employees a task with a point numeric that the employees must complete to earn the points. Thus, the boss can track the progress of employees during training and the employees will feel rewarded through the point system. There will also be a leaderboard available to both the boss and employees to see which workers have the most points, fostering friendly competition. The employee account is similar to the boss account, but on the main screen the total amount of points earned is displayed. In another screen for the employee, all tasks assigned to the specific individual with the point amount will be displayed. These tasks can be checkmarked to cash in for points. This reward system with a leaderboard available to both employees and bosses thus brings in the best aspects of gameplay to the workplace to improve productivity within the company.

How we built it

We built our app using Android Studio and Firebase, a database and authentication system. We coded in Java and XML, and linked the firestore to the android studio project. Before we even started our app, we decided to make a wireframe using MarvelApp to organize our ideas. Thus, we were all on the same page for what the project did and what it would look like. Then, we split our app into three main aspects, user interface, database information, and point/leaderboard system. This separation of the main tasks associated with GameTime allowed the group to finish our project efficiently and communicate well without running into troubles with GitHub. We used several asynchronous functions to get information from the firebase database, and used sign in and sign up screens through an authentication system.

Challenges we ran into

Most of our challenges that we ran into with GameTime were through Firebase. Firstly, we needed to figure out how to create separate employee and boss accounts that log in to the same screen but with different information regarding the account. For the boss, a join code needed to be randomized, and for the employee, a join code would need to be entered. We made our sign up screen more specific so we could take into account the name of the individual and used a spinner to allow the user to enter either boss or employee. If an employee was clicked, one would be led to a screen which prompts for a join code. Another challenge we ran into is assigning a specific employee a task. The boss add task screen has another spinner which allows the user to choose one of the employees added through the join code, but we couldn't figure out how to make the employees actually show up. We used array adapters to try and solve the issue, as well as figure out the logistics with Firebase. Finally, another major challenge was establishing the leaderboard, in which employee points wouldn’t show up.

Accomplishments that we're proud of

We are very proud of our extensive use of Firebase, a tool we are relatively new to. We were able to work with asynchronous functions and authentication to create working email/password accounts separated by either boss or employee. We are also proud of the user interface, color palette, and logo, which all adopt a similar style to work in a neat and cohesive manner. The topic in itself was also very unique, and came to us after much deliberation during the research process. Throughout working with firebase, the biggest achievements include generating random join IDs for the boss, adding employees to a boss join code, replacing screens to fit a certain account, and adding the tasks system so all tasks can either be seen or added depending on the account.

What we learned

We learned the ins and outs of Firebase and using a database and authentication. We also learned a lot about asynchronous functions and how they work, as well as new XML elements. We depended on many spinners and image buttons, elements we didn’t even know how to use beforehand. We also learned how to create a scoring system with points, and generate random IDs and assign them to an account on Firestore. This technique allowed for easier access between boss and corresponding employee accounts.

What's next for GameTime

In the future, we would like to completely develop the tasks element of our app. This includes a system in which after employees check that they are done with a task, instead of automatically awarding points, goes back to the boss to verify. We also hope to include a system of badges, another aspect of gamification, for employees to receive as proof of their achievement. The point system could also be correlated with a built-in rewards system rather than up to the full discretion of the boss outside of the app. This includes a rewards system within the app that tracks how many points an employee has received and whether they are eligible to unlock for example an extra day off of work. A complete rewards and points system would also allow for a completely functioning leaderboard. With this fully updated version of the app, we could hopefully extend our cause to several corporations to make the training more productive.

Share this project: