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

Lecture mode: Replicate host layout (splits), if possible #1954

Closed
Jasata opened this issue Apr 12, 2019 · 15 comments
Closed

Lecture mode: Replicate host layout (splits), if possible #1954

Jasata opened this issue Apr 12, 2019 · 15 comments

Comments

@Jasata
Copy link

Jasata commented Apr 12, 2019

Product and Version [VS/VSCode]: VS Code 1.33.1
OS Version [macOS/Windows]: Windows 10 Pro Eng
Live Share Extension Version: 1.0.45
Target Platform or Language [e.g. Node.js]: Node.js (I think...)

Steps to Reproduce / Scenario:

(Please refer to Lecture mode issue #2007 for top-level discussion)

(This might be VS Code specific issue - if so, close/discard)

  1. Create / join session
  2. Focus participant
  3. Have split view on host, open different sources in different panes.
  4. Guest view does not replicate Host view. Correct source is shown, but in which pane and when, is a mess I cannot describe.

If any way possible, please make guests replicate host layout, so that in teaching sessions a teacher can show two/three sources side by side, as necessary. Or embed this splitting into one guest pane, but please try to replicate the host view, for the sources at least.

@daytonellwanger
Copy link
Collaborator

Thanks for the feedback @Jasata ! This is by design, but I think you make a good point for why some users may want this behavior (perhaps behind a setting; I'm sure there are other users that would find this behavior annoying). The general Live Share philosophy is that we share your context, not your screen. I think this request falls into an interesting gray area (perhaps into the same one that a lot of follow behavior falls into). @lostintangent

@lostintangent
Copy link
Member

This is really great feedback! I’m beginning to wonder whether some educational use cases have a need for “stronger” follow mode, where the guest inherits additional UI context from the host. I can see editor layouts making a ton of sense, so we should think about this for sure.

@Jasata
Copy link
Author

Jasata commented Apr 12, 2019

The general Live Share philosophy is that we share your context, not your screen.

A design philosophy reasons resonates deeply with me. And I also can wholeheartedly agree that in non-educational use cases, this would indeed most likely irritate most users.

If a feature like what I am suggesting, would be made, perhaps it would become a "lecture mode", which is specifically enabled.

I have been tasked to create an interactive online course, which my university begins to offer next September, and Live Share appears to offer great promise to achieve things not possible with previously used solutions. If educational use is of interest to you, I am happy to share the use cases and plans.

@lostintangent
Copy link
Member

I’d love to partner with you on this to ensure you could use Live Share for your class. Beyond syncing window layout, are there any other requirements that stand out?

@Jasata
Copy link
Author

Jasata commented Apr 12, 2019

I’d love to partner with you on this to ensure you could use Live Share for your class. Beyond syncing window layout, are there any other requirements that stand out?

In this stage of course design and planning, there are only two. This and a wish to create a "student list" of GitHub accounts which would (when authenticated by GitHub) be automatically accepted into the lecture - not only to control that only enrolled students attend (minor concern, as the session key is generated each time and it "leaking" is not expected to be common eventuality) but also to allow "standard" identification of participants (as opposed to free form name strings for sessions). However, since I am also learning more, this latter item might turn out to be possible.

What I will promise to do, is to write a suitable documentation for your purposes (respecting your time by leaving out material that is not relevant - but all documentation will be made available to you of course, should you wish to read them). I should have such documentation to show by next Friday, I think.

@Jasata
Copy link
Author

Jasata commented Apr 17, 2019

I hate to be a bother, but testing this is proving to be little more tricky that I expected... and one thing. Is there a "logout" somewhere, so I could switch to my "civilian" Github account for testing purposes (joining my own session)?

I am installing a new virtual machine currently, because I could not figure out how to accomplish this...

Also, perhaps more importantly, when we manage to run a simulated lecture (scheduled for tomorrow afternoon) and get our experiences documented, would you rather have that material elsewhere, instead of this issue?

@daytonellwanger
Copy link
Collaborator

You can log out by first clicking on your name in the status bar and then selecting "Sign Out"
signingout

Out of curiosity, why do you need to switch accounts for testing? The same account that is hosting a Live Share session can also join one. If you do have a need for the host and guest to be on different accounts, another option is to install VS Code Stable and VS Code Insiders, have Live Share installed on both, but different accounts signed in for each.

@lostintangent for best way to report feedback. I think if you have general feature requests/issues, it'd be best to post them as new GitHub issues so that other users can upvote and provide feedback. If you have feedback that's truly unique to your situation, maybe directly emailing @lostintangent would be best.

@Jasata
Copy link
Author

Jasata commented Apr 17, 2019

Joining my own sessions does not prompt me for accepting or refusing the attendee and honestly, I do not clearly understand what the interpretation of joining my own session is (does not ask if I wish to move hosting to the new instance... so maybe in theory there could be two lecturers at the same time). As I want to prepare for tomorrow's test, I want to minimize self-inflicted trouble as much as possible, and this seems like one of those things. :-)

But for future, I absolutely want to be able to switch between my hobby- Github account and the account created for University work. EDIT: And with the instructions given, that is now all-clear.

@daytonellwanger
Copy link
Collaborator

daytonellwanger commented Apr 17, 2019

You may also try playing around with the liveshare.{account,accountProvider} setting. Official documentation on this setting can be found here.

@Jasata Jasata changed the title Replicate host layout (splits), if possible Lecture mode: Replicate host layout (splits), if possible Apr 23, 2019
@Jasata Jasata mentioned this issue Apr 23, 2019
@Jasata
Copy link
Author

Jasata commented Apr 23, 2019

One of the participants in the small trial run stated something related to this feature request. In her opinion, Visual Studio Code should also allow her to keep one private pane open where she can copy-paste into portions she things are interesting and into which she can type notes as she follows the lecture.

This sounds very reasonable, but also somewhat complex to implement. I added this here because her input was very logical in my opinion.

@daytonellwanger
Copy link
Collaborator

You mean like this?
CopyToTheSide

@Jasata
Copy link
Author

Jasata commented Apr 23, 2019

Yes, like that. However, currently the changing focus from me (also trying to have two panes) will hijack student's (right side in your picture) panes and change their content to match what the focus changed to in left (let's call it "teacher").

The (seemingly) erratic manner in which this happens was also mentioned in the first post. Surely there is some logic to it, but thus far I haven't figured it out. Be as it may, as long as focus changing from a source/document to another in teacher's panes freely makes use of the student's existing panes (replacing personal notes every once in awhile), it may not be what was hoped for, (also, I need to learn to make those GIFs... it would really help explaining these things)

@daytonellwanger
Copy link
Collaborator

The "hijack" you mentioned should be avoidable if the student unfollows the teacher in the private pane (note they can still be following the teacher in other panes).

focus changing from a source/document to another in teacher's panes freely makes use of the student's existing panes

Do you have a repro for this? I wouldn't expect this to happen.

(I make my GIFs using ScreenToGif).

@Jasata
Copy link
Author

Jasata commented Apr 25, 2019

The "hijack" you mentioned should be avoidable if the student unfollows the teacher in the private pane (note they can still be following the teacher in other panes).

focus changing from a source/document to another in teacher's panes freely makes use of the student's existing panes

Do you have a repro for this? I wouldn't expect this to happen.

(I make my GIFs using ScreenToGif).

Excellent little program. And here is a tiny example of what I was trying to explain:

hijack

It also displays another odd (or at least unexpected) behavior - the source which the left-side lecturer (session host) focuses on does not appear in the right-side student editor ... until the source has been modified in some way.

...or am I just confused with this?

@derekbekoe
Copy link
Collaborator

We’re not able to prioritize this issue over the other higher-impact issues we receive every week, based on the votes and comments from others in the community and our understanding of the issue. However, rest assured that we love your input. If you feel it deserves to stay open, then clarify your use case and contact us to let us know how severe it is for you.

@derekbekoe derekbekoe closed this as not planned Won't fix, can't repro, duplicate, stale Nov 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

5 participants