Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Real-time updates mode (e.g. like Google docs) #198

Open
keyserj opened this issue Aug 22, 2023 · 1 comment
Open

Real-time updates mode (e.g. like Google docs) #198

keyserj opened this issue Aug 22, 2023 · 1 comment
Labels
collaboration helps people work together enhancement New feature or request exciter Feature that some users might really really like needs ux design User experience should be solidified before implementing real-time interaction aids with interacting real-time, e.g. when presenting requested requested by a not-maintainer user

Comments

@keyserj
Copy link
Collaborator

keyserj commented Aug 22, 2023

Is your feature request related to a problem? Please describe.
Right now, if I'm working on a topic with other people, I have to present my screen, or they need to refresh their screen whenever I make a change to my topic and I need to refresh my screen whenever they score something.

It would be nice if we didn't have to refresh to see the changes that others are making.

Note: this issue is not suggesting that privileges should change to allow other users to edit topic data besides scores - just that changes within current privileges (scores for non-creators, scores + diagram parts for creators) should reflect real-time for other users viewing the topic (#303 and #11 are related to changing privileges).

Describe the solution you'd like

  • Maybe a button in the toolbar to enter "real-time mode" (because real-time doesn't seem necessary as a default)
  • If I'm the creator of a topic, I should be able to see when another user scores it, without refreshing the page. If I'm not the creator, I should be able to see when the creator makes a new node, without refreshing the page.

Describe alternatives you've considered

  • Frequent re-polling for data. The API requests would add up, and it'd be too much data transfer unless we track changes on the back end since time x. Seems not worth

Additional context

Technical ideas

  • CRDTs are probably the way, yjs seems like a solid implementation
  • Third party websocket infrastructure is probably the way to go, since we don't have our own server for nextjs; something like Pusher (vercel guide) or Ably (netlify guide)?
@keyserj keyserj added enhancement New feature or request needs ux design User experience should be solidified before implementing real-time interaction aids with interacting real-time, e.g. when presenting collaboration helps people work together labels Aug 22, 2023
@keyserj keyserj added this to the update #2 milestone Aug 22, 2023
@keyserj keyserj added exciter Feature that some users might really really like requested requested by a not-maintainer user labels Mar 23, 2024
@keyserj
Copy link
Collaborator Author

keyserj commented Sep 25, 2024

There's a lot of info that could be real-time. If it's a lot of work for making each piece real-time, potentially a shorter-term solution could be to just have a real-time notification bubble that shows that something has changed, and that you can refresh your page to get the updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
collaboration helps people work together enhancement New feature or request exciter Feature that some users might really really like needs ux design User experience should be solidified before implementing real-time interaction aids with interacting real-time, e.g. when presenting requested requested by a not-maintainer user
Projects
Status: No status
Development

No branches or pull requests

1 participant