Page MenuHomePhabricator

Improve the functionality of VideoCutTool (Google summer of code 2023)
Closed, DeclinedPublic

Description

Profile Information

Name : Nour Ziad Almulhem
Time zone : Eastern European Standard Time (GMT+02:00)
Email : nour.almulhem01@eng-st.cu.edu.eg
Github : Github
Slack username : Nour Ziad Almulhem
Linkedin : Linkedin
Resume : here
Location: Egypt
Working hours : 3:00 pm to 9:00 pm GMT+02:00

Abstract

VideoCutTool is a widely used tool to edit videos on Wikimedia Commons. Instead of manually downloading the video and using external software applications to edit and re-upload, VideoCutTool allows for simple editing and re-uploading back to Commons.
This project aims to enhance the tool and to add new features that facilitate uploading and editing videos, also write unit tests. The proposed contributions can be grouped into:
• Fixing the edited video back to commons.
• Improve the user experience of the tool.
• Write unit test using Jest + React testing library and integrating it with jenkins-bot/CI.
• Support to persist the edited video after the tab refresh.
• Avoid bitrate drop (quality degrading) while editing videos
(Additional Task) Updating Documentation to match the new version
(Additional Task) voice controlling
(Additional Task) write text to illustrate some frames
(Additional Task) backlog
(Additional Task after internship) after submitting my final phase I can be working on enhancing existed features and add new feature of writing comment on the video which are shown to the editor only
Mentors: Vasanth Gopa (@Gopavasanth) , Sohom Datta (@Soda)
I already have contacted my mentors

Timeline

Community Bonding Period :
I can work on Ideas on editing the UI of the tool and have a Figma work space of the new features or windows added to the project

May 29 to June 4:

  • Linting the project and correct some warnings and errors (Minor Task)
  • Fix Responsivity of the website (Minor Task)

Side note: I am going to have my final exams at college in weeks 1,2,3 that’s why I picked simple tasks for them. (~ 8-10 hours/week).
but I am willing to put in more effort (nearly 30-35 hours per week) if needed in any given week.

June 5 to June 11:

  • Fix bugs in previewing the video to have a new window with the new video to preview the work (Minor Task)

June 12 to June 18:

  • Write unit tests and document finished components (Minor Task)

June 21 to June 30:

  • Fix alerts on Dark mode (Minor Task)
  • Figure out if there is a problem in encoding the video and how it affects the quality then try to fix it (Major Task)
  • evaluation

July 1 to July 14:

  • Add new feature of voice controlling over the video not just muting or enabling the voice (Major Task)
  • Concatenating with backend

July 15 to July 19:

  • Write unit tests and document finished features (Minor Task)

July 21 to July 27:

  • Work on enhancing user experience and make some edits on the UI try to plugin MUI if it is possible (Minor Task)

July 30 to August 6:

  • Support to persist the edited video after the tab refresh. (Minor Task)
  • evaluation

August 7 to August 13:

  • Ability to write some text on specific frames of the video (Major Task)

August 14 to August 25:

  • Have a backlog for each video edited to enable user to go back to any version of the video and enables user to edit video unlimited times having the old version exist (Major Task)

August 25 to August 31:

  • Fix bugs, refactoring on code, make unit tests of finished component and finally Document new features added (Minor Task)

September 1 to September 5:
Mentors submit final student evaluations

September 6:
Final results of Google Summer of Code 2023 announced

Deliverables:

  • Create UI Template of new windows added
  • Fix Responsivity of the website
  • Fix bugs in previewing the video to have a new window with the new video to preview the work
  • Fix alerts on Dark mode
  • Avoid bitrate drop Problem
  • (optional) As a react developer we can enhance the user experience with some minor changes using MUI (Material UI) if it is an optional but it is not necessary at all and we can still improve user experience

Phase I evaluation

  • New feature of voice controlling over the video not just muting or enabling the voice
  • Support to persist the edited video after the tab refresh
  • Unit test and Document any new added features

Phase II evaluation

  • New feature enable user to write text on specific frames of the video
  • New feature backlog of videos of the user

Final Phase Evaluation

Participation

  • As demonstrated in the timeline below I am going to have my final exams at college in the first three weeks so I will do my best contributing 1-2 hours a day but I am willing to put in more effort if needed in any following given week as I don’t like having an unfinished story.
  • I will be online on IRC in my working hours ( 3:00 pm to 9:00 pm GTM +02:00) to collaborate with the mentors.
  • I will be available to be contacted when needed in the non-working hours, via Zulip and email or any attached platform as mentioned in personal information

About Me

I am a third year computer engineering student at faculty of engineering Cairo university. I have 2 years of experience in building web applications with more focus on front-end development and using React library, my most recent web project was nonlegit, a full UI/UX clone of the Reddit platform.
I have also a previous experience with backend development in many languages like: Java, PHP and NodeJs as mentioned in my resume attached above.

How did you hear about this program?

Our college managed a day to introduce their students to google summer of code and show us the steps and past contribution by our older Schoolmate

Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?

As mentioned above except of the first three weeks I am not going to have any other work during the program and I am fully available to put all my efforts in

What does making this project happen mean to you?

what makes my interested about this project is that how it facilitate the process of editing video and the how easy to use it is to have capability to be used by any users, I wanted to have this chance contributing with you in google summer of code so I can start my first open-source contribution experience which will affect my skills greatly

Past Experience

I will be happy to mention some of the projects I worked on it is also mentioned in my resume but I will be happy to demonstrate some of my achievements on the projects right here:

NonLegit [ React | Redux | Mui | Axios ] Dec 2022
Cloning the famous Redit platform with almost all user features
Achievements:

  • User profile including user actions on their posts and comments, managing their information
  • Top communitites page
  • Moderation (Spam – Edited - Unmoderated) pages

source code

GO ON [ Java | Html | Css | JavaScript | MongoDb ] Jun 2022
A search engine project with multithreaded crawler and indexer which have two themes (dark/light) and provided with voice searching
Achievements:

  • Implementing the crawler
  • User interface part of the website with two themes

source code

Banking System [ ReactJs | BootStrap | Firebase | Axios ] Sept 2022
A small interactive and user-friendly webpage where you can do transfer money of your banking account to another one, the site also shows transfers you previously did
Achievements:

  • Designing and implementing the interface and a small database to manage data

source code

Paris 2024 [ Html | Css | JavaScript | MySql | PHP ] Jan 2022
A website that provides needed functions to control the Olympic games held in Paris, It supports 4 different types of users and helps controlling games, calculating points and booking tickets
Achievements:

  • Controlling user authentication part and users sign into the system
  • Sponsors and audience data and actions

source code

Any Other Info

On this period, I was having my midterms in college so I couldn’t have the chance to contribute, I did communicate with mentors and they were welcoming doing some micro tasks even after the deadline so I am going to do my best edit this task and attach my contribution as soon as possible.

Event Timeline

September 6:
Final results of Google Summer of Code 2017 announced

hey @Nour_Ziad_Mulhem ,you might wanna change this to 2023 :)

September 6:
Final results of Google Summer of Code 2017 announced

hey @Nour_Ziad_Mulhem ,you might wanna change this to 2023 :)

oh my bad, I forgot to edit that line Thank You @Reputation22 :)

Hi! GSoC application deadline has passed. If you have submitted this proposal on the GSoC program website and would like your proposal to be considered for review, please move it from the "Proposals in Progress" to the "Proposals Submitted" column by clicking and dragging it on the workboard:
https://phabricator.wikimedia.org/project/view/6344/. TY!

@Nour_Ziad_Mulhem We are sorry to say that we could not allocate a slot for you this time. Please do not consider the rejection to be an assessment of your proposal. We received over 100 quality applications, and we could only accept 9 applicants. We were not able to give all applicants a slot that would have deserved one, and these were some very tough decisions to make. Please know that you are still a valued member of our community and we by no means want to exclude you. Many applicants who we did not accept in previous rounds have become Wikimedia maintainers, contractors and even GSoC students and mentors this year!

Your ideas and contributions to our projects are still welcome! As a next step, you could consider finishing up any pending pull requests or inform us that someone has to take them over. Here is the recommended place for you to get started as a newcomer: https://www.mediawiki.org/wiki/New_Developers.

If you would still be eligible for GSoC next year, we look forward to your participation!