Page MenuHomePhabricator

[Wikimedia Commons app] Improve feedback on how pictures uploaded to Commons are used
Closed, DeclinedPublic

Description

Profile Information

Name: Valentina Koniukhova
email/hangouts: vkonuhova@gmail.com
Github: Yahhi
Location: Russian Federation, Tatarstan Republic, Elabuga.
Typical working hours: 9 p.m.- 1 a.m., 9 a.m. - 12 a.m. UTC+03

Synopsis

Summary
The project will Improve feedback on how pictures uploaded to Commons are used. It will show such particular image ranks as

  • Number of image occurrences used in Wikipedia/Wikivoyage/etc. articles
  • What kinds of awards and identifiers an image received
  • Received thanks if the feature becomes available on Commons
  • Received barnstars

After getting all these ranks for a particular image, the user can see what contributions are more popular and useful for the community, to improve the quality and relevance of the future uploads. It will work similarly as car driver adopts the trajectory of the car while rotating steering wheel. Driver rotates the wheel, gets feedback and can better adapt to a car. A user will upload some photos, then see if some of them are receiving better feedback, then a user will try to realize what makes some of the images be better then others and implement this knowledge in future uploads.
Overall ranks (for all user images) may be the source of pride for a user. Also to add a bit more competition app can include high score table among friends or Wikimedia user-groups. Light gamification may also include user badges. So a user can spread the word about his/her progress and community appreciation to motivate other people to install the app so downloads number will increase.
Current practice does not allow to get any overall user or image feedback inside the app. The user should visit the site to see image usage statistics, for example, where required information needs to be found on a quite large page with no real optimization for a small phone screen. Sharing button is available for image only.
Additionally the app can use such ranks as:

  • Number of image editions (including simple description typo fix and categorization)

This rank can be the mark of setting wrong title/categories for an image, so the user needs more guidance on selecting right category and naming (may be additional guide can be created for this purpose. It is even more critical for local languages, sometimes it is hard to find a required category in a local language, but in English selecting it becomes dramatically easier)

  • Number of deleted images and links to the deletion discussion/reason

If this rank became too high (need to discuss actual value with the community) it may affect the number of images the user can upload at a certain amount of time (day for example), and the app will suggest the user see a guide about good pictures to send. Creating excellent images that are easy to find and use will affect the popularity of Wikimedia project at all.

Possible mentors:
Vivek Maskara <maskaravivek@gmail.com>
Josephine Lim <josephinelim86@gmail.com>
I have already spoken with these mentors on GitHub issues page and in hangouts.

Deliverables

March 28 to April 23 - Continue contributing to the project, getting familiar with code structure and common practices on how to use libraries, preferences, local storage, and database.

April 23 to May 13 - Community bonding period.
Meet with the community working with server-side API or bots for getting image rates such as thanks, used, etc. Get familiar with API.
Meet with Wikimedia community. Add discussion for suggestions of badges granted to a user for successful interaction with app and accomplishment milestones (such as adding a picture of a place nearby or getting first ten use occurrences on an image or any other desired behavior) and a poll to implement only popular variants.
Take part in discussions about gamification (https://github.com/commons-app/apps-android-commons/issues/1247, https://github.com/commons-app/apps-android-commons/issues/85)

May 14 to May 20 - Form all the required API requests handling into one abstract library. It will include methods to get ranks described earlier

May 21 to May 27 - write tests for all API request-handling functions.

May 28 to June 3 - Implement API requests in Ranks Handling Class (RHC)

June 4 to June 10 - Add used, thanks, barnstars, and awards icons/counters for image view. Create suitable loaders for this data.

June 11 to June 17 - Create Espresso tests for image ranks. Fix errors.

June 18 to June 24 - Implement data structures and algorithms to count overall account rank. Rank can be in-group or global. Use Wikimedia user-groups to make a user feel like part of a small familiar community where people are more similar in their interests or geographic position instead of the global community where there are too many people and nearly impossible to be in top part of a rank table.

June 25 to June 28 - Prepare Midpoint Feedback report. It will include a list of ranks acquired or calculated by RHC with a detailed description of every method and its use cases.

June 29 - Mid-point feedback

June 29 to July 6 - Create profile screen with gamification badges and ranks for all screen sizes and portrait/landscape modes.

July 7 to July 14 - Bind profile screen fields to actual information received and calculated using RHC.

July 15 to July 22 - Add Espresso tests for Profile screen. Fix errors.

July 22 to July 30 - Add share button so the user can share his rank or special badge in social networks allowing a user to be proud of his progress and to spread the word about Wikimedia community and Wikimedia app.

July 31 to 7 August - Add background worker that will count deletion/edition rate for app user and if it is too high will add a notification with a suggestion to view tutorials or see images of more successful users

7 August to 14 August - Final report. Documentation.

Participation

I will make a new repo on git and maintain two branches. The code will be uploaded to the dev branch periodically and will be merged with the master branch once review and testing are done.
I will use Phabricator for managing bugs and subtasks.
I will communicate with the mentors and community in hangout group
I will use GitHub issue discussions to get feedback from the community

About Me

I have completed master's degree in Information technology at Kazan State Technical University named after A.N.Tupolev 2003-2008
Then I have continued to work in this university as an instructor and then as a lecturer. 2009 - 2015. During this period I have continued to study new things because I'm fond of lifelong learning. The most relevant to this project is Gamification course at Coursera (https://www.coursera.org/course/gamification). The certificate is here https://www.coursera.org/api/legacyCertificates.v1/spark/statementOfAccomplishment/128~1215954/pdf
Three years ago I realized that I'm not happy just telling my students about information technologies and creating study cases. I want to create my programs that will be useful for people and can change the world for the better. So I have started to study Android programming. It was not such an easy path because I became the mother of two children during this period, but about a year ago I have started to work as freelancer Android developer. I am working on the app for communication between parents and school staff. It has a backend, so I have experience working with network requests, getting and showing data asynchronously. The app is still in internal test, but already have play store link https://play.google.com/apps/internaltest/4701213887188057712.
In this year I have received google scholarship award to study android advanced nanodegree track with Udacity (15 February - 15 August). Their course and approach to not only passively get knowledge, but to implement everything in real projects are wonderful. Google specialists have created parts of this course. It reflects the most effective approach to write Android apps; I believe I can implement in the wiki media.

If this project will be done, it will prove that I made right decision changing my profession to the Android developer.
Wikipedia and its partner projects are with us for a lot of years. As far as I remember me asking some information on the Internet, I saw wiki results among others, and they were used just in every case. Wiki is the synonym for open knowledge accessible for everyone for me. Open data, public information, free media, open source. So when I saw Outreachy project linked with this great community and suitable to my current area of interest - creating Android apps, I was very inspired to apply. I believe that this project can make Wikimedia more popular, just like Wikipedia is the first place where I will search information, Wikimedia will have so much and so well categorized images that it will be the first place where I will search illustrations.

Past Experience

Although I have deep information technology background (I have programmed in Pascal, C# for more than 15 years, Java - about two years). I am just starter on my way to be a programmer of open source projects. Unquestionably, as a programmer, I have used some open source libraries either well known (such as firebase-ui, Picasso) or specific (such as https://github.com/amulyakhare/TextDrawable, https://github.com/alamkanak/Android-Week-View). I am sure I should study a lot of things ( to be better at using git for example)

My work on this project in progress:
In the project, there are a lot of problems with lint warnings and memory leaks. I have tried to solve some.
https://github.com/commons-app/apps-android-commons/pull/1352

Because at that moment there were no unassigned beginner-friendly tasks, I have played with the app and find the issue. It seems to be a bit complicated because the app works not as intended just in one case and the reason for it lays in the field of sending and receiving asynchronous network requests.
https://github.com/commons-app/apps-android-commons/issues/1355

Mockups

Event Timeline

Hi @Yahhi-K, the application deadline for Outreachy Round 16 was already on March 22.
Could you clarify if you successfully filled in your application on the Outreachy website before that deadline? Thanks!

Hi @Aklapper , we extended our Outreachy deadline to Mar 29, and I can confirm that I see this proposal in my Outreachy dashboard.

Hi @Yahhi-K, the application deadline for Outreachy Round 16 was already on March 22.
Could you clarify if you successfully filled in your application on the Outreachy website before that deadline? Thanks!

For this project, the deadline is on March 29. As it is said on Outreachy site (https://www.outreachy.org/2018-may-august/communities/wikimedia/#wikimedia-commons-app-improve-feedback-on-how-pict):

Wikimedia - [Wikimedia Commons app] Improve feedback on how pictures uploaded to Commons are used
Application deadline: March 29, 2018 4pm UTC

Oh, thanks! And sorry, didn't know!