question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Investigate simplifying collaboration session workflow

See original GitHub issue

There are two main pain points:

  1. Too much text.
  2. User having to manually start the sharing session.

@vjeux suggests that we should remove the start session button in favor of automatically starting it when user clicks on the menu 👥 button.

His proposal (as I understand it) would be as such:

  1. Click on the menu button starts the session, updates URL, and opens the dialog with the link to be shared with others.
  2. When you close the dialog, and later click on the menu button again, it would stop the session, effectively making the menu button into a start/stop button.

I have a problem with this workflow for these reasons:

  1. Users may just want to check what the button is, or how it works, and decide they don’t want to start a session. Thus, after reading through the dialog, they’ll close it, possibly not realizing the session is already in progress.

    Note that currently the behavior of a scene that’s singleplayer/multiplayer is different. When you refresh in multiplayer, you loose the scene data. There may be other differences. For this reason alone, I don’t think we can go forward with this until at least https://github.com/excalidraw/excalidraw/issues/910 is resolved.

    Another consideration: we’ve heard some voices that wanted to ensure absolute privacy (despite our E2E encryption), going as far as to express desire to be able to run excalidraw without support for creating shareable links. If we make it this easy to start a collaborative session, and automatically start sending data to a server, this will move us further away from achieving that goal.

  2. Overloading the menu button to also stop the server is not intuitive. Users may want to open the dialog while a session is in progress for several reasons (while not wanting to stop the session):

    1. To re-read the instructions.
    2. To copy the link to send to others (note that many users won’t be aware they can simply copy the link from the URL, as it’s not obvious it’s the same link we show in the dialog).

    Moreover, if they inadvertently stop the session in this way and want to start it again (e.g. to reconnect to the room where they colleagues are), they’ll generate a new link for a different room).

Counter-proposal

  1. Clicking on the menu button will open the dialog, start the session automatically, and update the URL, and show the link in the modal. But, we’ll also show a stop session button in the dialog so they can manually stop it.
  2. Clicking on the menu button again won’t do anything except show the same dialog.

This proposal has the same benefit of removing one extra step, but makes it more obvious how to stop the server, and doesn’t have the disadvantage of users mistakenly stopping the server just by clicking on the menu button.


That said, I’m still not certain even my counter-proposal is a good way to go, for some of the aforementioned reasons (mainly, starting a session automatically is not how these things usually work — you want to warn the users, first).

Issue Analytics

  • State:open
  • Created 4 years ago
  • Reactions:2
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

4reactions
vjeuxcommented, Mar 14, 2020

Counter counter proposal:

  • When you click on the share icon, it starts the session and shows a prompt very similar to when you share a link. A one sentence description that says that the data is shared with other clients.
  • When you click again, then it shows the entire modal we have right now, including the stop button. So you can read all the information about how it works and details. So it’s available and relatively obvious but doesn’t get in the way of the initial share flow.

If we make it this easy to start a collaborative session, and automatically start sending data to a server, this will move us further away from achieving that goal.

What we could (and should) do is to only broadcast things to the server if there are more than 1 user. So when we create the room, it just creates the socket but doesn’t actually send any data. I think it’s a fine middle-ground.

1reaction
dwellecommented, Mar 12, 2020

/cc @vjeux written up

Personally, I’m for simplifying the text, and keeping start/stop buttons explicit.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Support modern collaboration and improve workflows with ...
Today we are excited to announce several new capabilities within Microsoft Purview eDiscovery (Premium) that will support modern collaboration, ...
Read more >
10 new Cliq integrations to simplify your workflow - Zoho Blog
We got this managed for you as well, From the GoToMeeting bot in Cliq, you can check your current meetings, upcoming meetings, and...
Read more >
Analysis of a collaborative workflow process with distributed ...
In this paper, we evaluate the performance of an industrial workflow process where similar tasks can be performed by various actors at many ......
Read more >
12 Workflow Apps to Maximize Your Team's Efficiency
Luckily, you can rely on software tools to simplify these ... adding tasks, and collaborating on almost anything, from meeting notes to ...
Read more >
What are software team collaboration best practices? - GitLab
When a team commits to documenting everything from workflows and tools to communication processes and branching strategies, they cultivate an environment that ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found