-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Show news about ongoing campaigns/competitions #78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
How about a small "news" that would show up only during such campaigns? since presumably a week or so before. Implementation could be as simple as loading a text file from a hard-coded URL like https://www.mediawiki.org/wiki/Wikimedia_Apps/Commons/Ad (that page would need to be ultra-protected obviously) and ignoring when the page is blank. Loading would need to be asynchronous to not impact app startup speed too much. This space could also be used for other communication such as "Now is Categorization Week, please join us at http://commons..org/Categorization_Week" or "Help translate the app to your language, see http://some-url"-type information. If we extend to this, the "news" should be dismissable. Further integration of WLM-type campaigns used to exist but has been removed as we saw no use to it, and it increased complexity. It used to be built as separate apps if I remember correctly. |
Ahh, is that the Campaigns code that we removed previously due to it being unused? That explains a lot. :) I like the idea of the ad for other WM campaigns. Who would maintain the URL that switches the ads around though? Or is it already done automatically? |
Maintainance would be done manually by the community at https://www.mediawiki.org/wiki/Wikimedia_Apps/Commons/Ad |
Ideally we could have some kind of plug-in structure. For example a GeoJSON with the location, description etc.. and also the name of the campaign, start date, end date, custom categories. Ideally a user could create a campaign from query.wikidata.org which will also be able to query commons soon (once Wikidata for Commons goes online). Something like Wiki loves monuments or Wiki loves earth is probably not more than a few lines of sparql to get the desired items. Non location based campaigns query for certain categories or create the JSON manually. If no locations are provided no map is shows, but a list. Gamification would be possible if points (stars, etc..) are assigned to the items. |
Indeed. |
@tobias47n9e: This issue is only about the ads (news), so your paragraph about SPARQL probably belongs to #100 |
We could load the JSON file from a hard-coded URL like http://commons-app.github.io/campaigns.json
Anyone willing to write a sample for a few real past campaigns? |
As discussed with the team am assigning this task to @ashishkumar468. I would be picking up #604 instead. cc @misaochan |
Can someone help me with the api's for the same. Also, I was hoping if the right place for it would be the nav drawer ? |
@VojtechDostal @nicolas-raoul @whym @tobias47n9e Would appreciate insight on which API we should use for this? @ashishkumar468 For the UI, the eventual plan is for it to be on the main screen. But depending on the output of the API, for the time being the nav drawer or even a separate "News" activity could work. |
@nicolas-raoul @VojtechDostal @urbanecm Any ideas on what API we could use? I will try to ask on wikitech-l or the village pump soon if no one here knows. :) |
Not sure I fully understand the question. What data you want to access in the app? |
The exact data that we will display is somewhat flexible, but we at least need to be able to check (1) dates that the campaigns are running and (2) names of these campaigns. |
What is a campaign in this context? |
I think we can just start with the international WLE and WLM campaigns for now, but for a future enhancement could include the country-specific ones? |
I wonder if such campaigns are stored in some app. If not, it's hard to recommend an API. |
Hmm, I guess if an API doesn't exist, we can just go with the manual maintenance and loading of a text file as mentioned at #78 (comment) . IMO this would be less-than-ideal due to the maintenance required, but if it is only WLM and WLE, maintenance would be required only once a year (and even then only if WMF changes their plans, AFAIK those usually have fixed dates every year?). |
@ashishkumar0207 I updated the JSON file with Vivek's additions, so feel free to make the app download it from GitHub (URL above) and parse it :-) |
Thanks @nicolas-raoul . I am on it :-) |
Oops, I hadn't noticed that the repo already had a JSON. @nicolas-raoul Thanks for adding the updated JSON to the repo. @ashishkumar468 You might have to update the JSON file to fix the values based on @misaochan's comment. I had just posted a sample. :) |
Thanks @maskaravivek , will do the same |
Question: Is there a plan to make the news about the Campaigns country-aware or is that out of scope for this task? |
@JeanFred Does not seems something difficult to implement, although it would add complexity in maintenance of the json, IMO, can be taken as an improvement later on, what do others say? |
Agreed. I think it makes a lot of sense to keep the first iteration simple and not making it country-aware ; but also to keep that in mind for the future as a very desirable improvement: people in Country X might be confused that they get WLM advertised if there is no WLM running in their country. For WLM and WLE it is probably not too bad, because they’re global and take place in lots of countries ; but I can imagine that competitions with smaller scope (for example, there were quite some dedicated Wiki loves X happening in India) would be keen to also get their campaigns surfaced in the app :) |
I would suggest keeping countries for a second phase because it is not trivial:
|
This might be out of the scope of the task but for the sake of discussion, we can support country-level campaigns with 2 additional attributes.
@nicolas-raoul's concerns can also be addressed:
Users who do not allow GPS/location access can be shown only
GeoCoder can be used to retrieve Address which contains country info.
The campaign file would contain a corresponding entry for each
|
Thanks for creating the new repo! I agree that country-specific support would be wonderful, but it would be best to do it as a future enhancement. Now that we have a rudimentary backend sorted, we need to consider the UI. Do we want this in the nav drawer, or the main screen, or do we want a separate News activity? IMO the news activity would probably be easiest for the time being, and would allow us to tidy up the initial iteration based on user feedback before it is placed in a more prominent location. @neslihanturan |
@misaochan yes, a separate activity which could be opened from the nav drawer |
At first I thought the most obvious would be to display a red notification. But then I realized that I hate receiving Facebook notifications that are about something not directly related to me (such as a message to me or an event about one of my pictures), so that is probably not a good idea. Showing non-important notifications might lead users to just ignore notifications, and thus not see important ones such as someone asking them about the copyright status of a picture. How about showing each campaign:
Note: I wrote "first day of the campaign", but we might prefer "one week before the start of the campaign" or "one week before AND the first day AND at the middle of the campaign" or anything similar, with for each a shown-or-not-yet record in database. Advantages over a nav drawer activity:
|
@nicolas-raoul Hmmm. That sounds a little bit complicated to me. ;) If we are going to have it in the main activity, I think it should be OK to just have the campaign news as an additional card underneath the Nearby card? It can stay up for the duration of the campaign as long as it can be swiped to be dismissed, and we remember the user's preference. It does have to be reasonably small in height so that it doesn't take up too much of the screen. |
@nicolas-raoul So to conclude to what you said
|
@nicolas-raoul If there are any live campaigns going on, can you please add one of them in the repo mentioned, would be really helpful in testing with the actual api's, currently I am using a fork of your repository for the same |
I don't know any ongoing campaign unfortunately, but we can fake it until
before release.
…On Thu, Dec 13, 2018, 23:25 Ashish Kumar ***@***.*** wrote:
@nicolas-raoul <https://github.com/nicolas-raoul> If there are any live
campaigns going on, can you please add one of them in the repo mentioned,
would be really helpful in testing with the actual api's, currently I am
using a fork of your repository for the same
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#78 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAGFBnBLEZcLo26a3EL8wcCjiyHu76QRks5u4mNwgaJpZM4HqKq2>
.
|
Umm, wouldn't it work if you just changed the date in the emulator? Pretend it's Sep 15. :) |
BTW, how do we handle recurring dates? Currently the year is hardcoded in the JSON file. Is there a way for us to specify the date and month, but have it applicable for every year? |
Reopening as we still need to sort out the recurring dates before we release this. We can just make them 2019 if we have to, and change them every year, but that would really not be ideal. |
Hard-coding the next 10 years is probably simpler, and chances are low that
any campaign will keep the same dates for 10 years, I would say.
…On Sat, Dec 15, 2018, 01:56 Josephine Lim ***@***.*** wrote:
Reopened #78
<#78>.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#78 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAGFBnlUpfxMZBSC5oEGqQMS_gQrwuliks5u49hbgaJpZM4HqKq2>
.
|
@nicolas-raoul Ah, good point. Should we just add 2019 and 2020 to the JSON file now, then? |
I've added 2019 to the JSON file and fixed the dates etc. If anyone could double check the file, that would be fantastic, but everything appears to be in good working order otherwise. :) |
Suggested by John Cummings at https://commons.wikimedia.org/wiki/Commons:Village_pump#IEG_proposal:_Improve_Upload_to_Commons_Android_app
The text was updated successfully, but these errors were encountered: