Profile Information
Name : Ishan
IRC nickname on Freenode : tsiruot
Email : ishansaini243@gmail.com
GitHub : https://github.com/Ishan-Saini
Medium : https://medium.com/@Tsiruot
Location : India
Timezone : IST (UTC + 5:30)
Typical working hours : 4 PM to 12 AM (UTC + 5:30)
Synopsis
Wikimedia projects are the core of the Wikimedia movement. They aim at helping millions of people around the world gather information and share knowledge with others. Some of these projects include Wikipedia, Wikibooks, Wiktionary, Wikiquote, Wikiversity, Wikinews etc.
Prior to 2016, all of the above mentioned project portals were generated via the scripts on Meta-Wiki but in 2016, Wikimedia Discovery Portal Team modernized the Wikipedia portal after performing several A/B tests. The code was shifted to a git repository.
This face-lift intended to :
- Decrease bounce rate on the Wikipedia.org portal page
- Increase amount of searches and click-throughs on the search results
- Increase click-through to the top 10 language wikis
- Enhance and promote discovery of languages that are not in the top 10
- Increase click-through to sister (other) Wikimedia projects
However, at that time, the foundation couldn't provide a similar face-lift to the sister portals (Wikibooks, Wiktionary, Wikiquotes etc.) which are still generated using the scripts on Meta-Wiki.
The aim of this GSOC project is to modernize the sister portals which will allow them to enjoy the aforementioned benefits currently enjoyed by Wikipedia. This will also ensure a common design and logic for all the project portals.
Mentor : Jan Drewniak ( @Jdrewniak )
Have you contacted your mentor already? Yes
Improvements
- The project will mainly focus on converting sister portal pages into HTML templates so that they can be generated through a single build process provided by Gulp.
- The whole idea is to provide a face-lift similar to Wikipedia portal. This will be achieved by reusing and improving as much existing handlebars templates as possible.
- Given below is a comparison between the two situations, before and after improvements.
1. SEARCH BOX
- Improved dimensions for input area
- Better language selector
- Search button with better colour background and dimensions.
2. SEARCH RESULTS
- Addition of thumbnail
- Better dimensions
3. LANGUAGE LIST
- Nicely ordered, avoiding congestion
- Addition of language list dropdown
4. FOOTER
- Addition of slogan (a small descriptive text) below a wiki name
- A footer sidebar
5. MOBILE VIEW
Basic folder structure & Data flow diagram
A folder named common in the src directory will be used to store the resources shared by all the portals.
NOTE : This is only a tentative representation and may change after deliberation with the mentor.
Portals to be updated
I’ve divided portals into two groups based on the similarity of the design to the Wikipedia portal and the amount of work required to update them. Group B portals require more efforts than Group A portals and thus, will be updated in later stages.
Timeline
1. Community Bonding Period
- Get familiar with the community and the mentor.
- Solve bugs/tasks on the workboard.
- Discuss the directory structure and implementation of the project with the mentor.
- Read relevant documentations and dive deeper into the codebase.
2. June 7, 2021 - June 13, 2021
- Make changes in the directory structure according to the discussions and above mentioned diagram.
- Get all the required image assets from Wikimedia commons and create SVGs (if required) with the help of the mentor.
- Make the required changes in Gulp build step code in order to accommodate the changes in directory structure.
3. June 14, 2021 - June 20, 2021
- Generalise the header-logo template and controller file (one portal from Group A will be used to observe and test all the changes)
- Improve the search experience by generalising the search template and wm-typeahead script.
4. June 21, 2021 - June 27, 2021
- Go through all the Javascript files responsible for page features and discuss with the mentor for any potential changes.
- Make the required changes in footer and site-license templates.
- Add an SVG for Wikipedia logo to be used in other-projects list and add Wikipedia to the same.
- By now, one of the portals from group A would have been updated.
5. June 28, 2021 - July 4, 2021
- Continue working on two more portals from group A.
6. July 5, 2021 - July 11, 2021
- By now, 3 portals from group A would have been updated.
- Buffer period, complete any left out work.
7. July 12, 2021 - July 18, 2021
- July 12, 2021 - July 16, 2021 (Phase 1 Evaluation)
- Start working on the fourth portal from group A.
8. July 19, 2021 - July 25, 2021
- Complete the work of all the portals from group A.
- Discuss implementation and other details about group B portals with the mentor.
9. July 26, 2021 - August 8, 2021
- Complete the work for group B portals.
- Make final changes in gulp code like removing fetch-meta task etc.
- Look for some deprecated packages and replace them.
10. August 9, 2021 - August 15, 2021
- Buffer period, complete any left out work.
- Continue working on improving the code quality.
- Update the documentation and data-flow diagram in the docs folder.
11. August 16, 2021 - August 23, 2021
- Code Submission and Final evaluation
Participation
- Gerrit will be used for all the changes in source code.
- Phabricator will be used to manage subtasks and bugs.
- Will be available on IRC and Zulip for communication in working hours.
- Will be available on Email outside working hours.
- Will write weekly progress reports on my Medium page starting from community bonding period.
About me
- Currently pursuing B.Tech in Computer Science Engineering. I am a second year undergraduate at Jaypee Institute of Information Technology, Noida.
- I am also a core team member at JIIT Open Source Developers Circle (JODC), the open-source society at my college where we organise events, meetups and hacknights promoting the open source culture.
- I have always been fascinated by technology. I love working on collaborative projects which create an impact on people's lives and that is one of the reasons why I am inclined towards the open source world. I have used Wikipedia and other Wikimedia projects as a primary source of information for my own projects and assignments. Thus, contributing to this project will provide me with the perfect platform to give back to the community and be a part of the Wikimedia movement.
- I learnt about Google Summer of Code on Quora( a platform to ask questions and connect with people ) which I follow regularly.
- I might have a special summer semester ( still not sure about it ) in my college during the duration of this program. Things are quite uncertain in this pandemic therefore, If there will be any changes in my college schedule, the mentor will be informed about it. Besides that, I won't be having any other commitment during the summer.
Past experience
- I have a sound knowledge of HTML, CSS, Javascript and C++. I have also worked with technologies like Node.js, Express, Svelte, ReactJS and databases like MongoDB and MySQL.
- I am one of the four developers who created the JODC's (the open-source society at my college) website from scratch using Svelte.
- Github - https://github.com/JIITODC/website
- Website - https://jiitodc.netlify.app/
- Created a game 'Freeman' during an event (CodeJam) held in my college for which my team got the second prize among 10 teams.
- Github - https://github.com/Ishan-Saini/Freeman
- Website - https://ishan-saini.github.io/Freeman/
- Contributed in Wikimedia's project portals. I've listed out my patches below :
No. | Task | Patch(es) | Status |
1 | Portals default root language code html lang=mul seems insufficient | 671118 | Merged |
2 | Refactor Gulpfile.js tasks into separate files | 672210, 673772, 674580, 675646 | In progress |
3 | Search box doesn't show suggestions on focus (wikipedia.org) | 676014 | For review |
MICROTASKS | |||
1 | Remove unnecessary Javascript polyfills from portals repo | 672037 | Merged |
2 | Remove IE<9 CSS hacks from portals CSS | 672011 | Merged |
3 | Add a pre-commit hook to run npm run test | 673768 | Merged |
4 | Update/Fix npm dependencies for wikimedia/portals.git (Replaced gulp-cssnano package) | 676549 | Merged |
Any other info
- This is my first time applying for GSOC. I am also not applying for any other project/organisation this year.
- I am completely fine working with a mentor who is several time zones away.
- Link to the proposal on Google Docs - GSoC 2021 Proposal
References
https://www.mediawiki.org/wiki/Wikipedia.org_Portal_Project
https://meta.wikimedia.org/wiki/Our_projects