Commons app – Version 2.8 beta

Apologies for the long break between releases – we have been busy working on fixing an issue that many users were reporting with failed uploads, and we are thrilled to announce that we may have finally solved it! 🙂 Additionally, Wikidata integration is now complete, with uploads via Nearby Places automatically editing the p18 property of the associated Wikidata item. There are several other new features, including two recently-completed GSoC projects that we mentored – users can now browse other images on Commons, and view their achievements and upload statistics.

Please feel free to register for beta testing if you would like to help test v2.8. If you experience any bugs or crashes, or if you find any aspect of the new features to be unwieldy, please do let us know on GitHub.

Important bugfixes

Failed uploads

Over the last two months, we have attempted to debug and solve a problem reported by many users – that their uploads consistently fail. We had a lot of difficulty reproducing the problem, figuring out what caused it and obtaining the information needed to fix things, and we almost had to revert the new 2FA feature as a last resort. But we finally have a solution that fixes the problem for our testers (while still keeping 2FA intact), so we hope this works for everyone else too!

For those experiencing this issue, please register for beta testing and update to version 2.8, and let us know if it does not solve the problem for you.

Crashes during upload

We have also fixed a longstanding issue with users occasionally crashing halfway through an upload.

New features

Wikidata p18 edits via Nearby uploads

The “Nearby places that need pictures” feature works by searching for Wikidata items that are located within a certain radius of the user and are missing the p18 property. Now, when you upload an image to a pin on the Nearby map or list, the image will be automatically added to the p18 property of that Wikidata item. 🙂

To illustrate the workflow, we will again use the example of Queen Street Mall, a Wikidata item that lacks a photo:

  • I selected the “Queen Street Mall” pin on my Nearby map and tapped the camera button on the right side of the screen
  • I took a photo of the mall, and the title and description fields were automatically filled for me based on the properties of that Wikidata item
  • I tapped the arrow button on the upper right, and selected categories based on the suggestions given
  • After the upload completes, I check the Queen Street Mall page on Wikidata, and find that my image has been added to the “image” property
  • After refreshing the Nearby map, the Queen Street Mall pin is gone, because it now has a photo!

This feature is in its infancy, so we are keeping tabs on Wikidata edits that have been made via our app here.

Browse other images on Commons, including featured images, via “Explore”

The “Explore” feature is a GSoC project by Ujjwal Agrawal, mentored by Neslihan Turan and Nicolas Raoul. It builds on top of the “view featured images” feature that we had recently implemented, adding the search function to view other non-featured images. Featured images are displayed by default, but all images in Commons can be viewed by searching for a title or a category. More details about an image can be viewed by tapping on it.

View your achievements and upload statistics

The new “Achievements” feature is part of a GSoC project by Tanvi Dadu, mentored by Vivek Maskara and myself. Accessible by tapping on the “trophy” icon next to your username, you can view your images uploaded, % of images not deleted, and images used, all of which are used to calculate your level.


Quiz for users with high deletion rates

Also part of Tanvi’s GSoC project, this feature aims to help educate users who are found to have excessively high revert rates. A quiz will pop up for them in the app, and they can see the correct answer immediately after attempting a question.

First-run tutorial for Nearby Places

Based on feedback from new users, we have designed a short first-run tutorial explaining the Nearby Places feature.

Upload stats for 2018

We have a record high number of uploads via the app in 2018 Q2, with only a small fraction of them requiring deletion. \o/ Thank you all for your contributions! (Source: Commons app stats courtesy of Yusuke. 2018Q3 still in progress.)

Commons app – Version 2.8 beta

Commons app – version 2.7 beta release

Version 2.7 of the Commons app has just been released for beta testing on the Google Play Store! \o/ Please feel free to register for beta testing if you would like to help test the new features. If you experience any bugs or crashes, or if you find any aspect of the new features to be unwieldy, please do let us know on GitHub.

New features

New “Nearby places that need pictures” UI with direct uploads (and associated category suggestions)

You can now upload a photo directly from the map or list of nearby places that need pictures! Below are screenshots of my workflow for uploading a photo of “Queen Street Mall”:

  1. Go to the map of Nearby Places and select the corresponding pin from there, or the corresponding item from the list
  2. Tap the camera or gallery button, and select or take an image as usual
  3. The title and description of the image is automatically pre-filled in the next screen, but you can edit it if you wish
  4. If that item has a Commons category associated with it, that category will be on the top of the list of suggested categories


Enabled two-factor authentication login

Power users with two-factor authentication enabled for their account can now log in to those accounts via our app.

Added Notifications activity to display Commons user talk messages

Any user talk messages that you received can now be viewed via the “Notifications” screen (can be accessed via the navigation drawer).

Added real-time location tracking in Nearby

The map of Nearby places should now track your real-time position, moving your marker on the map as you move.

Improvements to UI of navigation drawer, tutorial, media details view, login activity and Settings

Added option to nominate picture for deletion in media details view

You can now nominate (your own) pictures for deletion in the media details view.

Also, too many crashes and bug fixes to mention!

Various crashes and bugs that are commonly encountered should have been fixed in the latest version. If you encounter any further crashes, please send feedback to us in the popup dialog.

Join our community

We have had a record number of contributors to our GitHub repository last month! 🙂 If you are interested in joining a diverse community of volunteers and grantees to work on the Commons app, check us out on GitHub. Both technical and non-technical contributors are greatly appreciated – non-technical contributions may involve testing, translations, patrolling, or writing documentation. More information for new contributors can be found in our GitHub wiki.

Coming up next….

  • Wikidata edits – uploading an image via Nearby will add it to the p18 property of the associated Wikidata item and remove that item from Nearby
  • A showcase of featured images
  • Multiple uploads
  • New UI for the main screen

A huge thank you to everyone who has supported us thus far! ❤

Commons app – version 2.7 beta release

Commons app update: version 2.6

Our Individual Engagement Grant has been renewed! 🙂 Thank you so much to everyone who supported our application – reading all of the wonderful comments has been extremely meaningful and encouraging for us.

We have been hard at work getting version 2.6 of the app out; there was a bit of a rocky start with the first few beta iterations, but we finally have v2.6.5 in production! \o/ Improvements in the current version include:

New UI

  • A brand new login screen
  • New design for the list of nearby places that need pictures
  • New navigation drawer design with username displayed
  • The upload screen has been remodeled to include tooltips for title and description fields, as well as an explicit copyright declaration and a link to Commons policies
  • Improved media details view with links to the selected license, categories and image coordinates

Category search

  • Fixed common issue with category search getting stuck forever
  • If a category has an exact name entered, it will be shown first
  • Added filter for irrelevant categories

Nearby Places that need pictures

  • Fixed issues with GPS that was causing “No nearby places found” errors
  • Improved handling of the refresh button


  • Added product flavors for the beta-cluster Wikimedia servers – this allows developers to test most of the features in our app without having to upload test pictures to the actual Commons server
  • Added RxJava library, migrated to Java 8
  • Switched to using vector icons for map markers
  • Added several unit tests
  • Converted PNGs to WebPs to reduce APK size


  • Modified About page to include WMF disclaimer
  • Modified Privacy Policy link to point to our individual privacy policy
  • Switched to using Wikimedia maps server instead of Mapbox for privacy reasons
  • Removed obsolete EventLogging schemas from app  for privacy reasons

Misc improvements

  • Fixed crash when using the camera
  • Reduced memory leaks and battery usage
  • Multiple fixes for various other crashes/bugs
  • Various improvements to navigation flow and backstack
  • Added option for users to send app logs to developers to help us troubleshoot any problems they are experiencing (has to be manually activated by user)

Facebook page

We have created a new Facebook page that we will be posting updates on!

Stats for 2017

The end of 2017 is nigh and the stats are in! Roughly 24,000 new images were uploaded via our app this year, and only a fraction of them required deletion. 🙂



Coming up next….

We are also currently in the process of implementing a few major new features that we anticipate will be included in our next release:

  • A new and improved Nearby Places UI with hybrid list/map and bottom sheets for individual places
  • Direct uploads from Nearby Places with relevant title, description and categories suggested
  • Two-factor authentication login

Happy holidays, and stay tuned! 🙂

Commons app update: version 2.6

Commons app – our plans for the next 6 months

We are excited to announce our (tentative) plans for the Wikimedia Commons app for the next 6 months! 🙂

A little background: The Wikimedia Commons app was funded via an Individual Engagement Grant (IEG) last year. Several new features and improvements were made to the app over the course of the previous grant. Examples include a list and map of nearby places that need photos (based on Wikidata), category suggestions based on the image title, prevention of duplicate uploads, and a new tutorial to educate new users on what types of photos should or should not be uploaded. 20554 new files were uploaded via the app during the grant period with an overall deletion rate of 15.74% (11.7% in the final two weeks after the new tutorial was implemented), and 3485 images that were uploaded via the app were used in Wikimedia articles.

While we are very happy with the progress made, users have requested many other improvements that we would like to make but were not able to fit into the scope of the previous grant. Thus we are proposing a renewal of the IEG in order to work on these. Highlights of the proposed improvements include:

Mock-up of the planned new UI
  • Enhancing the “Nearby places that need photos” feature by (1) allowing users to upload their image directly from a location on the list or map, with suggested title and categories based on the associated Wikidata item, and (2) displaying the user’s real-time position on the map to allow easier navigation to the location they wish to photograph
  • Improving user education by displaying Commons account and user talk notifications (e.g. picture nominated for deletion) in the app, adding a gallery of featured images, and adding various notices and explanations in the upload screen
  • A sleeker, more intuitive, and more interactive user interface – a floating action button for uploads, “Nearby places that need photos” in a tab alongside the user’s contributions, and a panel to display Commons account notifications and information about the nearest place that needs photos
  • Various technical and quality-of-life improvements, such as two-factor authentication login, multiple uploads, preventing overwrites, and fixing memory leaks and battery drain issues


We would very much appreciate feedback and suggestions on the renewal proposal. Please do take a look at it, feel free to ask questions and make new suggestions on the Discussion page, and/or endorse the proposal if you see fit. If you would like to be part of the project, new volunteers and additions to our diverse team are always welcome – please visit our GitHub repository or Google groups forum and say “Hi”. 🙂

Commons app – our plans for the next 6 months

Wikimedia Hackathon Vienna 2017 & Prague pre-hackathon

Had a blast at the Wikimedia Hackathon in Vienna! 🙂 A few of us also got together for a pre-hackathon in Prague a few days before the start of the hackathon, courtesy of our hosts (Wikimedia Czech Republic).

Prague pre-hackathon


We worked together from the 12th to the 16th of May in Wikimedia Czech Republic’s co-working office. 5 days and several svíčkovás later, we produced:

A map of nearby places that need pictures!

Every pin on that map is a Wikidata item that needs pictures. You can scroll around and browse, or you can select an item to get more information about it, or directions to it. (Many thanks to Mapbox for their API)



Also… a navigation drawer!

So very much better than using an overflow menu in the action bar. ‘Nuff said.

Users can now view the coordinates of their uploaded image, and date of upload.

Also, we added a logout option, and are now giving users the option of choosing how many of their previous uploads they would like to view on the main screen.

Flyers were created to publicize the app in the hackathon, videos were made, breathtaking sights were seen… oh, and Adam wrote a blog post covering the pre-hackathon, too.

Commons Uploader flyer

Wikimedia Hackathon Vienna


After a short break, we met up again (in Vienna this time!) for the Wikimedia Hackathon (19 – 21 May). While we possibly weren’t as prolific during the hackathon, some memories that stand out in my mind include:

  • Learning how to detect and fix memory issues in our app from Dmitry Brant (Wikipedia Android app team).
  • Introducing new contributors to working on the app – Adam Baso and Fitos made their first commits on our Android app GitHub repo (welcome guys!)
  • Being given UI help and pointers by Rita and Pau
  • The tremendous amount of support shown by the community during our slot at the open mic and showcase 🙂
  • Being taken around Vienna by Praveen and Tobias on the final night, including an amazing Italian dinner
  • Realizing that no matter how excited I am about a new patch, I should NOT push anything to production without going through beta (oops. sorry all those who crashed!)


Thank you

To the folks at Wikimedia Czech Republic (Vojtech, Jan, Petra, Martin, and others) who tirelessly worked to make the pre-hackathon happen, hosted us in their office, helped us with whatever we needed and showed us around Prague: Thank you.

To my team who put up with me at the pre-hackathon and hackathon (Neslihan, Vivek, Dinu, Tobias, Adam Shorland, John, and hopefully I haven’t forgotten anyone…): Thank you.

To the Wikimedia Hackathon organizers and scholarship committee, and the wonderful people we worked with at the hackathon (Dmitry, Rita, Johann, Pau, Adam Baso, Fitos, etc): Thank you.

It was all amazing, and I hope to do it all over again next year. 🙂

The Commons app is free to use, no ads. You can download it here.

We are resolving a few bugs with the new improvements listed in this post, so the new features are currently only available in beta. Anyone can sign up for beta testing here. When the bugs have been resolved, the new features will be released to everyone.

Wikimedia Hackathon Vienna 2017 & Prague pre-hackathon

March 2017 update

Lots of new stuff in the app recently!

version 2.0

We finally released v2.0 of the app, after one and a half years in v1.x! 🙂 It felt appropriate, given that the app has changed considerably from the early version 1s, and has diverged quite a bit from the original legacy app.

Beta testing

With over 2000 active installs, we decided that we should migrate to using a beta version for testing new releases, rather than pushing directly to production and hoping for the best. Opt in at

Notification if picture is a duplicate 

As requested on the Commons village pump, we implemented a check to see if the exact same image already exists in the Commons database, in order to prevent unintentional duplicate uploads. This was done by checking for similar SHA1 hashcodes using this API


Updated licenses and added option to select them in upload screen

Users can now select their licenses directly from the upload screen instead of just via Settings! This has been implemented via a drop-down menu underneath the title and description fields. CC-BY-4.0 and CC-BY-SA-4.0 have also been added to the available licenses to choose from.

New and improved UI

The UI has received an update, and is now in line with Material design guidelines. Also, a light theme has been added, which is more suited for daytime use. This can be accessed via Settings as shown below.

Updated Google Play store listing

Our Google Play store listing has received an overhaul, with a new description and new screenshots that reflect the current state of the app.

New volunteers

We would like to welcome first-time contributors Aditi Bhatnagar, Veyndan Stuart, Vivek Maskara, and Neslihan Turan on board! 🙂 Many of the recent improvements in the app have been thanks to them.

New volunteers are always welcome. Join us at

Prague pre-hackathon and Vienna hackathon

We will be sending a team to the Wikimedia Hackathon Vienna to work on improving the Nearby function of the app, and development will start during the Prague Pre-Hackathon that Wikimedia Czech Republic has kindly organized for us. More details in our discussion thread.

March 2017 update

IEG Update (November)

Not an easy month, what with relocation issues and dental surgery that ended up with complications. 😦 Also, the headers task did not turn out quite as expected. On the bright side, we’ve completed the new tutorial!

Add page to tutorial to educate new users on what types of images are useful (#95). The existing tutorial was elegant, but lacked detailed information on what types of images users should or shouldn’t upload. The number of deleted images (selfies/copyvios) currently uploaded via our app is already within acceptable bounds (see here), but we would like to try and reduce it further.

So, we added new pages to the tutorial with examples of ‘acceptable uploads’ and ‘bad uploads’, as well as an example of how to fill in the form fields for an image. The new tutorial is based on a draft of the Commons section of Pine’s educational video script, and modified to better accommodate issues specific to mobile app uploading. It was released on the 7th of Dec under the Apache 2.0 license (same as the app), and the new pictures used in the tutorial were taken by myself and Nicolas Raoul, and released under Public Domain license.


tutorial-1 tutorial-2 tutorial-3 tutorial-4 tutorial-5

Headers to distinguish where suggestions come from (#76). I spent 2 weeks on this, trying multiple methods. The first method involved simply adding the section headers to the ArrayList that is used as the data source in the adapter. So now our data source contains not just CategoryItems but also header items. Unfortunately, in most of the existing code assumes that every item in the data source is a Category, and operates on it accordingly. Also most of the existing methods rely on using the index of an element in the ArrayList for category selection, assignment, etc. With headers being part of that array, we would have to keep checking for getItemViewType(position) whenever we want to perform any operations on categories, unless we wanted to do an almost complete refactor of  I figured that, instead, I needed a pure UI solution that leaves the data source untouched.

The second method that I tried involved using the open-source CWAC Merge Adapter library, which successfully produced headers for GPS, recent, and title categories without impacting the data source. However, in order to get this to work, I had to create a separate adapter for the empty search field (which displays automatically-generated GPS, recent, and title categories along with their headers), and for the non-empty search field (which displays the results of a manual category search with no headers).

In the app currently, selected categories are aggregated and displayed at the top of the list, from any type of category suggestion (manual or automatic). This is really useful and something I don’t want to lose. But with two separate adapters, I can’t seem to get this to happen anymore – selected categories remain selected but are only displayed in their respective adapter (automatic categories that are selected only display when search field is empty, manual categories only display when search field is not empty).

At the end, I decided that I was back at square one, and the amount of work needed for me to complete this task was exceeding the benefits that it would bring (headers would be really nice but I don’t think it is a dealbreaker for most users). I decided to leave the task and the branch containing my existing code open, and move on to the next task.



IEG Update (November)