Voting/Polls in Jitsi Meet

meet

#1

Hello,
I am a student at Free University of Bozen-Bolzano in Italy. I am taking a course about software maintenance and I should be working with existing software projects in the same sense of GSoC but replace grades for money :wink:
Now, I am interested in Jitsi project, and I think this can be good chance to also prepare for GSoC next year so my question is about:

  1. Are the previous GSoC ideas are still valid?
  2. Specially, “Integrate Dropbox in Jitsi Meet” can I work to implement this feature in the next 2-3 months?
  3. What are the required skills, or tasks I should do before working on the project? or this only for GSoC?

Thanks in Advance!
Mohamed


#2

Just an update. I have been trying Jitsi now on my local machine and found out that the Dropbox integration have been already implemented.
So, I am moving to the other idea of implementing Voting/Polls.

Sorry for not fully doing my homework before I wrote the first post!
Mohamed.


#3

Yes. You can just check which were already finished: https://jitsi.org/news/gsoc-2018-results/

Well, depends on your time which you can spent on this. Most of the tasks were considered full-time jobs for students for 3 months, as this is one of the gsoc requirements.

For this particular task its mostly working in jitsi-meet UI part, so it is javascript/react/redux work.

The goal of the project is first to implement a generic way in the jitsi-meet to embed any kind of service like this, dropbox … We already have youtube and etherpad integration, but a generic frame for those should be implemented in react, as the current services are still not moved to the react code.
Then the second part is implementing the Dropbox file sharing in that already established api in the react code.

If you want to start with that here are a few beginner steps:

  • clone jitsi-meet
  • build it successfully
  • run webpack-dev-server
  • look at the code, find a place to make a modification, check that you see that modification
  • now its time to understand the code, how the react part works (everything under react folder)

#4

Thanks for the detailed explanation.
I have already did the steps you suggested this afternoon and I saw that Dropbox is somehow integrated such that it works when the meeting is recorded and I thought the project was already implemented. But according to your input, there is still the file sharing and before that some infrastructure must be done.

I would appreciate if you give me more information about the “Voting/Polls” project.
Regards.


#5

The idea of the project is that any of the participants can create a poll with some questions and the others get notified for it and can start voting.

This is again mostly UI work, so same requirements as above.

In this project there is on complication the communication between the clients and the fact that this communication need to be kept during the time of the conference, if any new participant comes or anybody reloads they should gather the same data and have the same state of the poll as the others. This last thing may need some coding in java (jicofo) or lua(prosody) depends on the approach chosen.


#6

The infrastructure is for recordings, it has nothing to do with file-sharing as described for the gsoc project.


#7

Got it. I have been investigating the code base to add simple component for starting the vote/Poll and adding poll question. I just have some questions in mind about how the flow should work. Once I have implemented a basic flow I will share it accompanied with a proposal of what I am going to implement.

So, after a user creates a poll, and others receive a notification message about it where should the poll it self be? in the chat section, or from the “more action menu”? Also, does the Poll ends after a certain period of time? or can users create multiple Polls?

I just want to understand what is the end goal so that it can be divided into smaller milestones.

Thanks!


#8

The poll should be in the menu where speaker-stats and settings buttons are. No, the poll does not expire, but it can be added that the creator of the poll can close it.
About multiple polls, yeah I’m not sure about that. We were thinking that there can be multiple polls and they can appear as tabs in the polls dialog. But there can be another approach, where there can be only one active poll, and you can view the results of the others that were closed (again in tabs)…


#9

Okay, for now I have implemented basic poll view components to understand the project and the feature. Attached a screen shoot from how it may look like.

Going back to the discussion about the communication between clients. I think I should now start working on that to have the polls working first then I will come back to add more improvements to the current UI including keeping old votes results.

You have mentioned that this will require modifications in jicofo. Can you please elaborate more. My understanding is that there is a session object created in the backend -probably?- that keep information about the meeting. Is that where the need to update jicofo come from?

Thanks.