commons-app / apps-android-commons

The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons
https://commons-app.github.io/
Apache License 2.0
1.02k stars 1.23k forks source link

GSoC 2023: Make upload more reliable #5129

Closed nicolas-raoul closed 1 year ago

nicolas-raoul commented 1 year ago

Students interested in GSoC 2023, welcome!

Please read the instructions to apply. Our GSoC 2023 task is to fix the 3 upload-related bugs below:

5196 Picture location is sometimes lost despite being present in EXIF.

5128 Upload often fails or gets stuck, especially when uploading 5 or more pictures over a slow Internet connection.

#5136 (if time allows) Retried uploads stuck in queued state

shankarpriyank commented 1 year ago

Hi @nicolas-raoul, the issues mentioned here are looking very interesting. One thing I guess we can agree on this that we cannot get EXIF location using ACTION_PICK_IMAGES. I would do some more research and come back on this. The upload issue will need quite some effort, I will reproduce it and try to find out why exactly is it happening.

nicolas-raoul commented 1 year ago

@shankarpriyank Thanks for your interest!

Keerthivardhan1 commented 1 year ago

Hi @nicolas-raoul, I am pursuing 2nd year computer science engineering . My skills are html , css , tailwind javascript , node js , java , python ,c I know java (programming , OOPs , DSA , ) , swing , javaFX and little bit of android development please let me know what are the all the topics that I should know to make contributions to this issue. Thank you

nicolas-raoul commented 1 year ago

@Keerthivardhan1 Thanks for your interest! Android and Java development skills are definitely a huge plus. This page has all of the information: https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md Good luck!

ayushanand308 commented 1 year ago

@nicolas-raoul I have experience in java but not android. Will it suffice or I have to learn it?

Keerthivardhan1 commented 1 year ago

thank you @nicolas-raoul

nicolas-raoul commented 1 year ago

@ayushanand308 If you are able to learn fast from documentation and from the existing code, it should be possible. 🙂

DhruvLamba commented 1 year ago

Hey @nicolas-raoul, I have worked with java ,kotlin and I will look into the issues and will give my best to resolve them.

nicolas-raoul commented 1 year ago

@DhruvLamba Thank you for your interest! Please follow https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md

Diptadip commented 1 year ago

Hey @nicolas-raoul , I have intermediate knowledge of Java and Kotlin. I have completed the Google Android basics course on Kotlin and have worked on few MVVM apps . I would like to work on the issues . Regards

nicolas-raoul commented 1 year ago

@Diptadip Thank you for your interest! Please follow https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md

sumit851 commented 1 year ago

hello @nicolas-raoul i am newbie to open source development. i have a basic knowledge on html,css,jquery,bootstrap,java and python(little bit). i am interested to contribute your projects . Can you guide me .

nicolas-raoul commented 1 year ago

@sumit851 Thank you for your interest! Please follow https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md

awanishyadav967 commented 1 year ago

Hi @nicolas-raoul I am Avanish Yadav ,I have little contribution on open-source , and I know java and have experience in android development ,along with this I also know HTML,CSS , JavaScript , react , JQuery , python ,Django. I am Interested in this project. I already go through the link you provided .Thank you.

Diptadip commented 1 year ago

Hey @nicolas-raoul , do you have any discussion forum for this project where I can ask my doubts or seek for help? If yes , please provide me with the link to join the forum. Thank you

nicolas-raoul commented 1 year ago

@Diptadip Most of our discussions actually happen here on GitHub :-)

Thank you for your interest!

swapnil312 commented 1 year ago

Hi @nicolas-raoul I am a first year student of Computer Science and Engineering. I have knowledge of java but have no idea about android development. Can you suggest the specific tech stack I need to know to contribute to this project and the resources to learn the same. I am highly passionate for open source contribution and want to experience it.

nicolas-raoul commented 1 year ago

@swapnil312 Thanks for your interest! Android and Java development skills are definitely a huge plus. If you are very skilled in Java, learning Android will probably not take too long, I recommend https://developer.android.com/codelabs/android-room-with-a-view and the other courses on that website. Good luck!

risavjhagithubrit commented 1 year ago

Hey @nicolas-raoul , I hope you are well, I have intermediate knowledge of java, but slightly less experience in Android. So, Please help me throughout this journey if I will face any stuck. Thanks ;-)

nicolas-raoul commented 1 year ago

@itsarraj @risavjhagithubrit Thank you for your interest! Please follow https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md

Note to anyone interested: Please do not feel obligated to comment here. Just following https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md is enough, you will hear from us whenever you send a pull request (and when you review a pull request and post your proposal). Thanks all!

Nandini99-git commented 1 year ago

Hey @nicolas-raoul , I am nandini and I want to contribute in this project for GSOC 2023. I am beginner to app development but I am fast learner, and if any new technology will be requied I will learn during contribution.

Keerthivardhan1 commented 1 year ago

Hey @Nandini99-git thanks for your interest. I would suggest you to explore the project , mainly GSOC issue and as you said you a beginner .try to understand the code not all at once but required part that you are dealing with. (Required part according to issues) And anyone interested are always welcome to contribute to this project. Goo through this https://github.com/commons-app/apps-android-commons/issues/5129#issuecomment-1463072641 Good luck.

nicolas-raoul commented 1 year ago

Hi all, I took the liberty to make the first issue a bit more general, since the particular case I had specified got solved today. So the issue is a bit different, but I believe the difficulty level is unchanged. If you agree, please modify your proposals to replace the issue number. Sorry for the last-minute change, and thank you for your understanding!

ArmanNavodia commented 1 year ago

@nicolas-raoul Could you please share the project's size? As it is necessary while submitting proposal on the GSoC website. Thank you

nicolas-raoul commented 1 year ago

@ArmanNavodia Is the "Project size" recommendation written at https://github.com/commons-app/commons-app-documentation/blob/master/android/Students.md not usable somehow? Thanks!

Thre4dripper commented 1 year ago

Hello @nicolas-raoul , As a full stack Android developer with over 6 years of experience, I'm excited to discuss my proposal for GSOC. I'm confident in my abilities to complete the project and create a comprehensive guide for app developers. I am founder developer in BeaBrand Company (A Next Level Ecommerce Startup). I know industry practices and doing android since 2018. I have experience in android file system and camera module.

As a Smart India Hackathon Finalist ( The biggest International level Hackathon ) I know how to work in sprints, so you can rely on me.

I am interested to work on this project. Thanks

nicolas-raoul commented 1 year ago

We had a question about community bonding, below is my answer. You do not need to write about it in your proposals (in other words, no need to modify and re-upload anything based on this information).

During community bonding, the participants typically announce their project on the Commons wiki's village pump, communicate with users to better understand the issues, and often do some preliminary research.

For this GSoC, an additional task during community bonding would probably be to upload a few hundred pictures under various network conditions (I can provide the pictures and their caption/depictions/categories). Doing that will make the participant a full part of the community, understanding the upload unreliability issues that users sometimes encounter.

YashGodwal commented 1 year ago

Hey @nicolas-raoul , I am YASH GODWAL , I want to contribute in this project for GSOC 2023. I am Student pursuing B.TECH in CSE to app development but I am fast learner, and if any new technology come towards I will learn during contribution.

sivaraam commented 1 year ago

@YashGodwal Sorry to say but I believe the deadline to apply for GSoC has passed [ ref ]. You are welcome to apply next year 🙂

Also, you are more than welcome to contribute as a volunteer oitside of GSoC. You could find initial instructions here: https://github.com/commons-app/commons-app-documentation/blob/master/android/Volunteers-welcome!.md

RitikaPahwa4444 commented 1 year ago

Hello everyone!

I am Ritika Pahwa, a third-year undergraduate from India, and I have been accepted as a Google Summer of Code(GSoC) contributor at Wikimedia Foundation for this year. I'll be focusing on the upload reliability of the Commons app for the next few months and working on these three issues. I would like to share my first blog on Medium, where I have described the first two weeks of the community bonding period. Please feel free to share your valuable suggestions, especially regarding these three issues. Your feedback is greatly appreciated, and I look forward to hearing your thoughts. Hope you enjoy reading it! :)

mnalis commented 1 year ago

Are we using standard coding period (i.e. results on 5 Sep 2023), or extended coding period (i.e. 13 Nov 2023) ? (ref. timeline: https://developers.google.com/open-source/gsoc/timeline)

sivaraam commented 1 year ago

The coding period (at least right now) is the standard one @mnalis

nicolas-raoul commented 1 year ago

The Phabricator page has the detailed schedule: https://phabricator.wikimedia.org/T332126

nicolas-raoul commented 1 year ago

Thanks a lot Ritika for all of your hard work!

mnalis commented 1 year ago

So, if all GSoC 2023 changes are in, hopefully new release is just around the corner, right? :heart_eyes:

nicolas-raoul commented 1 year ago

@mnalis Yes pending implementation of issue #5279 🙂

RitikaPahwa4444 commented 1 year ago

Sharing the link to my blog series for anyone who might be interested in understanding these issues and their fixes in depth: https://medium.com/@RitikaPahwa4444/list/gsoc23-with-wikimedia-foundation-f4023ae44ee2

Here's the final report: https://medium.com/@RitikaPahwa4444/commons-android-app-make-upload-more-reliable-cb99ac2893ff

Please feel free to share your feedback and suggestions. Thank you, @nicolas-raoul and @sivaraam, for your constant support and guidance throughout this GSoC and @kartikaykaushik14 for reviewing my pull requests and sharing your insights :)

Looking forward to the release! 😃