Giter Site home page Giter Site logo

Add a "Shadow user" Feature about collidr HOT 9 OPEN

MisterJames avatar MisterJames commented on July 16, 2024
Add a "Shadow user" Feature

from collidr.

Comments (9)

dpaquette avatar dpaquette commented on July 16, 2024

Was thinking about this, and I'm not sure if this is what you were thinking:
http://jsfiddle.net/8SkE6/1/ (chrome only)

If so, I think it could work. Just need a way to send the values through the hub, which should be fairly easy I think.

from collidr.

MisterJames avatar MisterJames commented on July 16, 2024

I'm having some trouble figuring out which way to go here. I like this, but it may not work if someone has a specific layout or other design constraint.

I was thinking about just replacing the values, but then what do you do when the other user is typing in the same field as you? I'm wondering if we should just lock the field (or the whole form?) when someone else starts editing? Prompt the viewing users and lock the form?

from collidr.

MisterJames avatar MisterJames commented on July 16, 2024

Whatever route we go here, we'll need to push the values out to the other clients, so I'll start there with #40.

from collidr.

MisterJames avatar MisterJames commented on July 16, 2024

Okay, #41 includes the change to the modify event that includes the new field value.

If you wanted implement this per your fiddle I think that should be fine - even if down the road we come up with multiple formatter options (passed into the initialization of the CollidR).

from collidr.

MisterJames avatar MisterJames commented on July 16, 2024

I created the shadow-user branch for this feature. I'm not doing anything in there, but we can collaborate on that branch to work this stuff out.

from collidr.

dpaquette avatar dpaquette commented on July 16, 2024

Okay, I will try to get that part done this weekend.

from collidr.

dpaquette avatar dpaquette commented on July 16, 2024

Preliminary results are promising:
image

Although this opens up a big can of worms. For example, if I start shadowing someone after they already made a few changes, I will only see changes that happen after I start shadowing them. This means I get an incorrect picture of the other user's form.

from collidr.

dpaquette avatar dpaquette commented on July 16, 2024

Changed the wording on the warning and added option to remove the shadow:
image

I also changed the behavior of the reload warning behavior as I thought it was a misleading:

  1. User A joins
  2. User B joins
  3. User B edits a field
  4. User A was presented the reload warning. This was misleading because User B had not saved the changes yet. User A had no way of reloading to see User B's changes. I changed the behavior so this warning is only displayed when User B saves their changes.

What we could do is show the "Shadow" option for User B as soon as User B makes a change to a field (by default, the icon could be hidden).

from collidr.

dpaquette avatar dpaquette commented on July 16, 2024

Some things to consider:

  1. If User A is shadowing User B, we could highlight the field that User B is currently editing (instead of showing the tooltip). I think this would be a little less 'invasive' than the tooltip.
  2. We may want to create a CollidR.Boostrapper.css file to encapsulate some of the styling.
  3. We could highlight fields that have differences
  4. We will need to solve #38 or else this approach will be very confusing for the end user.
  5. On client side, how do we get the current user name? It seems silly that there is an option to shadow yourself, but I don't see how to tell who the current user is

from collidr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.