Page MenuHomePhabricator

[Proposal] Improve InlineComments extension
Closed, DeclinedPublic

Description

Profile Information

*Name* : Nikhil Sikarwar
*Time zone* : UTC +5:30
Email : nikhil.singh826707@gmail.com
*IRC nick* : nikhil
*Github* : https://github.com/nikhil31082005
*Location* : India
*Working hours* : 1:00 pm to 9:00 pm UTC +5:30

Synopsis

The InlineComments extension for MediaWiki seeks to undergo significant enhancements, aligning its functionality with advanced features commonly found in leading content management systems such as Google Docs and Confluence. These improvements will primarily focus on introducing user mentions, refining sidebar creation to be more adaptable across different skins, and ensuring the accurate representation of user names and posting timestamps.

Benefits to Wikimedia Projects:

Facilitated Collaboration: The integration of user mentions will enable users to efficiently involve specific individuals in discussions, thereby fostering collaboration and facilitating targeted feedback exchange.

Improved User Experience: By enhancing sidebar creation to be more skin-neutral and ensuring the accurate display of posting details, the overall user experience within MediaWiki will be significantly enhanced. This improvement will make it simpler for users to engage with content and discussions seamlessly.

Increased Participation: Through the implementation of advanced features in the InlineComments extension, the project aims to inspire greater user participation in discussions and contributions to Wikimedia projects. This initiative is expected to enrich content and cultivate a more vibrant and engaged community of contributors.
*Possible Mentor(s)*:

@Yaron_Koren
@Bawolff

Timeline

PeriodTask
May 4 to May 29*Community Bonding Period*
May 1 - May 26Community bonding period. Engaging with Wikimedia Commons community, studying existing media uploading tools, exploring Commons metadata fields, planning frontend/backend design of the tool, compiling list of GLAMs, structuring tasks in Phabricator, and requesting access to Tool Labs.
May 27 - May 29Official start of coding.
May 30 - June 5Designing basic UI templates for FLASK app, studying GLAM APIs for metadata extraction, and developing generic file title generator module.
June 6 - June 18Designing core elements of FLASK app, implementing license checking, metadata mapping, and batch upload modules, and integrating OAuth authentication with Wikimedia Commons login.
June 19 - June 21Contacting GLAMs regarding feasibility of "Upload to Wikimedia Commons" button, and designing action plan based on feedback.
June 22 - June 26Testing Round 1: Sanity, exploratory, and automation testing.
June 26 - June 30Phase I evaluation.
June 30 - July 5Adding flexibility for choosing desired files and quick upload to Commons.
July 6 - July 10Designing metadata mappings template and implementing easy update/edit functionality.
July 11 - July 16Gathering stakeholder feedback on UI, and extensively working on UI part.
July 16 - July 20Receiving feedback and making necessary changes.
July 21 - July 27Testing Round 2: Exploratory testing, automated tests, bug fixes, and documentation.
July 28Phase II evaluation.
July 29 - August 7Implementing search for images based on search string across selected GLAMs and uploading desired ones.
August 8 - August 16Writing metadata mapping for multiple GLAMs.
August 17 - August 21Testing Round 3: Testing app robustness with new metadata mappings and bug fixes.
August 22 - August 28Freezing the code, creating Wikimedia Commons page for the tool, and announcing the tool to Wikimedia community.
August 29 - September 5Mentors submitting final evaluations.
September 6Final results of Google Summer of Code 2024 announced.
September 6 - November 4GSoC contributors with extended timelines continue coding.
November 4 - November 11Final date for all GSoC contributors to submit their final work product and final evaluation, and for mentors to submit evaluations for GSoC contributor projects with extended deadlines.

Deliverables

Phase I: Onboarding and Initial Feedback Setup

1. Design and Implement Feedback Buttons: Create user-friendly feedback buttons to be integrated within articles, editors, and activity sections, facilitating easy feedback submission.

2. Develop Feedback Collection System: Build a robust system for collecting and storing feedback responses from users, ensuring efficient data management.

3. Utilize ORES for Feedback Enhancement: Integrate ORES features to enhance the quality of feedback messages provided to users, leveraging its predictive capabilities.

4. Submit ORES Feature Requests: Identify potential areas for improving ORES functionality and submit feature requests to the community for consideration and implementation.

Phase I Evaluation

1. Evaluate Onboarding UX: Assess the user experience of the onboarding process for the automatic feedback feature, refining it based on feedback received.

2. Implement Article Grade-Based Feedback: Develop feedback mechanisms based on article grades predicted by ORES, ensuring targeted and relevant feedback provision.

3. Analyze Feedback Data: Analyze feedback data from previous versions and subsequent edits to identify target users, articles, and areas for improvement.

Phase II: Feedback Enhancement and Documentation

1. Refine Feedback Mechanisms: Improve feedback mechanisms based on insights gathered from previous feedback messages and user responses, ensuring effectiveness and relevance.

2. Document ORES Enhancements: Document useful features to be incorporated into ORES for enhancing its functionality, providing valuable insights to developers and users.

3. Design User Interface for Feedback Rating: Optionally, design a user interface for thumbs up/down buttons to enable users to mark feedback as helpful, enhancing user engagement and interaction.

4. Write Comprehensive Documentation: Create comprehensive documentation and update guides to assist users in understanding and utilizing the feedback system effectively, promoting user adoption and satisfaction.

Final Evaluation

1. Conduct Final Evaluation: Evaluate the overall effectiveness of the feedback system and its impact on user engagement and article quality, ensuring alignment with project objectives.

2. Summarize Findings and Recommendations: Summarize findings and provide recommendations for future improvements, highlighting key insights and areas for further enhancement.

3. Submit Final Documentation: Submit final documentation and guides for reference by users and developers, ensuring accessibility and clarity of information.

Participation

I plan to establish a new repository on Git and maintain two distinct branches: a development branch and a master branch. Periodically, I will upload code to the development branch, ensuring continuous progress. Before merging with the master branch, all code will undergo thorough review and testing to guarantee stability and quality.

During my active working hours, which are from 1:00 pm to 9:00 pm UTC +5:30, I will be available on IRC to collaborate effectively with my mentors. This real-time communication platform will facilitate seamless discussions and prompt resolution of any queries or concerns that may arise during the development process.

For bug tracking and managing subtasks, I intend to utilize Phabricator, a comprehensive project management tool. By leveraging its features, I can efficiently organize tasks, monitor progress, and address any issues that emerge, ensuring smooth project execution.

Additionally, outside of my designated working hours, I will remain accessible via Gmail. This ensures that I can be contacted promptly if any urgent matters arise or if further communication is required outside of our scheduled IRC sessions.

This approach will enable effective collaboration, efficient project management, and timely resolution of any issues or challenges encountered throughout the development lifecycle.

About Me

Education: Pursuing a Bachelor of Technology (B.Tech) in Computer Science and Engineering (CSE) at GLA University, Mathura, has equipped me with a robust understanding of computer science principles and practical skills essential for software development.

Program Discovery: My discovery of this program stems from thorough research and exploration within the software development community. As a dedicated student committed to personal and professional growth, I actively seek out opportunities that resonate with my interests and career aspirations.

Time Commitments: During the program, my primary focus will be on contributing effectively to the project and achieving its objectives. While I am fully committed to investing significant time and effort into this endeavor, I do not foresee any conflicting time commitments such as academic workload, employment obligations, or scheduled vacations that would hinder my participation.

Applying to Multiple Programs: I acknowledge the value in applying to multiple programs and am considering submitting applications to both Google Summer of Code and Outreachy. In making this decision, I will carefully evaluate the opportunities presented by each program and choose the one that aligns best with my goals and interests. Additionally, I will prioritize effective time management to ensure that I can dedicate myself fully to the selected program and deliver impactful contributions.

Project Significance: The realization of this project holds profound significance for me, both personally and professionally. It offers an invaluable opportunity to apply my skills in a real-world context, contribute to innovative solutions, and make a tangible difference within the software development community. Successfully completing this project would not only enhance my technical proficiency but also mark a significant milestone in my journey towards becoming a proficient software engineer, poised to tackle complex challenges and drive positive change in the field.

Past Experience

*1-Project Description*: The Netflix Clone project faithfully replicates the renowned streaming service's interface using HTML and CSS. Featuring responsive design, dynamic content sections, and an intuitive navigation bar, users can seamlessly browse through trending movies and popular TV shows. Interactive carousels enhance the visual appeal, while a comprehensive footer section provides additional links and information. This project showcases the power of HTML and CSS in recreating complex user interfaces with precision and finesse, offering an immersive web experience reminiscent of the original Netflix platform.

*Repository Link:* https://github.com/nikhil31082005/Netflix-Clone
*Link:* https://nikhil31082005.github.io/Netflix-Clone/
*2-Relevant Projects and Knowledge Gained*: While I have not yet contributed to open-source projects or Wikimedia projects, my experience developing "The Simon Game" has provided me with valuable insights into front-end web development techniques and best practices. Through this project, I honed my skills in HTML, CSS, and jQuery, gaining a deeper understanding of JavaScript frameworks and their applications in creating dynamic and interactive web applications. Additionally, I gained experience in project planning, implementation, and testing, further enhancing my proficiency as a developer.

*3-Open Source Contributions*: Although I have not yet contributed to open-source projects as a user or contributor, I am eager to explore opportunities to collaborate with the open-source community in the future. My experience with "The Simon Game" has fueled my passion for software development, and I am keen to leverage my skills and knowledge to contribute meaningfully to open-source projects and initiatives, fostering collaboration and innovation within the community.

Any Other Info

*linkden*: https://www.linkedin.com/in/nikhil3108/

Event Timeline

Hi @NIKH8285 and thanks! https://www.mediawiki.org/wiki/Google_Summer_of_Code/Participants bullet point 9 says "Fix small bugs" and the Phabricator template linked under bullet point 11 lists under "Past Experience" the item "Please add links to any feature or bug fix you have written for a Wikimedia project during the application phase." This seems to be missing in the application text above.

Maryann-Onyinye renamed this task from Improve InlineComments extension to [Proposal] Improve InlineComments extension.Apr 2 2024, 10:26 AM

This proposal was not chosen - sorry.