enkidevs / commit

:chart_with_upwards_trend: Level up your dev skills every day.

Home Page:https://enki.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Leaderboard seems unfair

TheRealVira opened this issue · comments

The current leaderboard seems kind of unfair, because it is luck based (based on the time of the commitment). I am doing one workout every day since I got the app (64 commits so far), but do rarely see my name up there...

I suggest using the revision workout results, because it is knowledge based. You could also add points when you have answered a question correctly on the first try, so there is no unfairness to those who did not get a revision workout on that day.

I also agree with this. It's been 60 days streak for me.

Or just remove the leaderboard, as this is about learning and not competition.
You could do leaderboards for the games, but not the practice.

@iMarv but there is the point - it does push my motivation to practice, when working for some goals! You could argument with "But your goal should be having better programming skills...", but I would counter by with something like "And to reach a goal (in that case "better programming skills") you need to gather some motivation!". 😺

I do also think that working for something that is visually responding on your success is the most effective way to motivate somebody to do some practice!

I think a leaderboard (at least like this) is not an effective way for this kind of learning. The score caps at 31 each month, there should be (in theory) no person on the first place, as there will always be multiple people who reach 100% activity. If the goal is to learn someting new, maybe a relation between "Already Knew" and "Learned something!" might be something to look into. Sure: there is always the possibility to "cheat" on this to get on top of the leaderboards, but just the commit count itself without any factor does not tell anything at all.

@iMarv correct! And this is exactly why this is an issue. (And combined with another issue #29 this is getting a bit frustrating.)

Maybe something like Commits / Account Age, while your account needs a minimum age to be on the leaderboard so that new accounts do not have an unfair advantage.

@iMarv I do not think that age really matters, but rather the level of programming knowledge. There are already some categories (copied from the current app):

  • Beginner
  • Familiar
  • Confident
  • Expert

Creating a leader board about every topic for every level of knowledge, would be a great idea!

Well I could always say "I am an expert" to be on top of the leaderboard, so I feel like that this would not honor the effort

I think there is some misunderstanding going on. Let me structure the idea a bit:

  1. Create a leaderboard for every topic (speaking of C#, Python,...)
  2. For every topic related leaderboard:
    1. Create a leaderboard for every knowledge category (Beginner, Familiar,...)

How the ranking of those leaderboards should work:

  • In case of a revision workout:
    • For every correct answer add one point to the related user on the related leaderboard
  • In case of a default workout:
    • We should be able to do one default and one revision workout on the same day (, but not at the same topic)!

Due the fact, that an expert could say, that he is a beginner, I would also suggest using a autoranking system, where participants with a higher value of points would get automatically into the next group.

Example:
User157239485793482 does currently have 100000 points on the topic C# in the knowledge category beginner. He would automatically be moved into the next group, because he has passed the 999999 boundaries of the beginner leaderboard.


The next thing I would suggest is some kind of test, where the user could get a suggestion on which knowledge category he should begin with on a certain topic.

The new update came out including the new feature of having the ability to finish multiple workouts on the same day, so my ideas should get an update too.

I'll keep the main idea of structuring the leaderboards after knowledge category and topic and this is now more important than before, because a single user could now have more topics than other and therefore get more points on the board! (Correct me if I am wrong.)

The ranking system explained in my previous comment does not seem like a great idea anymore. Rather a simple message box plopping out and telling me, that I should think about changing my knowledge category to a lower/higher level, would really do the work. This is because there may be users that really do want to practice basics, so they can be sure to get ready for a test as example.

The feature of including an optional initialisation test for a single topic, would still be really great to see in a future update! (The ability of viewing individual boards inside the app would be sick!)

This is definitively something we are working on. This conversation is very interesting, thanks for the insights :)

We might come here soon to ask your thoughts about what we plan to implement.

Great to hear that and thank you for the feedback! 😸

Without the possibility to commit workout progress, it seems, this issue can be closed because a leaderboard based on commits is no longer an option?

We will still include some kind of leaderboard, just not in github unfortunately. Let's leave it open if someone has some thoughts and want to share them here

The transparency and openness of this project is exceedingly good! I love it so please keep it up! 🎉 If there is anything that comes to my mind about improvements, I will let you hear!

Closing this issue. All discussion on the future of this repo and leaderboards can be made on this issue: #36