apps-android-commons
apps-android-commons copied to clipboard
Nearby competition
How about organizing a competition using the Nearby feature?
For instance, the winner could be the person who has the most valid Wikidata edits from the Commons app on a particular week.
Once we have organized a few of these competitions, we will have ironed out the possible problems such as cheating or quality, and we can think about phase 2, which could be a daily or weekly competition with points and a leaderboard integrated into the app.
Also, we have to find a better name than "Nearby competition".
I love the idea and IMO this could be a potential task for GSOC or Outreachy if we manage to get interns.
If a user spends a week taking pictures using Nearby (without uploading), and then uploads all of them during the competition week, should it be considered cheating? We can easily find out using the picture's EXIF. A very determined cheater could go as far as modifying the EXIF, but I am not sure such extremes are realistic. I wonder whether this kind of cheating has ever happened on other WMF competitions.
If a user spends a week taking pictures using Nearby (without uploading), and then uploads all of them during the competition week, should it be considered cheating?
To eliminate this problem shouldn't we just keep this as an event of just a day or an event with submission deadline with the idea that whoever has the most valid Wikidata edits from the Commons app that might have been captured at any time scores highest?
an event of just a day
If it is just one day, it might not really feel like a competition, because of timezones. People starting the competition in the Americas might be discouraged at the sight of the scores of people in Asia (for whom it is already the evening). A competition is fun if you can compete with others, compare your performance with them, try harder, lag behind, catch up, etc. At the scale of the planet, it is difficult to achieve this with just one day.
it might not really feel like a competition, because of timezones
Ohh yes, I missed this point. At a global level one day event would definitely not be beneficial. The idea of a week long event is definitely better :)
Great idea!
Given that we aren't giving out any "real" prizes, I think we don't have to worry too much about cheating for the time being. :) EXIF checking alone should be sufficient IMO.
Bumping this since we are planning to put up https://github.com/commons-app/apps-android-commons/issues/2074 as an Outreachy/GSoC project this year. Assuming the Leaderboard implementation goes through, I guess implementing this could just involve pulling data from the leaderboard for the competition's duration, and giving the winner a barnstar or something? Of course, we'd need to do a lot of publicizing to make it a success. :) @nicolas-raoul
Hooray, we can now start planning this in preparation for the v4 release! :)
A list of things that I think we need to do:
- [x] Decide on the metrics for the winner. I personally agree that "number of valid Wikidata edits" would be a good objective measure, as it doesn't rely on the subjectivity of "best pictures", but am open to suggestions
- [ ] Decide on timeframe (can't decide on exact dates until v4 is out, but can decide on length)
- [x] Collect metrics. @nicolas-raoul I guess our usual Wikidata query will obtain the number of submissions from each person for the required timeframe, right?
- [ ] Display metrics in a user-friendly manner, so that people can see where they are in the ranking and who is winning. IMO it would be fantastic if there was a way to display these on our website. @sivaraam what do you think?
- [ ] Decide on rewards. Barnstars perhaps? @neslihanturan
- [ ] Inform Commons community about the competition, via mailing lists etc
- [ ] Carry out competition
- [ ] Reward and announce winners
Using the leaderboard's ranking would be ideal. Could someone check whether it shows different rankings to different people, for instance because of timezones? Also, I think there is a cache on our server-side? If someone could prepare a query to be the ultimate reference, that would be great.
Display metrics in a user-friendly manner, so that people can see where they are in the ranking and who is winning. IMO it would be fantastic if there was a way to display these on our website.
If we want to do this, I believe we could certainly do this. It should be enough if there's a API using which we could fetch the rankings.
That said, using the leaderboard to show the metrics as Nicolas suggests sounds like a better idea to me. Is there a particular reason you prefer to show this in the website @misaochan ?
Also, we have to find a better name than "Nearby competition".
May be "Wikiexpedition competition" ? I suggest this because the aim of Wikiexpedition seems to align with goal of our competition:
The aim of a Wikiexpedition is collecting, mainly photographic, documentation, by exploring a chosen region.
(note: We could consider our "chosen region" as the nearby places of each user ;-)
Is there a particular reason you prefer to show this in the website @misaochan ?
I was hoping that Wikimedians who don't have the app (i.e. people who only have iOS phones) would be able to follow the results of the competition as well, as that would be good for publicity. :) But I agree that it should definitely be shown in the Leaderboard, the website can just be an optional addition if we can manage it. What do you and @nicolas-raoul think?
May be "Wikiexpedition competition" ? I suggest this because the aim of Wikiexpedition seems to align with goal of our competition:
I've never been to one, but based on what I'm reading in your link, it seems to me that the term is specifically for the in-person event. If we use the term, IMO it would be better to use it for #3388 instead.
Ummm... how about "Commons app competition"? 😅
Leaderboard + website if we can manage it
Sounds good enough :-) A webpage might be able to get the same JSON as the app's leaderboard.
Sounds good enough :-)
+1
A webpage might be able to get the same JSON as the app's leaderboard.
Indeed. That would ensure consistency across the data shown. Let me know if the current leaderboard response contains all information necessary to show the data in the website, I'll start doing a prototype to show the details in the website.
Thanks a lot @sivaraam . :) The current leaderboard displays the data for the current week (no. of upload/used/nearby for each user). So that would be sufficient I think, if our time limit for the competition was a week - on the website we could just display no. of nearby uploads for each user for that week. We would need to add a query if we wanted a different time limit.
Could someone check whether it shows different rankings to different people, for instance because of timezones?
I don't think so - my weekly rankings just reset today on a Tuesday, it had more uploads yesterday (Monday). I'm GMT +10. But we should definitely look further into this, @madhurgupta10 ?
Tomorrow we will make a walk with around 10 people for completing Nearby pictures. I planned there can be 5 groups (2 people per group). I am not sure about calling it a competition. As most of them are first time contributors, they need to warm up first:) I suggest e designing a badger for all of them to use in their user pages, instead of choosing a winner.
I don't think so - my weekly rankings just reset today on a Tuesday, it had more uploads yesterday (Monday). I'm GMT +10. But we should definitely look further into this, @madhurgupta10 ?
@misaochan Sorry I missed the notification for this old message, the timezone for all users should be the same which is the pacific timezone (server default) I guess so the week/month etc. calculations are done based on that. The ranks are calculated in real-time but the data we use to calculate these ranks is updated in the leaderboard database every 2 hrs.
P.S. To force update latest data of a specific user into the leaderboard database you can simply make a get request to the following URL with that username
https://commons-android-app.toolforge.org/tool-commons-android-app/update_leaderboard.py?user={username}"
Hi @neslihanturan , the photo walk task is #3388 . :) The Nearby competition is a separate event that will be done virtually. (Thanks for organizing the walk, btw! The route looks good and well-planned, and new contributors is the goal indeed.)
the timezone for all users should be the same which is the pacific timezone (server default) I guess so the week/month etc. calculations are done based on that. The ranks are calculated in real-time but the data we use to calculate these ranks is updated in the leaderboard database every 2 hrs.
Great, I think this should be fine then for the competition, since everyone will be on equal ground.