Grants:IEG/Improve 'Upload to Commons' Android App/Midpoint

Welcome to this project's midpoint report! This report shares progress and learnings from the Individual Engagement Grantee's first 3 months.


In a few short sentences or bullet points, give the main highlights of what happened with your project so far.

  • Phase 1 completed, several long-standing bugs and crashes fixed
  • Phase 2(a) completed with exception of tutorial task which is on hold for collaboration
  • Phase 2(b) completed, including new major feature (list of nearby places lacking photos)
  • One measure of success (50% increase in active installs between the start and end of the grant period) completed, others in progress
  • Several users and volunteers are active and engaged with the project, offering feedback, suggestions, and contributions

Methods and activitiesEdit

How have you setup your project, and what work has been completed so far?

Describe how you've setup your experiment or pilot, sharing your key focuses so far and including links to any background research or past learning that has guided your decisions. List and describe the activities you've undertaken as part of your project to this point.


Source code management is done via our GitHub repo, which also includes issue tracking and allows collaboration with other volunteers. When a new feature or fix has been implemented, an update is pushed to Google Play. If the release is a major one, a post is made on wikitech-l, commons-l and mobile-l. Feedback is received from users via Google Play reviews, our Google groups forum, and our GitHub issue tracker.

Tasks completedEdit

  • Phase 1 : Fix existing bugs and crashes - Many bugs and crashes were fixed during this phase. In order to keep this report succinct, a more comprehensive list of bugs fixed can be found here.
  • Phase 2(a): Make app more newbie-friendly
    • Allow account creation from within the app itself (#48) - Initially the plan for this task was to embed account registration in the app programatically, but this turned out to pose several challenges that would have significantly increased the # of hours needed to implement this feature if we went that route. Eventually, we decided to just embed the Commons mobile registration URL in a WebView, and override the ‘success’ page to bring users back to the login screen of the app. This approach appears to be the best of both worlds – we can use the Commons web registration system (so it will automatically update with any changes made to the system), but flow isn’t broken and the user doesn’t need to switch back to the app from the browser.
      Account creation screen in WebView
    • Warn users if they submit image without selecting categories (#61) - A dialog was implemented to warn users if they attempt to submit an image without selecting any categories, and to stress the importance of categorization. The user still has the option to choose to continue with submission, as some people might prefer to add categories later.
      Dialog shown when submit button is pressed without categories selected
    • Warn users if they press back button without selecting categories (#58) - Pressing the back button on the category screen by mistake will irreversibly take the user back to the main screen without allowing them to select categories, whereas the upload has already begun. A dialog was implemented to ensure that leaving the category selection screen is intentional and not by mistake.
Dialog shown when back button is pressed without categories selected
  • Phase 2(b): New location-based features
    • Display nearby wiki articles lacking photos (#73) - A basic list of nearby places lacking photos has been implemented – it pulls locations without photos from a file maintained by the Wiki Needs Pictures project and arranges them in order of proximity to the user’s position. Tapping on an item in the list brings the user to their phone’s map app with the coordinates pinned. It works reasonably well in some locations (those with location names in English), but in cases where there is no English name it displays QIDs, which are not very useful (see discussion here).
      List of nearby places lacking photos
    • Add geocoding template (#35) - If uploaded photos are geotagged, the coordinates are now sent to Commons via the geocoding template. Several bugfixes have also been implemented to prevent {{Location|null}} and {{Location|0,0}} from being sent.

Tasks on holdEdit

  • Add page to tutorial to educate new users on what types of images are useful (#95) - I have been talking with Pine about the possibility of collaborating on the tutorial, and the plan is to re-use his educational script for Commons as the basis for our tutorial. As his script is not yet complete, this task has been pushed back a little and I have moved forward with the location-based features while waiting.

Midpoint outcomesEdit

What are the results of your project or any experiments you’ve worked on so far?

Please discuss anything you have created or changed (organized, built, grown, etc) as a result of your project to date.

Progress on measures of successEdit

Active installs from Oct 2015 - Oct 2016
  • All tasks completed: In progress - 6 out of 13 tasks completed (assuming Phase 1 and Phase 3 counted as 1 task each)
  • 50% increase in active installs between the start and end of the grant period (tracked via Google Play Developer statistics): Succeeded - 217 active installs at start of grant period (20th June) and 1233 active installs at midpoint (1st October)
  • 80+ pictures being uploaded daily through the app (tracked via PetScan) that are of acceptable quality (not reverted after 3 days): In progress - 61.1 pictures daily.

To obtain these results, I tallied the results on PetScan for the period of 24th Sep - 30th Sep (>=4 days before this report was written) and calculated the average for that period. (Note: I found out that the initial number for the start of the grant period (50/day) was an overestimate because we didn't select "Only pages created during the above time window", so the initial selection would have included any pages that were edited during that time even though they were uploaded at a different time. However, we will keep this measure of success anyway and see how it goes.)

Date No. of pictures uploaded
30th Sep 85 pictures uploaded
29th Sep 42 pictures uploaded
28th Sep 30 pictures uploaded
27th Sep 12 pictures uploaded
26th Sep 50 pictures uploaded
25th Sep 161 pictures uploaded
24th Sep 48 pictures uploaded
Average 61.1 pictures per day

Additional statisticsEdit

A volunteer (Yusuke Matsubara) has created a tool to visualize the uploads made via the app on a weekly/quarterly basis. This can be viewed here.


Please take some time to update the table in your project finances page. Check that you’ve listed all approved and actual expenditures as instructed. If there are differences between the planned and actual use of funds, please use the column provided there to explain them.

Then, answer the following question here: Have you spent your funds according to plan so far? Please briefly describe any major changes to budget or expenditures that you anticipate for the second half of your project.

Yes. Slightly less than half of the funds have been spent, but that is due to the 2-week vacation that I took from the 20th of September to the 3rd of October. This was already planned from the start, so it will be made up for at the end of the project, with the project finishing on 16th Jan 2017 instead of 2nd Jan 2017.

Edit (15th Dec): I have requested an additional 600 USD in order to work on 2 extra tasks (updating licenses to achieve parity with Upload Wizard, and improving license selection in the app) before moving on to the publicity phase (rationale and more details on finances page).


The best thing about trying something new is that you learn from it. We want to follow in your footsteps and learn along with you, and we want to know that you are taking enough risks to learn something really interesting! Please use the below sections to describe what is working and what you plan to change for the second half of your project.

What are the challengesEdit

What challenges or obstacles have you encountered? What will you do differently going forward? Please list these as short bullet points.

  • Dealing with the unexpected: Some tasks did not go according to plan - for instance, in Phase 1 the plan was to fix 'all' existing bugs. However, due to an unexpected surge in users (see here), more bug reports were received during that month than could be dealt with within the allotted time. As a result, we had to prioritize bugs that had a larger impact on many users, and de-prioritize others.
  • Issues with the 'nearby list of places needing photos' list: After releasing the list and receiving user feedback, we discovered that there were some issues with non-English-named places in the data source that we chose (see full discussion here). Unfortunately it seems that in order to fix this issue, we might need to overhaul the backend code and change the data source. This was not allocated for in the proposed schedule, so I am undecided now as to whether we should nix other proposed improvements in favour of making this change immediately, or keep it for later (I am leaning towards the latter, so that we will have time to discuss the best way to go about it).
  • Time management: In September, I accepted the role of official project maintainer that was offered to me by Nicolas (previous maintainer). It has been more difficult than I expected to balance my time between finishing the proposed IEG tasks, fixing bugs/crashes from previous tasks, and general app maintenance such as responding to users, participating in issue discussions and reviewing volunteer contributions. Very fulfilling, but difficult. Hopefully I am managing reasonably well.

What is working wellEdit

What have you found works best so far? To help spread successful strategies so that they can be of use to others in the movement, rather than writing lots of text here, we'd like you to share your finding in the form of a link to a learning pattern.

Next steps and opportunitiesEdit

What are the next steps and opportunities you’ll be focusing on for the second half of your project? Please list these as short bullet points. If you're considering applying for a 6-month renewal of this IEG at the end of your project, please also mention this here.

Focus for second half of projectEdit

  • Completing the proposed tutorial for new users in collaboration with Pine.
  • Finishing up the remaining tasks in Phase 2(c) and Phase 2(d).
  • Promoting the app (in Phase 3).
  • If time permits, polishing and fixing issues with the new implementations.

IEG renewalEdit

I do plan on applying for a 6-month renewal of this IEG at the end of the project. I have been discussing this with my advisor (Nicolas), and based on user feedback and suggestions, a rough plan of the areas in which the renewal might focus on are as follows:

  • Overhaul of the "Nearby places needing photos" code to fix issues with places that have non-English names (#260, #289)
  • Send notification when user takes a photo near a place that needs images (#259)
  • Avoid copyright violations (#97)
  • Increase interactivity of the app by showing Commons notifications, feedback on how uploaded photos get used, and potentially light gamification (#7 and #85)
  • Further enhance categorization

Grantee reflectionEdit

We’d love to hear any thoughts you have on how the experience of being an IEGrantee has been so far. What is one thing that surprised you, or that you particularly enjoyed from the past 3 months?

The best part for me was probably engaging with users and volunteers who enjoyed using the app and were interested in helping to make it better. For instance, one volunteer (Tobias Schönberg) created a new website for the app, while another (Yusuke Matsubara) submitted several patches for the app and created a tool for visualizing statistics of app usage. Additionally, my advisor (Nicolas) and the WMF staff whom I interacted with (Marti and Janice) were very helpful and encouraging.