Skip to content
Brent Baccala edited this page Aug 13, 2024 · 4 revisions

Current collaborate TODO list

  • [✗] group chat (won't implement without updating BBB to 2.7)
  • GUI chat (a chat GUI in the remote desktop)
  • GUI shared notes (a shared notes GUI in the remote desktop)
  • sharing permissions (let students grant share permissions to other students)
  • button to grid (add a big blue button that switches to grid view) ✓ dual/tri monitors (do this with a paginated grid)
  • project to subset of screens (the monitors used to display the grid to the entire room)
  • ability for a student to remove themselves from the public grid (not instructor grid)
  • escape sequences (can we grab ESC key?)
  • stress test (70 students in a class; 140 vnc X displays)
  • test on AWS
  • split remote desktops onto a separate server
    • currently remote desktop server authenticates to a single BigBlueButton server (localhost)
    • need to slightly modify BigBlueButton nginx config to make the authentication service visible to other hosts
    • need to provide a list of BigBlueButton servers authorized to use a particular collaborate server
    • need to provide the shared secrets of those servers so we can make API calls (get usernames; get meetings)
  • better separate out the choice of UNIX usernames - could BBB add something to its user information that we passed on from bbb-auth-jwt? (so you can change your BBB name at will, but your username is fixed)
  • pass an option string from the websocket proxy to the student-mode/teacher-mode scripts, then we can request things like wss://example.org/vnc?disable-screen-share, although a malicious client could alter that option string from what was set by the presenter at the start of the share
  • lose dependency on old bigbluebutton build environment
  • [✗] live stream? how? from a VM running the software, or perhaps directly from vnc. resolution? probably use obs with its vnc plugin. resolution? youtube can do 4K doesn't sound like they want to live stream the workshop
  • recording we should probably record the workshop - three 4k video streams of the front three monitors; obs with its vnc plugin
  • get obs vnc plugin running with collaborate
  • changing student display geometry appears to be a problem (kills the gnome shell)
  • fix screensharing a higher resolution display onto a lower resolution display
  • allow us to see other users in grid mode (and maybe see what mode their BBB is in - what is full screen, is chat/notes open?)
  • still have a scrollbar on the desktop (not in fullscreen)
  • bandwidth test with ragazzo - clients up in AWS (or at Bruce's)
  • power test with the rack - how much can it draw before throwing the breaker?
  • ability for students to change their names - set it up as "Student1" but they can change their name
    • root can already change names using usermod
    • make sure the polling loop picks up user name changes
    • how to match user names to the current meeting? answer - we don't have to unless we're restricted to the meeting a little better answer - at least track it if it changes during a single grid seesion, which for the teacher would (hopefully) run for the entire class
    • can I put spaces in a username? Probably not. test it.
  • ability to easily select a view-only grid mode
  • ability to put a teacher grid desktop into the grid
  • let students run their own meetings - greenlight?
  • overall improvement in vnc proxy handling
    • we don't really need a full extra X display just to do screensharing, or even the grid, do we?
    • at least improve the vnc viewer so that it stays running in background rendering at a certain size and can be easily attached to a grid or a screenshare
Clone this wiki locally