Hello!, to whom it may concern.
Note: Before proceeding, I would like to clarify that I'm unsure whether creating this GitHub issue is the appropriate way to communicate my interest in applying to work on the Speaker Queue feature. Alternatively, I could send an email. Nevertheless, I've decided to provide the proposal here for review. I will also apply through the GSoC website.
Proposal for GSoC 2024: Jitsi Meet - Speaker Queue Feature
Abstract
The proposed project aims to implement a Speaker Queue feature for Jitsi Meet, enhancing the user experience by providing a structured way to manage speaking turns during meetings. Leveraging my expertise in frontend development with JavaScript and Vue, I will focus on developing the necessary user interface components and integrating them seamlessly with the existing Jitsi Meet system.
Overview
The Speaker Queue feature will allow participants to raise their hand when they wish to speak, organizing them into a queue based on the order of requests. Moderators will have the ability to manage the queue, ensuring smooth communication flow within meetings.
Objectives
- Develop robust user interface components using JavaScript and React to support the Speaker Queue feature.
- Integrate the frontend components with the existing Jitsi Meet system, ensuring seamless communication with backend services.
- Implement moderator controls for managing the speaker queue and participant requests.
- Ensure responsiveness and accessibility across different devices and screen sizes.
Deliverables
- User interface components for displaying the speaker queue and moderator controls.
- Integration of the frontend components with the existing Jitsi Meet system.
- Implementation of participant actions, such as raising a hand, and making them join the speaker queue (this will be transparent to the end-user).
- Comprehensive documentation for users and developers on how to use the speaker queue feature.
Timeline
Community Bonding Period: May 1 - May 30
- Familiarize with the Jitsi Meet codebase and development environment.
- Discuss project details with mentors and finalize implementation plan.
Phase 1: User Interface Development (June 1 - June 30)
- Develop user interface components for displaying the speaker queue and moderator controls.
- Ensure responsiveness and accessibility across different devices and screen sizes.
Phase 2: Integration with Jitsi Meet (July 1 - July 15)
- Integrate the frontend components with the Jitsi Meet system, ensuring seamless communication.
- Implement protocols for data exchange between frontend components and backend services.
Phase 3: Moderator Controls (July 16 - July 31)
- Implement moderator controls for managing the speaker queue and participant requests.
- Test the functionality and gather feedback for improvements.
Phase 4: Testing and Optimization (August 1 - August 15)
- Conduct thorough testing to identify and fix bugs or performance issues.
- Optimize the user interface components for scalability and performance.
Final Week (August 16 - August 23)
- Finalize any remaining tasks and address feedback.
- Prepare project presentation and demo for final evaluation.
Skills Required
- Proficiency in JavaScript and React for frontend development.
- Experience with web development and user interface design.
- Strong problem-solving and communication skills.
Mentorship
Mentors for this project will include experienced developers from the Jitsi Meet team, such as Saúl Ibarra Corretgé, Calin Chitu, and Hristo Terezov. Regular communication and feedback sessions will be scheduled if needed to ensure smooth progress throughout the project.
Conclusion
The implementation of the Speaker Queue feature will significantly enhance the functionality of Jitsi Meet, providing users with a structured way to manage speaking turns during meetings. Leveraging my expertise in frontend development, I am confident in delivering a high-quality feature that meets the needs of both users and moderators.