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

From Meta, a Wikimedia project coordination wiki
Jump to: navigation, search


This project is requesting a 6-month renewal of the grant, to continue work in the areas described below.

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]

  • Implement OAuth for login to protect user credentials (#819)
  • 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

Budget[edit]

(Note: This budget has been revised twice. Once on 20 July 2017 based on endorsers' feedback, and the second time on 14 Aug 2017 based on changes in the project lead's personal circumstances. This should likely be the final revision unless WMF or the community requests any changes)

The total amount requested is 26306 USD for 6 months.

Budget breakdown[edit]

The items below represent the salary for each of the grantees involved in the project. These are the only costs expected; there are no travel or equipment costs.

Grantee Role Job description Commitment Person weeks Cost
Josephine
  • Project & product manager
  • Android developer
  • Responsible for the entire project, product quality, and meeting grant reporting requirements
  • Managing app releases, communicating with users, integrating user feedback
  • Planning, coordinating and documenting work on the app
  • Android development
25 hrs/week 24 weeks(1) 13800 USD(2)
Vivek
  • Android developer
  • Android development
15 hrs/week 26 weeks 5070 USD(3)
Neslihan
  • UI designer & developer (Android)
  • Assistant project manager
  • UI design & development (Android)
  • Managing code repository - testing and reviewing pull requests, organizing issues and crash reports
  • Supporting new contributors and volunteer collaborators
22 hrs/week 26 weeks 7436 USD(4)
Total 26306 USD

(1) I will be taking 2 weeks of unpaid leave out of the 6 months, hence 24 weeks

(2) Based on salary of 23 USD/hr at 25 hrs/week (to cover living costs in Australia). The average hourly salary for an Android developer in Australia is between 26.50[1] to 60[2] AUD/hr (20.56 to 46.54 USD/hr, based on exchange rate of 1 USD = 1.29 AUD on 14 July 2017)

(3) Based on salary of 13 USD/hr at 15 hrs/week (to cover living costs in India). The average hourly salary for an Android developer in India is Rs 494.35 per hour[3] (7.67 USD/hr, based on exchange rate of 1 USD = Rs 64.46 on 14 July 2017).

(4) Based on salary of 13 USD/hr at 22 hrs/week (to cover living costs in Turkey). The average salary for a full-time Java developer in Turkey is 1400 USD/month[4], pro-rated at 8.08 USD/hr for 15 hours/week[5].

Rationale[edit]

Targeted impact - encouraging users to take and upload photos of places that need them[edit]

The "Nearby places that need photos" feature is being emphasized in the renewal not just due to its popularity with users, but also because of its potential for targeted impact. For instance, Wikimedia Czech Republic has mentioned that this feature helps them with their media acquisition support program, where one of their goals is to take pictures of all unphotographed yet geo-located items on Wikidata[6].

Encouraging users to take and upload photos to Commons is good, but encouraging users to take and upload photos of places that are lacking in them is even better. The enhancement of this feature aims to reduce the number of geo-located Wikidata items that lack pictures, and consequently to provide pictures for Wikipedia articles that lack them. We believe that this is one of our main strengths as a mobile app - users can have a seamless workflow where they can browse the places that need photos, select one and move to the location, and then directly upload the photo after taking it (with relevant titles and categories suggested), all within the same app and without needing to use a computer.

Increasing quality and usability of pictures uploaded[edit]

Now that the app has a reasonably large base of active users, we are aiming to focus less on total user or upload numbers, and more on how we can contribute to an increase of usable pictures, and how the app can benefit other Wikimedia projects. One of the biggest fears surrounding the development of a mobile uploader is that it might encourage a large number of uploads of selfies or copyvios. While we hope that we have mostly allayed those fears in the previous grant (the current image deletion rate from the final 2 weeks of the previous grant is 11.78%, and the overall deletion rate even before implementation of the tutorial is 15.74%[7]), we would like to improve this even further.

Improving user education is a main focus to this end, and we hope that we will finally achieve feature parity with the Upload Wizard in terms of user education by the end of this renewal. Some of the other improvements we have planned (e.g. implementing 2FA logins to encourage power users) are also aimed at encouraging the upload of high-quality and usable pictures.

Improving gender and geographical diversity of Commons contributors[edit]

Installs of Commons app by country as displayed in Google Developer console

Gender diversity - Statistics have shown that mobile apps based around photo uploads are often popular with female users. For instance, 68% of Instagram users are female[8]. In view of that, a mobile app similar to Instagram (with a sleek, intuitive, convenient and interactive UI) could go a long way towards attracting more female Commons contributors.

Geographical diversity - In many countries in the Global South, uploading via mobile app may be preferable to uploading via computer - this has been anecdotally confirmed by Shyamal in his Himalayan workshop report, where he mentioned that "people of the region are happy to use WhatsApp and Instagram to upload images but seemed to be a bit hesitant about using a browser and were quite happy to see the Upload to Commons app"[9]. Taking a broader view at statistics from the Google Play developer console, we find that while unfortunately some countries are not represented, there is a fairly wide distribution of users across the globe, with many Global South countries being represented. In fact, 3 out of the top 5 countries in terms of active user installs are from the Global South (India, Morocco, Bangladesh)[10]. Based on the above, we believe that having a well-maintained mobile app for Commons uploads is crucial for tapping into the potential of underrepresented communities.

Sustainability[edit]

This project aims to make it easier for people to upload usable and highly-needed images to Commons, so the benefits of this project should continue long after the grant has been completed. The project code is available on an open source Apache license on GitHub (a collaborative version control system that most developers are familiar with), and some of the improvements proposed in this renewal (e.g. implementing "dummy" uploads) aim to make it easier for new volunteer developers to jump in and start contributing code. Also, we have found that having an active project with a relatively small codebase and a diverse group of existing developers appears to be beneficial in attracting new volunteer developers[11].

Team expansion[edit]

The team in this renewal was expanded from the original (of one grantee) because the scope of the renewal is rather too ambitious for a single developer to undertake alone. Maintaining the original number of person-hours would have required a considerable scaling-down of the scope of the renewal, which would significantly reduce the impact and would not be able to fulfill all of the user requests. Each new team member brings their individual strengths to the table, and we found that we worked well as a team at the Vienna hackathon and Prague pre-hackathon[12]. We have also collaborated online before and after the hackathon via GitHub and Google Hangouts, so we do not estimate the distributed nature of the team to cause any issues.

Measures of success[edit]

  • All tasks completed
  • A total of more than 11,000 distinct images uploaded via the app are used in Wikimedia articles. This will be measured via a GLAMorous query. (Total distinct images as of 6 July 2017: 8738. Distinct images uploaded over the past year: 3485)
  • More than 500 places that need photos will have photos added to them via the app. This will be measured by the number of P18 edits made in Wikidata by our app (see Part 1 - direct uploads).
  • Less than 10% of images uploaded via the app are unusable (deleted). This will be measured over a period of 2 weeks at the end of the grant, based on statistics from the Commons stats tool. The deletion rate will be calculated by dividing the number of deletions over the number of uploads, with the aim of obtaining a deletion rate of <10%. (Average deletion rate over the past year: 15.74%)
  • Overwrite incidents are reduced to <0.5% of all uploads. This will be measured over a period of 2 weeks at the end of the grant, based on statistics from the Commons stats tool. We are hesitant to set our target to 0% at this stage because we have to account for users not updating their app after fixes are made, but the eventual aim is 0%. (Average overwrite incident rate over the past year: 1.4%)
  • (Optional) User satisfaction rating of 7+ out of 10. This will be measured by surveying at least 20 users at the end of the grant, asking them questions such as, "Has this app made it easier for you to upload photos to Commons?" and "How would you rate your overall experience with this app?". However, this measure of success is dependent on having at least 20 users willing to expend their time and effort to fill out a survey.

Participants[edit]

Grantees[edit]

  • Josephine Lim - project lead (User: Misaochan, GitHub: misaochan). I have been the project maintainer of the Commons app since September 2016 and have worked on the app since October 2015. In 2017, I collaborated with Wikimedia Czech Republic to organize a pre-hackathon in Prague for the Commons app team (prior to attending the Vienna hackathon 2017).
  • Vivek Maskara (User: Maskaravivek, GitHub: maskaravivek). Vivek has been a regular code contributor to the app since March 2017, and was part of the Commons app team in the Vienna hackathon and Prague pre-hackathon. Several of the bugfixes, improvements and new features in the current version of the app were implemented by him.
  • Neslihan Turan (User: Neslihan_Turan, GitHub: neslihanturan). Neslihan has been a regular code contributor to the app since March 2017, and was part of the Commons app team in the Vienna hackathon and Prague pre-hackathon. She designed and implemented the day/night themes and the user interface for the map of nearby places that need photos, and the mock-up of the new design shown in this proposal was created by her.

Advisors[edit]

  • Nicolas Raoul (User: Syced, GitHub: nicolas-raoul). Nicolas was the previous project maintainer of the Commons app and has been a Wikimedia contributor since 2005.
  • Vojtěch Dostál (User: Vojtěch_Dostál). Vojtěch is the chair of Wikimedia Czech Republic and an avid user and supporter of the app.

Community discussion[edit]

Community Notifications[edit]

Endorsements[edit]

Do you think this project should be continued for another 6 months? Please add your name and comments here. Other feedback, questions or concerns from community members are also highly valued, but please post them on the talk page of this proposal.

  • This is a very well-written proposal which approaches the subject in a very analytical, almost scientific way. I love it and I am honored to serve as a part of the team. I think the Commons App team has proven that community can drive development of something as complex as this mobile app and I look forward to the advances which will be made this year. --Vojtěch Dostál (talk) 07:30, 15 July 2017 (UTC)
  • Support Support 'Part 1: Enhance 'Nearby places that need pictures' feature' will be incredibly helpful in all kinds of outreach activities, to my knowledge this is the most accessible and lowest barrier to entry way for people to contribute images to Commons. I can see it being used by schools, photography clubs, local history clubs etc, it could also be used as an interface to make entering Wiki Loves Monuments and Wiki Loves Earth easier. This feature will become more valuable over time as Wikidata becomes larger e.g national heritage registers are imported (Wales is a good example of this). John Cummings (talk) 13:56, 17 July 2017 (UTC)
  • Support Support. Where can I help with localizing interface & drop-downs into other languages that I speak, starting with Russian?--Frhdkazan (talk) 19:23, 17 July 2017 (UTC)
  • Support Support. I am a user of this app and believe all the suggested improvements are good. Especially the automatic P18 addition will be useful, and even more so over time, as Wikidata integration become more prevalent in infoboxes. Ainali (talk) 08:02, 18 July 2017 (UTC)
  • Support Support. I am just a lurker of the mobile-l mailing list, but seeing the Android Commons app from time to time as a true open source and community powered app is great. I also think the app still needs a lot of upgrades, so supporting the developers (and soon hopefully designers) seems like a great idea. Sujan (talk) 13:47, 18 July 2017 (UTC)
  • Support Support. This project is a success story of open source development. The Mobile Apps Team had to stop supporting this app due to resource constraints. Since the app is open source, the development and maintenance app was picked up by Josephine et al. who have made it a quite successful project in terms of the developer community around the app, the quality of the app for end-users, and alignment with the movement's mission. I believe the amount requested in this grant is modest compared to the quality of the output. I'm happy to endorse this proposal. --Dan Garry, Wikimedia Foundation (talk) 11:01, 18 July 2017 (UTC)
  • Support Support. It's really important to have an easy way to upload images from phones to Wikimedia projects as directly as possible. Ideally it should be as easy as with Twitter, Facebook, and Instagram (obviously, with adaptations with regards to vandalism, relevance, licensing, labeling, internationalization, etc.). It's great to have the Commons app as it is now. I thank the current developers for their great work, and I hope that the development continues, and that the app improves further. The developers' suggestions for future directions are good. I am also very happy to see the metrics—the fact that the numbers of uploads, deletions, and usage in articles were measured is already very good, and the numbers themselves are very impressive as well. --Amir E. Aharoni (talk) 13:58, 18 July 2017 (UTC)
  • Support Support per Ainali above. Ijon (talk) 14:12, 18 July 2017 (UTC)
  • Support Support Of course, good mobile upload app is definitely what we as a community need. Yarl (talk) 14:29, 18 July 2017 (UTC)
  • Support Support. It would be really silly to pass up the chance to keep this project moving forward. I'm glad to see the increase in hourly rate for the project lead, relative to the previous grant. These rates still seem very low.--Ragesoss (talk) 17:38, 18 July 2017 (UTC)
  • Support Support A clear track record of success, clear breakdown of features needed and criteria for success, very reasonable budget (if anything my criticism of this proposal would be it seems wrong that these people are asking for so little money). I wholeheartedly endorse this proposal. Bawolff (talk) 18:03, 18 July 2017 (UTC)
  • This is a great grant proposal for a great project: measurement of metrics might be a little time-consuming, I would advise against the survey and replace it with a rating on the android store (for reference the Wikipedia app has 4.4 stars). Also, for the record, you guys are underpaid. Popo le Chien (talk) 06:28, 19 July 2017 (UTC)
  • Support Support This project is absolutely crucial to making sure that people can easily upload to Commons from mobile devices. The user experience of uploading to Commons with the upload wizard continues to be something I think turns many people away from contributing, so the WMF should give the Commons Upload team any support they need to improve this project further after the strong progress that has been made in the past year. John Lubbock (WMUK) (talk) 14:44, 19 July 2017 (UTC)
  • Support Support I just started using the app, and have been surprised and delighted by the attention that the development team has paid to the user experience. And the nearby feature is wicked cool. This is an excellent application already, and the teams detailed improvement plan make me confident that they have the will and the expertise to make it even better. Jtmorgan (talk) 20:22, 21 July 2017 (UTC)
  • Support Support as advisor. I would like to mention that apart from working on grant tasks, Josephine also keeps the app and its community afloat by responding to urgent and non-urgent problems, fixing existing bugs, reviewing enhancement ideas and pull requests (most of which are not related to the grant tasks), welcoming newcomers, and pushing new releases. A quick look at the issue tracker and commits shows a lot. Syced (talk) 04:42, 23 July 2017 (UTC)
  • Support Support The projects is very active and successful. It also is a good entry point for technical contributors from the Java/Android world into the WMF ecosystem. --Tobias1984 (talk) 10:11, 29 July 2017 (UTC)

References[edit]

  1. Payscale human capital - Android software developer salary Australia
  2. Greythorn Australian IT market insights and salary guide
  3. Payscale human capital - Android software developer salary India
  4. Blog
  5. Salary to hourly pay conversion calculator
  6. Grants:Simple/Applications/Wikimedia_Czech_Republic/2017
  7. Uploads and deletions
  8. Instagram statistics
  9. Grants:TPS/Shyamal/Himalayan_workshop/Report
  10. List of countries by regional classification
  11. Grants:IEG/Improve_'Upload_to_Commons'_Android_App/Final#Indicators_of_impact
  12. Wikimedia Prehackathon Prague