Profile Information
Name: Kanahia
Email: kaushalkanahia@gmail.com
Location: Patna, Bihar, India
Time zone: GMT+5:30 (Kolkata)
Education: Indian Institute of Technology, Patna (IIT-P) (Expected Graduation Year: 2026)
LinkedIn: kanahia-kaushal
GitHub: kanahia1
Other Communication modes: Discord, Zulip, Telegram
Typical Working hours: 9 am to 9 pm (IST) UTC+5:30
Synopsis
Wikimedia Commons is an Android app that enables users to upload and view pictures from their Android phone/tablet on the Commons server. Aim of this project is to improve upload queue management, and modernize the app.
Mentors - @Nicolas_Raoul @RitikaPahwa4444
Have you contacted the mentors already ?
Yes.
Deliverables and Implementation Strategy
- Implement new design for upload queue management
- Here is the proposed design https://github.com/commons-app/apps-android-commons/issues/5583#issuecomment-1977122906. I hope to make more changes as per the suggestions and feedback.
- For the proof of work with User Experience Design I have attached issue raised and pull requests created by me for UI Design.
- Implement Real Queue and Write Test Cases for newly Added Functionality
- Fix queued upload gets stuck and restarting the app does not make it start
- Prevent retries for genuinely failed uploads
- Fix the app erroneously showing successfully uploaded images as "Failed"
- Since app shows “Failed” due to cutting off internet a right time. This should be fixed by verifying the information of current uploads with server on network change and changing the UI as per the data received.
- Prevent Duplicates
- Nearby: Load pins as the user moves the screen, cache pins, remove "search this area" button
- Split Nearby into a fast query for coordinates + a details query for each pin.
- Feedback about a Wikidata item
- Write Documentation and Create Test Cases for all the functionality created.
Timeline
| Period | Task |
|---|---|
| May 4 to May 26 | Community bonding period |
| - Wikimedia Hackathon’24 (May 4 to May 8) | |
| - Introduce myself to mentors and other contributors (May 9 to May 26) | |
| - Feedback about a Wikidata item Issue #2425 | |
| - Split Nearby into a fast query for coordinates + a details query for each pin Issue #4560 | |
| - Nearby: Load pins as the user moves the screen, cache pins, remove "search this area" button | |
| - Write test cases for newly added functionality | |
| May 27 to June 12 | - Develop new UI for upload queue management in Figma |
| - Take feedback from others (Contributors + Mentors) regarding new UI | |
| - Implement new design | |
| - Write test cases for the newly implemented design | |
| - Fix failing test cases caused due to replacement | |
| June 13 to June 26 | - Implement real queue in which uploads should be performed one by one |
| June 27 to July 5 | - Fix queued upload getting stuck and restarting the app does not make it start Issue #5603 |
| July 5 to July 7 | - Prevent retries for genuinely failed uploads Issue #5284 |
| July 8 to July 12 | Mid-Term Evaluations |
| July 13 to July 17 | - Prevent retries for genuinely failed uploads Issue #5284 |
| July 18 to July 25 | - Prevent duplicates Issue #5608 |
| July 26 to August 3 | - Fix the app erroneously showing successfully uploaded images as "Failed" Issue #5280 |
| August 4 to August 15 | - Enqueue failed uploads, rather than uploading them simultaneously with the ongoing upload Issue #5283 |
| August 16 to August 28 | - Write documentation and update appropriate guides for implemented functionalities |
| - Complete any backlog | |
| August 26 to September 2 | - Mentors submit final GSoC contributor evaluations |
| September 3 | Initial results of Google Summer of Code 2024 announced |
Participation
- Communicate with the mentors through Github or Zulip and incorporate all the suggestions.
- I will be online on my working hours 9 am to 9 pm (GMT+5:30)
- Write blog on medium on completion of every task.
- I am also available to be contacted through my email.
About Me
I am Kanahia, a student of Mathematics and Computing at the Indian Institute of Technology, Patna (IIT Patna), I am a coding enthusiast. It has been 2 years since I started working with Android, I am comfortable with Firebase, Git, UI Development, Retrofit, and Canvas. I have also worked with NodeJS, Express, and MongoDB. I gained my experience by working with the Android team of my college that creates apps for Inter-IIT competitions and created apps for fests that take place in the college.
How did you hear about this program?
I got to know about this program from my seniors.
We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?
I am only applying for Google Summer of Code.
Past Experience
Research Intern, Sveučilište u Zagrebu:
- Developed Android App for visualization of Smart House in Augmented Reality.
- Created React Website to create, edit houses which can be later on visualized on the Android Device
Research Intern, CSE Department IITP:
- Mapped the heritage site of Nalanda University using LiDAR technology.
- Reconstructed Nalanda University in Virtual Reality using Unity.
- Developed an Android application aimed at aiding evacuation procedures during earthquakes.
My Personal Projects:
Boolian: The main idea of this app is help users to learn NFTs with the help of Images, Articles, and Videos. The course in the app is created to help users learn perfectly. The project is different as there are few resources to learn NFTs. In this project, I created custom UI components that are not available in Android itself. In this project I used Firebase Auth, Firebase and I created the UI for this app.
Med.io: The app specializes in utilizing a decentralized database to enhance transparency in the healthcare sector using cryptographic measures. Primary focus areas include ensuring interoperability, maintaining a decentralized secure database, implementing cryptographic measures, providing hassle-free service, and incorporating AI/ML models to enhance user feasibility.
More information is available here.
Achievements
- Led the team of finalists at Smart India Hackathon’23
- Got selected for a research project funded by Department of Science and Technology, Government of India
- Showcased research projects at India Mobile Congress, at Pragati Maidan, Delhi
- Secured a rank in the Top 1% of all students who appeared for the JEE ADVANCED exam.
Volunteer Experience
- Sub-Coordinator, NJack:
- Took sessions of 200+ students regarding Git and Android Development.
- Organised Codepeak - It is month-long program that helps students understand the paradigm of Open-Source contribution.
- Sub-Coordinator, E-Cell:
- Helped in organizing the Hult Prize OnCampus program on the campus.
- Organised fun events for the members of the E-Cell.
Relevant Skills
- Experience in Android development with Kotlin, Java
- Proficiency in using SQL and Room Database
- Git and GitHub
- Testing in Android: Instrumented as well as local tests
- Understanding of Retrofit, Jetpack Compose
- Experience with Wikimedia APIs and SPARKQL
Previous Contributions to Commons
I have been contributing to the Commons Android app since October 2023. You can find all my pull requests here.
Total: 19
Merged: 18
Open: 1
Pull Requests
| S. No. | PR No. | Description | Status |
|---|---|---|---|
| 1. | #5475 | Replace Mapbox with OSMDroid (Explore Activity) | Merged |
| 2. | #5403 | Replaced Mapbox with osmdroid (Nearby activity) | Merged |
| 3. | #5443 | Replaced mapbox to osmdroid (Upload Activity) | Merged |
| 4. | #5645 | Added functionality to export location of nearby missing pictures to GPX file and KML file | Merged |
| 5. | #5415 | Added voice input for caption and description | Merged |
| 6. | #5658 | Fixes Nearby export: Pins not all around me | Merged |
| 7. | #5652 | Changed Created by in Neaby export | Merged |
| 8. | #5654 | Improved UX for Nearby Export | Merged |
| 9. | #5356 | Fixed Grey empty screen at Upload wizard | Merged |
| 10. | #5670 | Fixes App crashes on clicking Save (EditActivity) | Merged |
| 11. | #5464 | Fixes on Edit button, there is + sign overlayed over letter E | Merged |
| 12. | #5450 | Fixes #5439 by capitalizing first letter of voice input | Merged |
| 13. | #5481 | Fixed javadoc issue | Merged |
| 14. | #5635 | Fixed reproducible crash when marking last pictures as "not for upload" | Merged |
| 15. | #5555 | Removed MAPBOX Access token | Merged |
| 16. | #5631 | Removed MapBox related imports | Merged |
| 17. | #5553 | Made Nearby show all pins that could be presented on the screen, rather than a circle | Merged |
| 18. | #5616 | Fixed Blue square appears at end of description of image uploaded | Merged |
| 19. | #5575 | Fixed Clicking on edit photo shows default rotation | Opened |
New Issues Raised
| S. No. | Issue No. | Issue Description | Status |
|---|---|---|---|
| 1. | #5458 | Replace Mapbox with OSMDroid in Explore Activity | Completed |
| 2. | #5457 | App crashes on pressing the "My Location" icon in the upload wizard | Completed |
| 3. | #5566 | Remove the Mapbox-related imports in Java/Kotlin/Gradle | Completed |
| 4. | #5611 | Remove Mapbox from CREDITS | Completed |
| 5. | #5625 | Change snackbar's error message in the User Page | Completed |
| 6. | #5457 | [Bug]: Attempt to read from null error in Explore -> Map fragment | Completed |
| 7. | #5531 | Circular Progress bar keeps on moving even though nomination for deletion is successful | Opened |
| 8. | #5502 | Clicking on edit photo shows default rotation (Upload Activity) | Opened |
Availability
Are you eligible for Google Summer of Code?
Yes.
Do you have any other plans during the period of GSoC?
No, I do not have any other plans during the contribution period.
How many hours per week can you dedicate to this?
Since I will be having summer break till 20 July I will be available for at least 40 hours a week through online platforms and am ready to extend whenever needed. I would be working full-time for GSoC.
Have you been accepted to GSoC before?
No. I am applying in GSoC for the first time.
After GSoC
I would like to keep contributing to Wikimedia after GSoC and will be available to resolve issues and manage pull requests. Even if I am not selected this year, I would like to help this project by resolving issues, suggesting new ideas, and participating in discussions. I usually help people with code. I would like to keep contributing to the Wikimedia organization and do whatever I can to help.

