Grants:Project/Improve 'Upload to Commons' Android App/Renewal/User feedback

From Meta, a Wikimedia project coordination wiki


This is a more concise copy of the IEG renewal proposal with only the sections relevant to app users included (introduction and scope of planned improvements). Please feel free to read through this and leave your feedback at the end of the page, or alternatively if you prefer to read the entire proposal you can do so here.

Introduction[edit]

The Wikimedia Commons app (previously named the "Upload to Commons" app) allows users to quickly and easily upload photos to Commons from their mobile (Android) phone, without needing to use a browser or a computer. In the previous grant, we made various improvements to the app to (1) make it more user-friendly and convenient to use, (2) encourage submission of appropriately-categorized, unique and useful pictures to the Commons database, and (3) promote the app in order to grow the contributor base. Most of our goals were accomplished - at the end of the grant, the app had 2565 active installs and had attracted 700+ new Commons contributors. 20554 new files were uploaded via the app during the previous grant period, and 3485 of those were used in Wikimedia articles.

There were several aspects of the app that we would have liked to work further on, but were unable to do so due to time and schedule constraints:

  1. The list and map of 'nearby places that need pictures' turned out to be hugely popular among our users and has high potential for targeted impact, so we would like to focus on enhancing this feature and allowing users to upload directly from the list/map, with suggested title, descriptions, and categories based on the associated Wikidata item.
  2. Various technical and quality-of-life improvements, such as logging in with two-factor authentication and memory optimization, were requested by several users.
  3. A sleeker, more intuitive, and more interactive user interface would significantly improve the user experience and attract new users (including female contributors, who are currently underrepresented in Commons).
  4. The current image deletion rate (11.78% in the final 2 weeks of the previous grant) is reasonable, but could stand to be improved via further user education. We would like to display Commons account notifications (e.g. picture nominated for deletion) in the app, allow users to browse featured images, and add various notices and explanations in the upload screen.

Scope[edit]

There are 4 main areas of focus for the renewal. As usual, in addition to development of the planned features, we will test the feature, communicate with users (via mailing lists, Google group forums and GitHub issues) and fix any issues with implementations. All of the code for the app will be available on our GitHub repository under the open source Apache 2.0 license.

Part 1: Enhance 'Nearby places that need pictures' feature[edit]

Direct uploads & Wikidata integration[edit]

The current process of contributing images for nearby places that need pictures is rather cumbersome. The user would have to go to the list or map of nearby places, and after finding a location that they want to photograph based on that, they would need to go back to the main screen of the app and submit their image via the standard upload process. None of the wealth of information available in the Wikidata item for that location is utilized in the upload process.

We intend to implement direct uploads (#252), where the process would be:

  • When the user selects an item on the nearby list or map, there would be an option for them to upload a picture for that item. They can choose camera or gallery as usual.
  • After a picture has been taken (camera) or selected (gallery), they would be taken to the title & description screen as usual. This screen would have an option for "use suggested title and description" which would fill in the fields with the title and description of the Wikidata item (the user will still be able to edit them).
  • In the Categories screen, category suggestions would be offered based on the categories associated with the Wikidata item (in addition to other category suggestions).
  • After a successfully uploaded picture, the app would add the image to the Wikidata item by editing the P18 property. This action will be logged for collecting metrics, as well as to confirm that we are doing it correctly.

Display real-time position on map of nearby places[edit]

Currently, the map of nearby places only displays the user's position at the time that they loaded the map - the user's position doesn't change if they move around. This is an inconvenience as they cannot easily use the map to navigate to the location that they want to photograph. Tapping 'get directions' does bring up the map app of their respective phone with the location pinned, but this involves switching between the two apps. We would like to display the user's real-time position on our map of nearby places so that they can find the location of the item they wish to photograph without leaving it (#686).

Other improvements[edit]

  • Improve how the user's location is updated to prevent issues with users getting empty lists despite GPS being turned on (#674)
  • Inform new users about what the Nearby feature actually is and does, as it is not immediately obvious to newcomers. This will be done either through adding a brief description to the UI or via a one-time pop-up similar to the tutorial.

Part 2: Improve user education to improve uploads:deletion ratio[edit]

Display Commons user talk notifications[edit]

We intend to notify users in the app when a talk message is received, or if a picture they uploaded is nominated for deletion (#7). This aims to ensure that users are notified of feedback and deletions, similar to how they would if they were using the standard browser-based Upload Wizard, so they can learn from their mistakes. These notifications would all be displayed in a separate page (accessible via the navigation drawer), but the latest notification will also be visible in the main screen of the app (see Part 3: UI overhaul). Clicking the notification would bring the message up in a WebView.

Showcase featured images[edit]

We plan on adding a "featured images" section to the app, accessible via the navigation drawer (#324). This will allow users to browse recently-featured images on Commons, which aims to educate newcomers on what makes a good Commons picture, and inspire and motivate users to take great pictures in hopes of seeing their own picture in that section.

Other improvements[edit]

  • Have 'i' buttons next to upload fields (e.g. title, description, etc) to educate new users on how to appropriately fill in those fields (#701).
  • Remind user in the image upload screen that their picture must adhere to Commons policies. For instance, we might have some text in the empty space under the title & description fields saying "By submitting this picture, I [username] declare that this is my own work, that it does not contain copyright material or selfies, and otherwise adheres to [link]Commons policies." (#721)

Part 3: User interface (UI) improvements[edit]

Mock-up of the planned design for the new Commons app UI (day theme)

Overhaul of main user interface[edit]

We plan on overhauling the main user interface of the app (#725). Based on user feedback, some concerns regarding the current main screen include:

  • The upload button (the main focus of the app) is not in a sufficiently obvious and easy-to-reach location
  • The entirety of the main screen is used for the sole purpose of viewing past contributions (that the user might not be that interested in viewing)
  • The "Nearby places that need pictures" feature should be more obvious and easy to reach, in consideration of its usefulness and popularity
  • There is not much interactivity in the app - the user feels like they are operating in a vacuum without much feedback or dynamic interaction
  • The current UI is not very aesthetically-pleasing - while some changes have been made to conform to Material design, it still retains some of its 'legacy' appearance

The UI overhaul aims to address these concerns by introducing a completely new look and feel to the main screen of the app. The upload button will now be a floating action button, "Nearby places that need pictures" will be placed in a tab alongside the user's contributions, and there will be a panel to display Commons account notifications and notifications of the place closest to the user that needs pictures.

Allow multiple uploads from within the app[edit]

Currently, the only way to submit multiple uploads (many files in one upload step) is to go to the Android gallery app, select more than one image, and click "share". We would like to implement multiple image selection from within our app as well, to prevent the need for re-submitting many times if the user has several different images of the same item (#604). This might have the beneficial side effect of reducing overwrites (see Part 4).

Other UI improvements[edit]

  • Display the user's username and the picture of the day in the navigation drawer
  • Improve the appearance of the login screen

Part 4: Technical and quality-of-life improvements[edit]

Implement two-factor authentication (2FA) login[edit]

Implementing two-factor authentication login (#328) is high on our priority list as currently users are not able to login with their 2FA accounts. Implementing 2FA logins would be a good step towards making it easier for power users (who are usually familiar with Wikimedia projects and thus very likely to upload good pictures) to incorporate the app in their workflow.

Implement "dummy" uploads and upload tests[edit]

  • Dummy uploads (#555) would allow developers to manually test code without having to submit a real Commons picture each time the upload feature requires a test. This makes it easier for the developer as well as for the Commons community, as no test pictures will need to be deleted.
  • Increasing upload test coverage (#705) would ensure that the main functionality of the app (uploading pictures to Commons) is not compromised whenever a new feature or change is introduced. This would prevent the app from breaking if manual testing does not detect issues prior to releasing the app to the public.

As a side note, both of the above improvements would also encourage and make it easier for new volunteer developers to dive into the project in the future.

Prevent overwrites[edit]

Overwrites occur occasionally in the app (#228). While the number of overwrites is not high (it only happened 290 times in the past year out of 20554 uploaded pictures, i.e. 1.4% of the time), and so far it has only happened to sequential uploads by the same user (meaning they do not overwrite anyone else's files), it is still very much not intended and has potential to cause serious problems.

Currently, the way the app handles overwrites is: If the filename chosen by the user is not available (filename is already used), we silently add a numbered suffix to it and proceed with the upload. We would like to introduce an additional check during the upload process that informs the user that this filename already exists on Commons, and asks them to either confirm the new filename or enter their own (#703). With the implementation of multiple uploads (described in Part 3 - Allow multiple uploads), this should reduce overwrite occurrences while not causing too much inconvenience to the user.

Other improvements[edit]

  • Prevent app from draining phone battery (#724)
  • Fix memory leaks to prevent "app not responding" issues (#636 and #628)
  • Fix the top 10 crashes (by number of reports) listed in Google Developer console
  • Fix "high priority" bugs

User feedback[edit]

Please leave your feedback here and sign with your account name at the end (4 tildes). If you instead prefer to post your feedback directly in the Endorsements section of the renewal proposal, that is fine too. Thanks!