I work for a small software company in London, England. We currently have 4 developers, all of whom are UK-based, but we're located in different parts of the country and we all work from home most of the time. Every developer has a high-performance Windows workstation that lives in the London office, and we access these remotely using GoToMyPC.
Our new requirement is that we'd like to try pair programming, which means 2 developers need to be able to access a single machine at the same time. Both developers need to be able to see the full desktop, but we also need to be able to easily toggle which developer has keyboard/mouse control.
So far, we haven't had a great deal of luck getting this working. Here's what we've tried:
GoToMyPC and UltraVNC Server:
When I'm sitting at my PC in the office, I can share my office PC's screen with another developer using UltraVNC Server. The other developer can take over keyboard and mouse control at will. However, if I'm at home and connecting via GoToMyPC, the other developer can see my office PC's desktop but cannot control the keyboard or mouse (even if the "View only" option is disabled in UltraVNC Viewer). This diagram might help to illustrate the configuration I'm talking about:
LogMeIn Pro:
I thought LogMeIn might solve our problem, as it has a desktop sharing feature built in. However, if I'm at home and connecting via LogMeIn, I can't share the desktop of my office PC with anyone. They get an error saying that there's already an active session, or something like that. The desktop sharing feature only seems to work if I'm physically sitting at the host PC.
Other requirements:
It probably goes without saying that end-to-end encryption of the internet side of things is a must-have
For desktop sharing between machines in the office, security isn't a big concern but quality and performance are
Remote access via mobile devices (specifically iPad and iPhone) would be very nice, but is not essential
There are quite a few different remote access and desktop sharing products, and it's occurred to me that it could take a very long time to try all the possible permutations. Hence the question: has anyone managed to get this kind of setup working? If so, what product(s) and/or service(s) did you use?