Grants:Project/Commons app/Commons Android app v3/Final
This project is funded by a Project Grant
proposal | people | timeline & progress | finances | midpoint report | final report |
Welcome to this project's final report! This report shares the outcomes, impact and learnings from the grantee's project.
Part 1: The Project
editSummary
edit- This grant took much longer to complete than expected, due to the codebase overhaul and Covid-19 happening halfway through it.
- However, we eventually managed to release v3.0 with the full codebase overhaul and new features, and the results were much better than we had even hoped for. We did, indeed, now have a mobile Commons uploader for Android users that was stable, reasonably polished, and easy to upload photos with.
- The number of images uploaded through our app (especially the number of usable or needed photos) has greatly increased, as has the number of active app installs. Therefore, we believe that most of our goals were accomplished.
Project Goals
editA more stable Commons mobile uploader with a modern codebase, lower code complexity, higher test coverage, and fewer bugs and crashes
editThe majority of our efforts throughout the project focused on this goal, and we believe that we have achieved it with room to spare. We overhauled the entire legacy codebase based on modern Android development practices, introduced requirements for test coverage with every major new feature added, and added tests for previous features. These efforts are reflected in our crash rate at the end of the grant (0.45% for the past 30 days as of 19 Jul 2021) and our test coverage (29.7% as of 19 Jul 2021).
Encouraging the upload of high-quality and usable images by mobile users, especially for Wikipedia articles that lack photos
editThis is a more subjective goal, but in my opinion it was achieved. 38,119 distinct images uploaded via the app were used in Wikimedia articles as of 19 Jul 2021, and 4,174 places that needed photos had photos added to them via the app as of that date.
An increased number of Commons contributors, especially from the Global South
editThis goal was partially achieved (as reflected in our number of active users - 7,182 as of 19 Jul 2021). Our implementation of limited connection mode was successful, allowing easier usage of our app in areas with limited Wi-Fi and mobile data. However, a big part of our plan involved organizing outreach workshops in Global South countries after v3 launch - this plan was unfortunately not able to be carried out due to the Covid-19 pandemic.
Project Impact
editImportant: The Wikimedia Foundation is no longer collecting Global Metrics for Project Grants. We are currently updating our pages to remove legacy references, but please ignore any that you encounter until we finish.
Targets
edit- In the first column of the table below, please copy and paste the measures you selected to help you evaluate your project's success (see the Project Impact section of your proposal). Please use one row for each measure. If you set a numeric target for the measure, please include the number.
- In the second column, describe your project's actual results. If you set a numeric target for the measure, please report numerically in this column. Otherwise, write a brief sentence summarizing your output or outcome for this measure.
- In the third column, you have the option to provide further explanation as needed. You may also add additional explanation below this table.
Planned measure of success (include numeric target, if applicable) |
Actual result | Explanation |
All tasks in project plan completed | Completed | |
Commons app v3.0 released on Google Play Store and F-Droid | Completed | |
Open bug issues on GitHub reduced by 30% from the start of the grant | Not completed | We realized eventually that this was not a good or realistic metric to have. The main reason is that as the number of app users grow, open bug issues will increase substantially, and many of them cannot be acted on because either the person who opened them did not get back to us with requested information, or we could not reproduce the bug and therefore could not ascertain that our fix solved the problem. We could just close these issues and "make the problem go away", however that would be counterproductive to our goals. Due to this, we believe that crash rate is a much better and more objective indicator of stability, and decided to focus on that. |
A crash rate of <1.0% (less than 10 crashes per 1000 devices) in v3.0 | Completed. Crash rate on 19 Jul 2021 was 0.45%. | |
At least 25% code coverage | Completed. Code coverage on 19 Jul 2021 was 29.7%. | |
A total of >20,000 distinct images uploaded via the app are used in Wikimedia articles | Completed. No. of distinct images uploaded via the app were used in Wikimedia articles on 19 Jul 2021 was 38,119. | |
A total of >700 places that need photos will have photos added to them via the app | Completed. Total no. of places with photos added to them via the app on 19 Jul 2021 was 4,174. | |
>50,000 new images uploaded to Commons via the app throughout the grant duration, while maintaining a deletion rate of <10% | Completed. Refer to histogram below. | |
A total of >5,000 active installs on Google Play | Completed. No. of active installs on Google Play on 19 Jul 2021 was 7,182. | |
At least 30 new Commons contributors from Global South countries via workshops | Not applicable | In-person workshops were cancelled due to Covid-19 |
Story
editLooking back over your whole project, what did you achieve? Tell us the story of your achievements, your results, your outcomes. Focus on inspiring moments, tough challenges, interesting antecdotes or anything that highlights the outcomes of your project. Imagine that you are sharing with a friend about the achievements that matter most to you in your project.
- This should not be a list of what you did. You will be asked to provide that later in the Methods and Activities section.
- Consider your original goals as you write your project's story, but don't let them limit you. Your project may have important outcomes you weren't expecting. Please focus on the impact that you believe matters most.
We were extremely stoked about the positive outcomes from rewriting the legacy code! It was something that we had hoped for, of course, knowing the importance of a modern codebase with reduced code complexity, but we did not know just how much of a positive impact it would have on the stability of our app. Our crash rate went from 1.6% to 0.45%, decreasing by 71%. Building new features and debugging issues was significantly easier with a solid foundation, and new pull requests to our repository were much easier to evaluate with a 29.7% code coverage.
There were multiple difficulties that we encountered, starting from everything taking much longer than anticipated, especially rewriting the entire codebase. Also, the Covid-19 pandemic started halfway through our grant, throwing some of our plans in turmoil and causing significant personal hardships for many of our team members. This caused our work to stagnate for a while, and culminated in possibly the longest time taken to complete a grant that I have ever seen.
However, I am immensely proud of my team that we pulled through to completion and delivered a product that we were all proud of. Besides achieving our stability goals, our app has also helped users contribute many photos for places that needed them, and we have increased our userbase significantly. I will let the graphs below speak for themselves:
Active installs of the app from Aug 2020 to July 2021, taken from the Google Play developer console
editUploads made through the Commons app as of Q3 2021, and uploads deleted
editBased on the Commons app stats tool maintained by a volunteer. Please note that this screenshot was taken in July 2021, which is right at the start of Q3, so the numbers for Q3 were still low.
Map of p18 edits made with our app (photos uploaded for places that needed them)
editSurvey(s)
editIf you used surveys to evaluate the success of your project, please provide a link(s) in this section, then briefly summarize your survey results in your own words. Include three interesting outputs or outcomes that the survey revealed.
Other
editIs there another way you would prefer to communicate the actual results of your project, as you understand them? You can do that here!
Methods and activities
editPlease provide a list of the main methods and activities through which you completed your project.
The v3.0 release contains the complete codebase overhaul, as well as all of the new features implemented during this grant.
V3 screenshots
edit-
Contributions screen
-
Upload screen
-
Media details page
-
Explore feature
-
Leaderboard feature
-
Review feature
-
New Nearby UI
-
Achievements page
Project resources
editPlease provide links to all public, online documents and other artifacts that you created during the course of this project. Even if you have linked to them elsewhere in this report, this section serves as a centralized archive for everything you created during your project. Examples include: meeting notes, participant lists, photos or graphics uploaded to Wikimedia Commons, template messages sent to participants, wiki pages, social media (Facebook groups, Twitter accounts), datasets, surveys, questionnaires, code repositories... If possible, include a brief summary with each link.
- GitHub page - our code repository on GitHub
- Website - landing page for the app
- Google Play store listing - where Android users can download the app
- Stats tool - for visualizing uploads and deletes
Learning
editThe 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 took enough risks in your project to have learned something really interesting! Think about what recommendations you have for others who may follow in your footsteps, and use the below sections to describe what worked and what didn’t.
What worked well
editWhat did you try that was successful and you'd recommend others do? 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.
- Your learning pattern link goes here
What didn’t work
editWhat did you try that you learned didn't work? What would you think about doing differently in the future? Please list these as short bullet points.
Other recommendations
editIf you have additional recommendations or reflections that don’t fit into the above sections, please list them here.
Next steps and opportunities
editAre there opportunities for future growth of this project, or new areas you have uncovered in the course of this grant that could be fruitful for more exploration (either by yourself, or others)? What ideas or suggestions do you have for future projects based on the work you’ve completed? Please list these as short bullet points.
- We are currently working on the next grant for our project, aiming to release v4 of the app by mid-May 2022.
Part 2: The Grant
editFinances
editActual spending
editPlease copy and paste the completed table from your project finances page. Check that you’ve listed the actual expenditures compared with what was originally planned. If there are differences between the planned and actual use of funds, please use the column provided to explain them.
Expense | Approved amount | Actual funds spent | Difference |
Josephine's salary | 28,750 USD | 28,750 USD | 0 USD |
Neslihan's salary | 16,500 USD | 16,500 USD | 0 USD |
Vivek's salary | 11,250 USD | 11,250 USD | 0 USD |
Ashish's salary | 6,000 USD | 6,000 USD | 0 USD |
Outreach workshops | 400 USD | 0 USD | 400 USD |
Total | 62,900 USD | 62,500 USD | 400 USD |
Remaining funds
editDo you have any unspent funds from the grant?
Please answer yes or no. If yes, list the amount you did not use and explain why.
- Yes. We were not able to hold in-person workshops due to Covid-19, so we did not spend the budgeted 400 USD on that. I would like to request that these funds be reallocated to cover salaries for the additional time that it took to complete all the tasks in the grant, as we have put in many unpaid hours to complete it.
If you have unspent funds, they must be returned to WMF. Please see the instructions for returning unspent funds and indicate here if this is still in progress, or if this is already completed:
Template:Approval for reallocation of remaining funds
- Approved for underspend of US$400 (budgeted for outreach workshops that were not held due to Covid-19) to be reallocated to cover salaries for the additional time that it took to complete all the tasks in the grant (as can be seen from the grant's duration). JChen (WMF) (talk) 07:29, 16 August 2022 (UTC)
Documentation
editDid you send documentation of all expenses paid with grant funds to grantsadmin wikimedia.org, according to the guidelines here?
Please answer yes or no. If no, include an explanation.
- Yes
Confirmation of project status
editDid you comply with the requirements specified by WMF in the grant agreement?
Please answer yes or no.
- Yes
Is your project completed?
Please answer yes or no.
- Yes
Grantee reflection
editWe’d love to hear any thoughts you have on what this project has meant to you, or how the experience of being a grantee has gone overall. Is there something that surprised you, or that you particularly enjoyed, or that you’ll do differently going forward as a result of the Project Grant experience? Please share it here!
Overhauling the legacy code took much longer than anticipated, but we have been reaping the rewards for over a year now, and in hindsight I can say that it was one of the most important things we have ever done for the app. Overall, there were ups and downs but the results were better than we had hoped for.