We know as students how hard it can be to stay productive, especially with distractions from social media, video games, and other fun webpages. We made a Google Chrome extension that aims to help people increase overall productivity by tracking the amount of time spent on productive and unproductive sites and providing rewards for being productive.
Our extension enables the user to start and stop a timer that records web activity, while providing live updates about how much time they are spending being productive and unproductive. The user can view a full time report which visually breaks down their activity as a simple graph so they can better understand how they are spending their time and can adjust accordingly.
Our extension provides a default list of productive and unproductive sites. The user can add and remove sites from this list which enables the user to define what sites are "productive" and "unproductive" based on their needs. When the user accesses a site that is not on this list, the extension notifies the user to add it to the list so they can better track their activity. When the user has spent more total time on unproductive sites than productive ones, our extension will show a popup that sends a friendly reminder encouraging the user to get back to work. Our extension thus simplifies the process of tracking productive web activity.
To further motivate the user to be productive, we have incorporated a reward system where you earn money by spending time on productive sites. With the money, the user can buy decorations for their cute piggybank, Mr.BaconStrip. Depending on how badly the user needs to focus, we have enabled the user to adjust the extension's "difficulty" on a scale from 1 to 100 which corresponds to how much time the user has to spend being productive in order to earn a reward. The extension can thus accommodate for the amount of pressure and motivation the user needs in order to stay on task.
While we have a rich vision and goal for the motivation tracker, we found the actual implementation of the chrome extension challenging because this was our first time building a chrome extension. Although our team was familiar with web tools like JavaScript, HTML, and CSS, most of us were not familiar with how chrome extensions work and their related APIs. To overcome this challenge, we consulted many online resources and documentations to become familiar with the tools and how to add custom features to the chrome extension. We also reffered to online tutorials and used the console as a debugging tool to find and resolve the program’s issues.
We ran into many bugs when figuring out how to record the time spent on the different tabs, which serves as our project's core feature. We also had trouble saving data in the chrome extension. We learned to use chrome storage in order to solve these bugs and store user data so it appears when the chrome extension popup is reopened after it is closed. This allows us to provide a better user experience as the users can see their progress and changes live. In addition, due to the limited time, we need to set priorities on the features we want to implement so that we have a presentable product that demonstrates the core concepts of our motivation tracker idea.
Technologies used
Discussion