Ticket #53 (closed defect: fixed)

Opened 7 years ago

Last modified 2 years ago

Show the cursors and selections of all participants

Reported by: Ben Levitt Owned by: armin
Priority: normal Milestone:
Component: libinfinity Version:
Severity: normal Keywords:
Cc: Launchpad Bug:

Description

I think that being able to see the cursors and selections of all the participants would help me get a sense for where the other participants are, and what they're doing. I think this would make collaboration a little bit easier and more comfortable.

Also, once gobby knows where everyone else is, I think it would be great to be able to click on someone's name in the Name List to jump their cursor/selection into view.

Change History

Changed 7 years ago by phil

A UDP connection should be used because one shouldn't mind about missing packets. However we need to look into correct NAT traversal, perhaps opening a TCP connection to the server and then send some UDP packets over it anyhow.

If it is possible to abuse an open port on the router belonging to a current NAT connection (the one to the obby server) all the clients could send UDP packages peer-to-peer-alike when the server just hands out the source port of the main TCP connection.

Changed 7 years ago by phil

  • milestone set to Gobby 0.3.0

Changed 6 years ago by ben@…

FYI: it isn't possible, generally, to use UDP through NAT by the technique you mention. However, many NAT firewalls are what is known as "open cone" - that is, once you have sent a UDP packet from some source port, then anyone can send to that UDP port as a destination.

Not all, though. So, I'd stronly suggest a technique that doesn't rely on this behaviour.

Also, it occurs to me, using UDP would prevent tunneling using, say, stunnel, which might be a drag.

Changed 6 years ago by phil

  • component changed from Gobby to libobby
  • milestone changed from Gobby 0.3.0 to libobby 0.4.0

I'll reassign this to libobby 0.4.0, hopefully it might end up there. It has to be implemented first on the protocol layer, but then the visualisation has to be considered which might be non-trivial.

Changed 6 years ago by armin

  • milestone changed from libobby 0.4.0 to libobby 0.5.0

At least showing other's cursors will be the first thing I implement for 0.5.0. Really :).

Changed 3 years ago by anonymous

  • milestone libobby 0.5.0 deleted

Milestone libobby 0.5.0 deleted

Changed 3 years ago by armin

This has mostly been implemented. libinfinity does all the hard networking stuff. It's just a bit GUI code that needs to be written to show the remote cursors and selections in the GtkTextView?.

Changed 2 years ago by ben

  • component changed from libobby to libinfinity

Changed 2 years ago by armin

  • status changed from new to closed
  • resolution set to fixed

This has been implemented in libinfinity 0.5 and will be present in Gobby 0.4.94.

Note: See TracTickets for help on using tickets.