Commons:Mobile app/WLM release

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Outcome

[edit]

02 Sep 2021: v3.1.0 is now available for open beta testing.

27 Aug 2021: We have now released v3.1.0 of the Commons app with WLM integration, and it is available in alpha (closed) testing! The reason for closed testing is to allow organizers to test the app before the start of the competition, and for us to get bug reports ahead of time. The closed alpha version includes testing-related conveniences that aren't available in publicly-accessible versions, most notably allowing WLM uploads before 1 September (with test templates). Read this for more information on how to register for the closed alpha.

Step-by-step process of a monument photo upload:

From left to right:

  1. Our map displays WLM monuments as WLM icons, and other items as standard pins. The map is centered on the user when it loads (if they allow GPS), but otherwise they can still pan around and search different map locations. This screenshot is from the alpha testing version; in the actual publicly-available version (beta and production), WLM monuments will only be visible during the WLM period.
  2. This is the expanded view when the user selects one monument. They can bookmark it, get directions to it, and view the relevant Wikidata, Wikipedia and Commons pages. The upload is initiated by tapping the "+" button. Uploads to monuments will follow a slightly different upload flow from standard items, but from the user's perspective the process is virtually identical, so once they complete a WLM upload via the app they should be familiar enough to upload anything else in the future.
  3. The caption and description fields are pre-filled with the item's label and description on Wikidata. The user can modify those fields if they wish, or add captions/descriptions in other languages.
  4. The "depicts" field (used for structured data) is also pre-filled with the "depicts" value that is associated with that Wikidata item (in this case, Breakfast Creek Hotel). The user can search for and add other depictions.
  5. The "categories" field is not pre-filled, but the user receives suggestions relevant to the Wikidata item's label, geolocation, selected depictions, and anything else that they search for. This is in addition to the categories added automatically, such as those generated from the WLM 2021 template.
  6. In the background, the app will be doing a reverse geocode on the monument's coordinates to obtain the country, convert the country into the country code, and check the country code against a list of codes (which will be periodically updated based on the WLM 2021 template and any custom requests - see below). When the user reaches this final step, if the country code is in the list, the user will be notified here that their image will be entered into the WLM 2021 contest, before they choose to submit. If they do submit it, the WLM 2021 template will be added to their upload. If the country code is not in the list, the WLM notification (with the WLM logo) is not shown, the upload becomes a regular upload, and no WLM templates are added.
  7. This is the contributions (main) page of the app, showing the most recent uploads. When the upload is initiated, the user will see a progress bar on this page, and when completed the image will join the list of their other uploads.
  8. The user can check the details of their upload by tapping on it and entering the media details page. This page also links to the Commons file page, if the user prefers to view it in their browser.

The resulting file created on Commons from my test upload is here. The relevant Wikidata item is linked, and the WLM 2021 template has been applied (note that since this was a test upload prior to the start of WLM, I am using the "Test-Wiki Loves Monuments 2021" template instead of the actual WLM 2021 template, so as not to clutter things up).

Notes

[edit]

Please note that this implementation is meant to be a minimum viable product. We are aware that there are many things that we could ideally improve, and that there are several country-specific differences that unfortunately we cannot accommodate this year due to not having resources for it. Indeed, we did not realize when we embarked on this journey, how truly country-specific almost every aspect of an ideal implementation would be. Below are notes of how we handled these issues this year, and all of this will be noted for future years.

Handling different Wikidata properties

[edit]

There is no Wikidata property identifier that uniformly denotes what is or isn't a "monument", it differs based on country. A volunteer suggested creating a .json file for us with the desired property for each country, but unfortunately they were eventually not able to do it. Therefore we will be following the strategy used by the Monumental web app, which is fairly well-received by the community. This strategy involves filtering for certain properties everywhere, and displaying the union of it. The initial properties we will use are heritage designation (P1435), Wiki Loves Monuments ID (P2186), Cadw Building ID (P1459), NIEA building ID (P1460), National Heritage List for England number (P1216), Historic Environment Scotland ID (P709), Canmore ID (P718), Moroccan cultural heritage ID (P5694), similar to Monumental. We are taking custom requests below for anything that we have missed.

Map load time

[edit]

Adding all the monuments to our existing map query increases the time for the server to return its response by a substantial amount, as there are many more items being returned. We are currently using a system where we start with a radius of 0.3km, get the response, check how many items were returned, and if there are fewer than 20 we repeat the request with an enlarged radius. We have tried to adjust our parameters to hit the sweet spot between not retrieving too many items in very dense cities, but also not sending too many repeat requests for very sparse rural areas. In all my tests in various locations, the map takes <10 sec to load, however there will likely be edge cases. Please be patient, but please also submit a report if it takes so long in your location that it times out. The ideal solution should be to send multiple asynchronous queries and update the map when responses are received, but that requires overhauling our entire map implementation.

Attaching relevant templates and monument IDs to uploads

[edit]

Besides the standard WLM 2021 template, different countries have different templates that need to be attached to uploads, and some of these templates take different parameters. The monument ID is usually attached to these templates, however there is no universal system for a monument ID, and each country has their own system. An ideal implementation should certainly handle each country in a different manner for this purpose. Unfortunately we are not able to do that this year, therefore all we have are the standard WLM 2021 template, and association with the relevant Wikidata QID (which again follows Monumental's example).

Attaching and displaying monument addresses

[edit]

This was suggested in our planning page, and we tried it, but the vast majority of Wikidata items lack the address fields suggested (or even other address properties that we searched for). Therefore we fell back to our original system of label + description, as almost all Wikidata items have those.

Participating countries

[edit]

As there is no up-to-date machine readable list of participating countries, we will be pulling the country codes manually from the WLM 2021 template. We are aware that countries can be added at the last minute. We have already collected a first pass for our 1 Sep release, and we will go through the list in the template again on 3 Sep and update our app as soon as we can. At the same time, we will be handling any other custom requests. Due to the workload associated with a release and the part-time nature of our team, it typically takes a couple of days to do one, so there is a bit of a lag time between checking the list and releasing an update.

Competition dates

[edit]

We are aware that this year the WLM dates are from 1 Sep - 31 Oct, and countries can choose a month any time between those two dates. Unfortunately, again, it is not trivial to use different dates for different countries when viewing a map (we can't handle cases where someone is viewing the map at a border between a country with WLM on and a country with WLM off, unless we reverse geocode every WLM item before displaying it on the map, which would hugely increase load times). At the request of the international organizers, we will therefore be restricting the dates to 1 Sep - 30 Sep, as that fits the majority of countries.

Timeline

[edit]
  • 27 Aug: Released to alpha (closed) testing, to allow testing prior to WLM period. (done)
  • 1 Sep: Release to beta (public) testing.
  • 3 Sep: Collect custom requests, pull list of country codes from WLM 2021 template (2nd round). Please have your requests in by this date if you want them to be in the app.
  • 6 Sep: Release to beta (public) testing with requests and updated country codes.
  • 8 Sep: Release to production (if no gamebreaking bugs discovered in beta).

How to test the app prior to WLM start

[edit]

Android is a difficult platform to target - there are literally dozens of devices, each with their own different implementation of Android, and there is a wide range of Android versions being used due to older devices not getting updates. Many Android dev companies pay for Android device farms for testing/QC purposes. As we are a small part-time community team, all we have for manual testing are our own devices, and emulators. There will almost certainly be bugs that we don't realize until someone reports it, because it does not happen on our device.

This is why testing is so important! Thank you for helping us improve our app. :)

Steps to test the app:

  1. Download the app from Google Play here.
  2. Sign up to be a beta tester here. If you are testing the app AFTER 1 Sep, this is all you need to do.
  3. If you are testing the app BEFORE 1 Sep, you will need to also sign up for closed alpha testing. To do this, in addition to the above steps, please join this Google Group. It may take some time, but eventually the Google Play app should allow you to update to v3.1.0-alpha (which states in its changelog that WLM integration was added). If you do not get this option within a few hours after performing the above steps, you may need to restart your phone. This is a Google Play issue and out of our control, sorry!
  4. If you are testing the app before 1 Sep and you want your uploads to have the "Test-Wiki Loves Monuments 2021" template added appropriately, please edit the template to add your country code.

Differences between the closed alpha version and the publicly-available beta and production versions:

  • The alpha version has no date constraints, to allow people to test it outside the WLM period. The beta and production versions will not display WLM markers on the map or allow WLM uploads outside of the WLM period.
  • The alpha version uses a test template, so that the real WLM 2021 template is not cluttered by test uploads.
  • The beta and production versions will perform country checks on the monuments as described above. The alpha version does not.

Suggestions, bugfixes, and crash reports

[edit]
  • Feel free to post suggestions in the talk page. Unless they are very simple, unfortunately we will probably not have the time to implement them for this year, but we will collect all of them for next year.
  • To report a bug, please create an issue on our GitHub tracker.
  • If you experience a crash, the app should prompt you to submit a crash report. Please do so, otherwise we will not be able to see your stack trace and will not be able to debug your crash.

Requests

[edit]

Please finalize these requests by 5 Sep, thanks!

Requests for your country's property to be added

[edit]

Similar to Monumental, we are currently filtering for these properties to indicate that a Wikidata item is a monument: ["P1435", "P2186", "P1459", "P1460", "P1216", "P709", "P718", "P5694"]. If you are participating in WLM this year and the Wikidata property that you use isn't on this list, we can add it. Please state your country and property below, and sign your request with your username.

  • Request here

Sweden would like to be included! Our properties are Swedish Open Cultural Heritage URI (P1260) (buildings and archeological monuments) and ArbetSam ID (P3426) (working life museums). We also include historic ships in WLM and use call sign (P2317) for identification but I'm not sure how that would work in the app since the ships don't really have coordinates :)

Some filtering of the items will be necessary. When it comes to Swedish Open Cultural Heritage URI (P1260), it's a widely used property for cultural heritage and can also be applied to stuff like items in museums' collections, documents and such. So you also have to look at heritage designation (P1435) to only get WLM-relevant items:

When looking at call sign (P2317), heritage designation (P1435) should be listed historical ship in Sweden (Q16501309). That will ensure we only get relevant ships from Sweden, since call sign (P2317) is a generic property.

As for ArbetSam ID (P3426), all the items are eligible for WLM, no further filtering needed.

Don't hesitate to contact me or Axel if you have any questions. Thank you for making the app better!

--Alicia Fagerving (WMSE) (talk) 12:42, 3 September 2021 (UTC)[reply]

Hi Alicia, thanks for your interest in our app! :) Unfortunately we aren't able to do complex filters for individual countries for this year; we can definitely add P3426 to our list of properties, but the conditional filters for P1260 and P2317 are not possible I'm afraid. Would you like us to just add P3426 this year, and then we can think about adding the more complex properties (with conditional filters) for future years? Best, Misaochan (talk) 13:48, 6 September 2021 (UTC)[reply]
@Misaochan: Thank you for clarifying! Our identifiers can be complex. It would be a great first step to just implement ArbetSam ID (P3426) so that it can be tested :) --Alicia Fagerving (WMSE) (talk) 14:20, 6 September 2021 (UTC)[reply]
Will do! Thanks. :) Misaochan (talk) 14:56, 6 September 2021 (UTC)[reply]

Requests for your country to opt out of in-app WLM uploads

[edit]

As mentioned above, we understand that due to the lack of custom implementation for each country, some national organizers may prefer to opt out of people being able to submit images to WLM for their country through the app. If you prefer this, please state your country below and sign your request. We will then exclude your country from the list of included countries, which means that any uploads through our app will not generate WLM templates for monuments in your country.

  • Hello, as representative of Wikimedia Italia, being its current vicepresident, organizer of WLM Italy, I kindly ask you to opt-out Italy for in-app WLM uploads as long as the app is not yet mature enough to cover all needs of the Italian contest which includes a process of specfic categorization system and supports an additional number of local contests. We will be happy to discuss with you how all these features may be included for edition 2022, but this requires time to be developed an tested, hence can not be accomodated in the few days before contest begins. Best Regards, --Ysogo (talk) 05:44, 30 August 2021 (UTC)[reply]
Thanks for letting us know Ysogo, we will make sure to remove Italy from our list. If you ever see any uploads for Italian monuments in WLM from our app this year, please let us know and we will take a look at it ASAP. Misaochan (talk) 09:37, 31 August 2021 (UTC)[reply]
Thank you for the swift reply. Let's add that we will be in touch again after this WLM edition to handle the next edition in a complete way.--Ysogo (talk) 09:51, 31 August 2021 (UTC)[reply]