apps-android-commons icon indicating copy to clipboard operation
apps-android-commons copied to clipboard

GSoC 2022: Improve the custom picture selector

Open nicolas-raoul opened this issue 3 years ago • 52 comments

Students interested in GSoC 2022, welcome! Please read the instructions to apply. The set of enhancements below constitutes the proposed task that the chosen student will implement during GSoC 2022.


The custom picture selector appears when the user taps the + then taps the third button (at the bottom, a gallery icon with a small Commons icon overlay):

adb

Below is a list of enhancements that would make it more convenient for users:

UI when within a folder

  • At the bottom of the picker, show two buttons:
    • "Upload" to start the Upload Wizard with the selected pictures (replacing the already implemented ✔️ button currently available at the top-right).
    • "Mark as not for upload" to mark these pictures with a 🚫 overlay icon (and grey them out). For instance family pictures, not meant to be uploaded to Commons. This state must be remembered even after restarting the app. Tapping "Not for upload" when all selected pictures are already marked as "Not for upload" has the opposite effect, a bit like pressing "Italic" twice in a text editor makes the selected text in Italic then normal.
  • Button to hide/unhide pictures that are either marked as "Not for upload" or have been uploaded already. Hiding them allows the contributor to more easily spot pictures they might want to upload.
    • For a good user experience, the screen should try to show the same point in time after changing this setting. For instance in the mockup below, after disabling this setting I should still see the pictures with no lower-right overlay, even if many pictures were removed above them. This may require adjusting the scroll position.
  • Currently, when selecting 3 pictures, they are numbered "1", "2", "3". Instead, please make all numbers always show the number of selected pictures, for instance if 3 pictures are selected, they should all have the number "3", and be uploaded in the same order as their thumbnails are shown.
  • Add a fast scrollbar (ideally bubble scroll showing the date at which the pictures shown were taken).

gsoc2022pictures

UI when in full-screen mode

(fullscreen starts when you long-press any picture in the custom picker)

  • Show a small overlay indicating whether the picture is selected or not, showing the number of selected pictures.
  • Gestures:
    • Left/right swipe to go from one picture to another.
    • Swipe up to select the picture (the equivalent of tapping it in non-fullscreen mode) and show the next picture (the picture that follows in the folder view, skipping pictures that have either already been uploaded or ignored).
    • Swipe down to immediately mark that picture as "Not for upload" (the equivalent of selecting it then tapping "Mark as not for upload" in non-fullscreen mode), and show the next picture.

adb

nicolas-raoul avatar Jan 22 '22 09:01 nicolas-raoul

Hi I am new to contribution , I am targeting GSOC 2022 and so I would like to work on this issue , IT would be great if you guide me a way to kick start working on this issue

Rishavgupta12345 avatar Jan 23 '22 06:01 Rishavgupta12345

@Rishavgupta12345 Welcome! Sure, here is the guide that should contain everything to get started: https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md :-)

nicolas-raoul avatar Jan 23 '22 06:01 nicolas-raoul

Hey @nicolas-raoul, what's this about ? can i work on this, right now ?

arinmodi avatar Feb 15 '22 18:02 arinmodi

@nicolas-raoul does this mean there will be only 1 idea in GSoC this year?

mrfeder666 avatar Feb 15 '22 18:02 mrfeder666

@arinmodi Please do not start working on this particular issue right now, as there are high chances that it will be worked on during GSoC.

@mrfeder666 Please refer to https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md#task-ideas (in short: this is the recommended idea but other ideas are OK too)

nicolas-raoul avatar Feb 16 '22 03:02 nicolas-raoul

@nicolas-raoul, is there any idea list for GSOC 2022 ?

And for android, is this only idea for GSOC 2022 from Wikimedia ?

arinmodi avatar Feb 19 '22 20:02 arinmodi

@arinmodi Please read https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md#task-ideas thanks! For now yes this is the only Android Wikimedia idea apparently: https://www.mediawiki.org/wiki/Google_Summer_of_Code/2022#Ideas_for_projects

nicolas-raoul avatar Feb 20 '22 00:02 nicolas-raoul

Hey @nicolas-raoul, how can we mark the picture that it is not for upload, is there any standard for this ?

arinmodi avatar Feb 21 '22 16:02 arinmodi

@arinmodi I suggest an overlay icon similar to this: 🚫

nicolas-raoul avatar Feb 22 '22 02:02 nicolas-raoul

@nicolas-raoul, i am not talking about the icon but how can we determine that this image is ok to upload and this image is not ok to upload,

For example, picture contain dog photo should mark with not for upload, like that

arinmodi avatar Feb 22 '22 09:02 arinmodi

@arinmodi It is the app user who decides that. For instance on my phone I have a family picture and a building picture: I would manually mark the family picture as "not for upload".

nicolas-raoul avatar Feb 22 '22 09:02 nicolas-raoul

So, how can the user select the picture as "not for upload", currently tapping on the image select the image for upload.

So, i think we need to add another touch event, which mark the image as not for upload for example, onLongPressing the image, it should mark as the "not for upload"

What do you think ?

arinmodi avatar Feb 22 '22 10:02 arinmodi

@arinmodi To mark a picture (or several) as not for upload, here are the steps: 1) Tap the picture(s) 2) Tap the "Mark as not for upload" button.

nicolas-raoul avatar Feb 22 '22 10:02 nicolas-raoul

okay @nicolas-raoul, now i got the idea,

but this is reserved for the GSOC right ?

arinmodi avatar Feb 22 '22 10:02 arinmodi

@arinmodi Yes, this is reserved for GSoC 2022.

nicolas-raoul avatar Feb 22 '22 10:02 nicolas-raoul

As I read through the description, I came across that we have to store the state of "mark not for upload", so we have to store in local database, right or we have to store it in remote database,

arinmodi avatar Feb 22 '22 17:02 arinmodi

@arinmodi The information must be stored locally. The "uploaded already" information is already being stored locally, the implementation will probably be very similar.

nicolas-raoul avatar Feb 23 '22 00:02 nicolas-raoul

I have one suggestion in this improvement,

Instead of toggle at top, we can create a filters menu, which contains 3 filters, reset and apply button,

Three filters are as follow,

  1. One filter as @nicolas-raoul said
  2. Second filter named "blur", which removes blur images from the list
  3. Third filter named "suggestions", which displays only high quality images,

Is this nice idea ?

arinmodi avatar Feb 23 '22 05:02 arinmodi

@arinmodi Please create your proposal on Phabricator as detailed at https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md. Then, on your Phabricator proposal page, feel free to propose such extra features and ask for feedback about these extra features. Thanks!

nicolas-raoul avatar Feb 23 '22 05:02 nicolas-raoul

Okay @nicolas-raoul

arinmodi avatar Feb 23 '22 05:02 arinmodi

@nicolas-raoul This is the only project for GSoC 2022 so I can make a completely different project for GSoC?

Rishavgupta12345 avatar Feb 28 '22 15:02 Rishavgupta12345

Yes, this is the only Android Wikimedia project idea for GSoC'22 : GSoC'22 Project Ideas

Go through GSoC Students, it has all the information you need for a different project.

4D17Y4 avatar Feb 28 '22 19:02 4D17Y4

is this project got selected in GSoC 2022?

Rishavgupta12345 avatar Mar 08 '22 05:03 Rishavgupta12345

Hello there , I am interested in contributing in this issue as a GSOC contributor, can anyone suggest starting point ..??

Aadish01 avatar Mar 08 '22 12:03 Aadish01

@Aadish01 Follow this Doc : https://github.com/commons-app/commons-app-documentation/blob/master/android/Quick-start-guide-for-Developers.md and you good to go, Thanks

arinmodi avatar Mar 08 '22 13:03 arinmodi

Thank you for the help

Aadish01 avatar Mar 08 '22 13:03 Aadish01

is this project got selected in GSoC 2022?

@Rishavgupta12345, I think this project is selected but @nicolas-raoul, can you confirm please ? Thanks

arinmodi avatar Mar 08 '22 13:03 arinmodi

is this project got selected in GSoC 2022?

If you mean selected by us (the Commons Android app team) as the recommended task for this year's GSoC, then the answer is yes.

But if you mean accepted by Google, the answer is that we do not know yet, because accepted projects will be announced on May 20 following the timeline at https://developers.google.com/open-source/gsoc/timeline Two days ago Wikimedia got accepted as an organization: https://summerofcode.withgoogle.com/programs/2022/organizations/wikimedia-foundation Within the Wikimedia organization, our recommended task one of several available tasks: https://www.mediawiki.org/wiki/Google_Summer_of_Code/2022 We have had a GSoC slot every year for the last 5 years already, so I am hopeful that we will get a slot this year too.

Here is the most important document to follow: https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md

nicolas-raoul avatar Mar 09 '22 01:03 nicolas-raoul

I Screenshot (30) am facing a issue with this repo , I have cloned the repo and opened it . I loaded perfectly but gradle build is not working properly , I am attaching the screenshot of above . Please resolve it anyone .

Aadish01 avatar Mar 09 '22 15:03 Aadish01

I have tried to change gradle versions and even edited gradle-build file , but nothing good happend .

Aadish01 avatar Mar 09 '22 15:03 Aadish01