Closed nicolas-raoul closed 4 years ago
Agree with @neslihanturan on this, how about non-swipeable (and just clickable) bottom nav?
bottom nav is also not suggested for using non app level tasks :/
Also, I think Week, year, month element should also be changed. They can't be chosen all together, logically right? I would instead use a spinner https://developer.android.com/guide/topics/ui/controls/spinner
Also, I think Week, year, month element should also be changed. They can't be chosen all together, logically right? I would instead use a spinner https://developer.android.com/guide/topics/ui/controls/spinner
Yes, we can select only one at a time. If we can use two spinners to avoid nested tabs?
Just a minor thing about the wording. I believe "Usage" would be better than "Used" for the tab name.
Yes two spinners sounds good :-) First spinner: Upload/Nearby/Usage Second spinner: Week/Year/All time
I happened to stumble across this discussion about how "any [wiki] editor must opt-in to allow other editors to see additional statistics". I remember something about an opt-in being discussed here for the Leaderborad. Just wanted to confirm if that's correct. If yes, how would a user opt-in? Also, would there be a possibility to opt-out? 🤔
Great feature, it's interesting and motivates people. However, I don't know which data is used for it, where one can see the edit count, and think that more metrics should be added – please see these and my further questions here: https://github.com/commons-app/commons-app-documentation/issues/53
Need
From the research paper "Sharing small pieces of the world": Increasing and broadening participation in Wikimedia Commons:
A leaderboard would motivate many people, it seems.
Feature description
The score could reuse some numbers from achievements, but should only count edits done with the mobile app, because otherwise Vicuna/etc users will dominate the top of the leaderboard even if they don't use the mobile app.
Actually, I suggest listing in the leaderboard only the users who have ever opened the achievements activity. We must keep track of that information server-side. So the leaderboard would only list app users who have an interest in this kind of game.
Tapping the name of a user in the leaderboard should open the gallery of that user's pictures, probably as a browser URL for now. Knowing they are being watched by their peers will probably reduce the temptation to "cheat" (for instance by uploading 1000 pictures of the same spoon)
The user's name should be highligthed. Random idea: The length of the leaderboard could be dynamic, for instance if I am 3rd it could be 10 people, but if I am 13rd it could be 20 people. Or just make more people appear when scrolling down.
There could be weekly (last 30 days) rankings, yearly (last 365 days) rankings, all-time rankings.
To make it more visually attractive, I suggest using as a kind of avatar the user's most successful picture (the one which is used the most in the wikipedias/etc, or a random one if the user's pictures are not used yet anywhere). Random idea: Users like to personalize their avatar, so we could also offer the option to select one of the user's uploads as an avatar picture, but that may lead to more selfies, so this option could be an privilege to unlock (only users who are above level 5 for instance).
There is a lot of data to show, so we have to think the UI carefully. Here is just an idea: The vegetable is a placeholder for the user's avatar. I forgot to write the position number (1, 2, 3, etc). It is important because I want to know whether I climbed from 37th to 36th, and counting is boring.
Implementation
The leaderboard lists should probably be calculated on the server where we currently perform achievement calculations, and cached (re-serve the same results if less old than 1 hour). The user will probably upload a few more pictures in 5 minutes and come see the leaderboard again. So we could recalculate only that user's new scores (and let the other people's scores the same until the next hour comes). In other words, only the users who keep looking at the leaderboard would have their score grow at smaller intervals than 1 hour. That 1-user-only recalculation itself should be cached something like 1 minute because a picture can not be neatly uploaded in less time, and to avoid useless server load.
The avatar miniatures (generated by mediawiki) should be cached by the app for like a month.