Page MenuHomePhabricator

Wrap-up report for "Easier categorization of pictures in Upload to Commons Android app"
Closed, ResolvedPublic


Project description

The Upload to Commons Android app allows users to easily upload pictures from their mobile device to the Wikimedia Commons database. This project improves the image categorization functionality of the app by offering relevant category suggestions based on geolocation, and making category search more flexible.

Category suggestions based on geolocation

If a picture with geolocation is uploaded, nearby category suggestions are offered based on the categories of other nearby Commons images. We query the Commons MediaWiki API for the Commons categories of pictures with geolocation within a radius of 10km of the uploaded pic's geolocation. The categories found are also cached using the quadtree library, so that if another picture with similar geolocation is uploaded, the cached categories are displayed and the API is not queried. This is done to reduce the load on the API, as people often upload several pics with similar locations.

Example: Uploading an image of the Hamilton Gardens with geolocation:

Entering the title and description:

hamiltongardens_titledesc.png (800×480 px, 490 KB)

Category suggestions obtained:

hamiltongardens_categories.png (800×480 px, 509 KB)

If a picture with no geolocation is uploaded, nearby category suggestions can be offered based on the user's current location. This is useful if someone doesn't want to geotag their pictures, and uploads them while still in the same area. The feature is optional and only works if enabled in Settings (disabled by default for privacy).

Enabling the 'use current location' settings:

settings.png (800×480 px, 30 KB)

More flexible category search

Category search (when typing in the search field) has been made more flexible. Prior to this, category search was done solely by prefix search. E.g. if you searched for 'latte', you would only get categories that start with 'latte', which excludes many potentially relevant categories (i.e. 'iced latte'). Prefix search is useful when you are certain of what the exact name of the category you want is, but not so useful if you are unsure. So we wanted to retain prefix search, but also provide additional suggestions for relevant categories that do not share that prefix.

We query the Commons MediaWiki API for pages of type "Category" (srnamespace=14), maximum 10 results (srlimit=10). These results are aggregated with the prefix search results and the duplicate suggestions are eliminated before they are displayed.

Example: Searching for 'latte' categories:

latte_categories.png (800×480 px, 346 KB)

Missing features/known bugs

The scope of this project mainly involves improving the categorization functionality of the app via the abovementioned 2 methods, but there are various other improvements that can be made as well.

The list of missing features and known bugs for the app can be found on GitHub issues.


Event Timeline

josephine_l claimed this task.
josephine_l raised the priority of this task from to Medium.
josephine_l updated the task description. (Show Details)
josephine_l moved this task from Backlog to Reports on the Commons-App-Android-Upload board.
josephine_l added subscribers: 01tonythomas, Niharika, saper and 9 others.

@Niharika @01tonythomas - This just requires a blog post that sums up the work done for the project, right? Is a Phabricator report required as well?


Hi @josephine_l,

We do have a phabricator report. You can look at T109290: Wrap-up report for "Extension to identify and delete spam pages" and T109291: Wrap-up report for "Graph editing in VE" for inspiration. Add as much information as you can. Links, screenshots (lots!) and any bugs you can think of (filed as phab tickets) etc.
It'll be helpful for future developers looking to work on this project.

Also, I think there are documentation pages on about the app - make sure you update those. If you're having a hard time finding them, ask your mentors about it.

Thanks @Niharika! I was looking through , where most of the wrap-up reports seemed to be done as blog posts instead. So we will ideally have both a wrap-up report (Phab task) and a wrap-up blogpost? I am not opposed to that, but they seem to both be about the same thing. Is it okay to have duplicate content between the two?

and any bugs you can think of (filed as phab tickets)

I think all current bugs/future enhancements are kept on our GitHub page, which AFAIK is where @Nicolas_Raoul prefers them. Would there be any use in replicating them as Phab tickets?

In the past, we only used to have blog posts, but we learned the hard way that blog posts are not sustainable. Blogs can be moved, deleted, closed down. A lot of past blog posts are non-existent now. The best thing you can do is to create the Phabricator report and copy the content over to your blogpost (making necessary tweaks, if any).

It's okay if the bug requests are on the GitHub page. Make sure you link to it in your report.

josephine_l renamed this task from Wrap-up report to Wrap-up report for "Easier categorization of pictures in Upload to Commons Android app".Feb 24 2016, 4:20 AM
josephine_l updated the task description. (Show Details)

Any reason to leave it still open @josephine_l ?

Usually the onus of the mentor(s) or org-admins to verify and close it. :)

Good job, @josephine_l, looks good.

Qgil subscribed.

I wonder whether this report could be republished as a post in the Wikimedia blog.

This has been tagged with the user-notice tag for inclusion in Tech News, so a couple of questions:

Has this changed been implemented? If so, when did it happen?

Hi @Johan ,

Do you mean the features listed in the report? They have been implemented and are available in v1.12 of the app that was released on Feb 18.

No probs Johan. :)

Also, @Qgil , I'm not sure how the Wikimedia blog post process works, but I am more than happy to assist with extra writing/clarification of this report if needed for it. Do let me know.

@josephine_l , check Basically you can post your curent blog post there, then the Comms team will sync with you to edit it (if needed) and publish it.

Thanks @Qgil ! I glanced at the guidelines which suggested that I email with the blog post idea first before writing a draft, so I've done that. Crossing my fingers.... :)