Skip to content

How to sync videos? #6

Description

@Semro

According to statistics, about 25% of users that uninstalled the extension have some problems with synchronization.

The current implementation of defining and syncing videos uses:

  • strict URL comparison of the syncing tab between users in the room. EDIT: fix: drop url strict comparison #47
  • path to the video through iframes and index in the array of videos in current iframe

This is complicated, but I remember why I did it like that.

  1. URL comparison and path to the video allow other users in the room to just open the URL from the popup and what video will play is selected automatically.
  2. If the user has other browser tabs/windows open, then an extension will only sync tab with URL, which shared to the room.

Problems of this implementation:

  1. If one of the users in the room will have a little bit different URL, for example, GET request then synchronization will not work.
  2. If users in the room have a different structure of elements on the page then the video will not synchronize. Other extensions can cause this problem (like AdBlock). So, if one user has AdBlock on and another user hasn't it will not work.
  3. The structure also can change if some additional elements on the page will load dynamically. But I have solved it with MutationObserver. It reassigns path to the video every time if something changed on the page.

Another way to implement video sync?

  • Sync current playing video.
    Each user in the room must choose what tab to sync, then start video which he wants to sync. It adds a lot of manual steps, but guarantee that video will be in sync.

Please give other ideas on how to sync video.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is neededquestionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions