I plan on taking the project Gamification of CritiqueBrainz for users and I feel it’s a good initiative to encourage users to contribute regularly to CritiqueBrainz.Also this would help recognize most active contributors.
I’d like to mention that I’ve referred to this GSoc 2016 proposal by @Quora while writing mine so parts of my proposal might resemble.
Some example achievements that can be rewarded are:
- First review of a particular release/group
- First actions on CritiqueBrainz (review, edit, etc)
- Recognizing good content
These achievements can be rewarded in the form of badges which would be visible on the profile of users.
The badge system can be extended further by introducing a system much similar to Reddit Coins. Coins can be awarded to users when badges and achievements are unlocked and can be spent to reward other users for good content. As a strech, coins can be awarded to users who support MetaBrainz as a Thank-You. Personally, I feel the coins system might need deep changes (might be wrong) but I think it’s a good initiative to gamify contributions across MetaBrainz Projects.
For doing this couple of changes are needed in the database as illustrated in the image
Also it will require changes to show the badges and achievements on the profile page of user and maybe on posts.
- Get to know mentors of the project and familiarize with CritiqueBrainz code base by the first week
Phase 1 (Late May-Late June)
- Start by creating new tables and other changes to database schema (Estimate: 1 Week)
- Populate the new tables with badges, achievements and rewards.
- Add functions and helpers to reward users with badges and achievements when unlocked and write tests for the same (Basically back end functionality to reward badges) (Estimate: 2 Weeks)
- Buffer time
Mid Term (Late June- Late July)
- Focus on front end to render badges and achievements on user’s profile (Estimate:1 Week)
- Discuss and work on coin functionality (Estimate: 1-2 Weeks)
- Functionality to award good content with a medal of sorts and corresponding coin transactions
- Buffer time
Final Phase (Late July- Early August)
- Finish pending work from previous phase(s) (Estimate:1-2 Weeks)
- Finish writing tests and documentation (Estimate: 1-2 Weeks)
- Testing the finished project and changes based on community opinion
- Contribute to CritiqueBrainz in my free time
Strech Goals (optional)
If time permits and with community approval, I would like to:
- Initiate work on rewarding coins to supporters as a Thank-You
Detailed information about yourself
My name is Shashank and I am an undergraduate student at International Institute of Information Technology (IIIT), Hyderabad, India. My timezone is UTC +5:30. I came to know about MusicBrainz and subsequently MetaBrainz through Google when I looking for a metadata service for songs for a hobby project of mine. When I saw MetaBrainz featured in GSoc orgs I wanted to contribute to this wonderful organization
About the computer(s) you have available for working on your SoC project!
I have a Predator gaming laptop. 8th gen Intel i7, 16GB RAM, 6GB Graphics Card.
When did you first start programming?
I started programming about 2 years ago as part of college curriculum. During school we were taught Qbasic, MSW Logo (this was during grade VI)
If applying for a BookBrainz project: what type of books do you read?
Although not applying for a BookBrainz project I like reading books by John Grisham especially the Theodore Boone series.
What aspects of the project you're applying for interest you the most?
The idea of an open place for reviewing music and releases interest me the most.
Have you ever used MusicBrainz to tag your files?
Don’t want to lie but no, I haven’t used Picard although I have used python-musicbrainzngs in one of my current hobby projects I’m working on.
Update: Just used Picard and it’s awesome!!
Have you contributed to other Open Source projects?
I have a couple of hobby projects and Open Source contributions on github
What sorts of programming projects have you done on your own time?
Most of my programming projects are simple scripts and hacks to make life easier. Some I’d like to mention.
- Sci-hub A python script I wrote for downloading/viewing research papers and articles off sci-hub.
- Movie-Downloader : The name says all
- Hackathon submission This is a game that our team built for a college hackathon
- Community Programming Book Basically an online book about the history of programming languages. Written about a couple of programming languages.
How much time do you have available, and how would you plan to use it?
I can work full time during summer with 6 - 8 hours dedicated to Soc per day
Do you plan to have a job or study during the summer in conjunction with Summer of Code?
During the last phase in early August college semester would begin but I feel I would have finished most of the work by then save some minor things
This is my proposal for GSoc and any questions or suggestions are welcome
I’m slightly unsure about how the coins system might work so I really need suggestion and your thoughts on it.
I now have a working local installation and I was going through the code-base and understanding it.