Does anyone (out of choice or forced) develop on a computer that they have to remote desktop into?

How has your experiences been with it?

I can see the advantages as you can basically code from anyplace in the world so long as you have a fast enough connection.


+16  A: 

I had to do this for a sharepoint project and it nearly drove me insane. Those small delays really add up, especially when scrolling through text.

+1 this drives me crazy as well
Andrew Hare
+1 me too. I limit my remote desktoping to short edits and compiles.
Agreed. When ever I have to do this I usually remote-in command line style (if at all possible) for the coding and only use the GUI for compile/test. I'll copy the files locally, edit, and upload to avoid all those little horrible delays.
You don't know slow until you're forced to use DCAF over SNA.
+2  A: 

I've done it. It works, but it was a little slow for my taste. I don't know if that depended on the hardware etc we were running at the time. It was ok for some small use when I wasn't near the console, but the typing delay would soon get to me. I heard Citrix used to claim that all their people used their remoting solution including the programmers without difficulty. This was several years ago though.

+1  A: 

See this question for some of the ins and outs of doing this.

Good pointer, but your link transfers to "edit mode" instead of to the question itself...
+1  A: 

Yes, I have telecommuted in the past and remote-desktop'ing into a PC that's located inside the corporate firewall is very productive. We both know that coding is more than just typing into an IDE. It's about having access to the resources you need to dev, test, compile, share, and publish.

+1  A: 

Yeah!! The company I work for has virtual machines installed in server in a different place (diff country to be more specific)...Its slow as Kevin said but I can work from anywhere.

+1  A: 

Using remote desktop here to develop on various virtual machines (usually somewhere on the local network, so not that remote). Surprisingly, the same (small, unpredictable) delays drive some developers nearly insane, completely disrupting their workflow... while others barely notice them, and are just as productive on the remote system as on their local machines. I still haven't figured out whether this is some personal trait or something that can be trained.


It is doable for small applications, but as the others said it is tough.

Main Concerns

  1. Speed - remote connections will always be slower compared to using actual machine.
  2. Control - If you are a remote user you probable don't have admin rights.
  3. No dual-screen - depends on software used. RDP 7 allow multiple desktops (thanks to Mystere Man for the RDP note)
Berek Bryan
RDP 6 supports screen spanning and RDP 7 supports true multi-desktop, so that's something that will be going away. RDP 7 actually solves a lot of problems.
Mystere Man

I've had a few cases where I had to remote onto a machine, usually for debugging something that I can't do on my local machine like having 2 websites with Windows 2000 Professional or there is some software that has to be installed that is more of a pain to install locally than work with on the server like a CMS or ran the middleware of the software.

For myself, the biggest problem is that things may be in a different place on the server than my local machine which has its good and bad advantages. Another point is having different IIS versions between the machines. The Web Server 2008 has some nice features that make it similar to Vista in explorer which is a bit of good and bad, IMO. Also the wallpaper, quick launch buttons, and a few other personal touches are usually minimized in this situation.

I'd say it was OK to do for a day or two, but much more than that and it gets ugly. I remember a story of a former co-worker where multiple developers had to share the same server for development. I haven't seen anything that bad in my years.

JB King

I would refuse to unless absolutely forced and even then it had better be a good reason. BTW, If the client and host PC's are both running vista, you CAN remote terminal and use dual monitors

However, we do use a clean VM for builds / CI via Hudson. I believe that is the best of both worlds.


It's possible but it's brutal.

Stephane Grenier
+1  A: 

I'm doing it right now. It's a bit of a drag, but tolerable.


I've been doing that when I need to compile my program on my office PC (I use a mac laptop at home). It's not too much fun, but it's doable for relatively shorter tasks. The short lag in cues is slightly annoying.

The main problem is that the higher the resolution, the more bandwidth it takes and sometimes the worse the experience. I use Eclipse, and I can only work with it at very high resolutions.

+1  A: 

As long as you aren't trying to develop/debug a graphically intensive app, there should be no problem. I use remote desktop on my mac laptop to develop on my windows machine at my office almost daily and have no complaints. 50% c++ desktop apps and 50% php web apps.

+1  A: 

I use remote desktop when I need to compile a copy of my app after checking it in. I find that it takes a lot longer to develop over a remote connection especially if there is a problem with the conenction or latency. I used to do my work that way for a few years from my laptop because my desktop at the office was far more powerfull. Now that I have a quad core machine it's much more convienient to develop at home on it and do all my testing locally than to do it via remote. The only catch is making sure that you have a solid backup solution beause loosing code is not an option. I am running both a RAID 5 disk array and have an online backup solution. The performance difference however means that I save oodles of time developing locally now and it's much more enjoyable (props to VS 2008).

summary: develop locally, test locally, and compile locally (takes less time to copy the files onto the deployment box from a local LAN and remote.) do your work close to wher eit's used, if you test at home then develop at home.


Our development team uses an ESX server where we each bring up one or more virtual servers and RDC into them to do all our development tasks. We use our host laptops almost exclusively for personal productivity & collaboration tasks (Office/email/chat/web/etc). It works pretty good! We have a decent network so the latency is usually a non-issue. I love the freedom to potentially destroy my development environment without affecting my actual computer, and get another one back online in an hour.

Rex M

I do this at work over the local network (which is very fast) and it seems to work very well. However, when I have to remote in from home, over a 256k cable connection, it can get to the point where it is unusable due to lag, but is usually ok.


It is technically possible meaning it will work but you probably won't survive for long.

Especially if you're not in the local network but getting to the server over the internet, even the DSL line won't help you much.

I've tried to work with Visio in that fashion in the local network and in the end I just brought my laptop with the local installation to stabilize my mental state.

Today when many people are so discrete as even not any mouse will suit them because it is either not sensitive enough or oversensitive, trying to switch to the remote desktop mode will virtually teleport you in stone ages.

Remote desktoping is pretty useful when you only need to connect for short periods of time to manage things. It is not really meant to organize remote software use. It will work but you won't like it.

+1  A: 

If your connection speed is good it is quite do able. You do have to watch out for slight delays in menus and stuff like that. I work from home two to three days a week which is great since I have a 70 mile commute.

Most of the time I don't have much latency. I'm VPN'ing from NH to Florida and back to NH. Since my desktop is Vista and my work desktop is XP I thought I wouldn't be able to live without my dual monitors, but I have been using RoyalTS. RoyalTS not only lets me manage all the servers and desktops that I need to connect to, but when I hook up to my XP desktop I can spread Royal TS across both of my monitors and get a nice wide terminal window. I lose the ability to maximize to a monitor but I can adapt.

It's working quite well for me. Probably 2 to 3 hours a month the latency will get bad and drive me nuts.

+1  A: 

I've done it once. Over a LAN, because the IT helpdesk next door was just so noisy I found it impossible to concentrate. It was during a holiday period when they hod no work to do (but had to be there in case support calls came in) and were playing on an XBox. I went to a lab in the opposite end of the building and VNCed into my own workstation from there. It was slightly slower but well worth it.


I do it all the time using X11 (or sometimes VNC). And some of it is OpenGL development too: X11/GLX works quite well if you have the bandwidth and work with a smaller window than fullscreen.

But no matter how much bandwidth you have, the thing which really determines whether the experience is pleasant or not is LATENCY. <50ms good; >100ms start going insane.


For me, it was too slow to tolerate the scrolling. The company I was working for was trying to allow us to check out laptops to do late work from home, but they didn't want to take the time to find out if our IDE and other tools were licensed in a way that we could use them off of the laptop. So, we were supposed to VPN and run our desktops over the laptop.

I ended up just driving the 7 miles to the office after spending 4 hours waiting on screen refreshes to do a task that should have taken me no more than an hour. Never tried it again after that.


Not exactly answering your question, as I'm not really remote-desktoping, but:

I do work (=write code) remotely all the time, using a combination of ssh, screen, and vim. Over a basic DSL line you get the exact same responsiveness as when you're working locally. On any modern machine you can have as many editing windows and interpreters open at a time as you want, and disconnecting and resuming the screen session from another machine only takes one command.

Of course this setup doesn't work as well if you're, say, a game programmer :)


I do this at home quite often. It works very well on a lan, but if I try to connect to my home computer from an external source, especially over a cellular connection, it's nearly unbearable.

Timothy Strimple

I find I come into the office on a weekend in preference to doing this unless I just have a very quick task. We had a snow day and everyone in the office tried to VPN in at the same time and I couldn't even get my cursor to work.

However, in the office, I remote to our servers in another state all the time and this seems to work fine. But again, I'm not doing more that troubleshooting or running a quick process or copying files. It is much faster BTW to copy large files from one server to another when both servers are in the other location and I'm down here in VA.

+1  A: 

It totally depends on the speed/latency of your connection. I develop remotely from home by remote desktop connection over a VPN to my computer at work and I find it, performance-wise, to be exactly the same as physically sitting at work. The only downside is the dual monitor issue, as I have 2 x 19in monitors at work and one at home, but it doesn't really detract from the development I am doing.

What does make it harder is the communication with other staff - at work it is easy to walk over and chat with someone, give them a quick call etc. As we don't have any IM system, remote workers are limited to e-mail communication only.


Using RemoteDesktop with Multi screen - I have constant issues with the screen not being redrawn, especially if the windows are larger than 1 screen.

Greg Domjan

I have them keep my development box in the server room where it can be secured and backed up. I access it with a company based VPN and remote desktop with locked down features like no clipboard copy/paste. It gives me speedy access to everything inside their firewall (including the database and SVN) and lets me use a "disposable" laptop which can't really lose anything if it gets stolen. If it does, I just go buy another for about $500, install the VPN and away I go...

Still, it is pretty boring. Will like it more as we grow into it.