Port Forwarding
Port forwarding through a SimpleHelp session
SimpleHelp v3.9 and later
SimpleHelp v3.9 and later
Sometimes, when I’m working on a particular feature, I get wrapped up in how to get this particular feature to do exactly that. How to make it do exactly that in the most efficient and user friendly way possible. How I can change this and this to make it do that better.
Usually this is a good thing – I’m spending time trying to make a particular feature work as well as I can make it. But sometimes focusing on just that one thing means I miss why the user wants to do it in the first place. Sometimes, there might just be a way to get done what the user wants much more simply than the obvious solution.
In the case of controlling a remote computer, its pretty clear that you want certain things. You want to be able to view and control the remote desktop. You want that to happen as quickly and smoothly as possible and we spend a lot of time trying to streamline remote control to make this the case.
Sometimes though, you might want to just find out what the CPU usage and disk space is like, and in that case its a lot quicker to just drop into Diagnostics mode and have a look at some metrics in there that SimpleHelp has gathered and sent back rather than opening up task manager on the remote machine and getting the screen updates back. Its quicker because, much as we might streamline the screen viewing, it still always has to send back a lot more data to say “the screen now looks like this (big complicated image)” rather than “the cpu usage is 63% (one number)”.
If you’re on a good connection the difference might not matter much, but in some cases it can be a godsend to have that really quick direct access to just what you’re really interested in.
We recently released 3.9 with a feature which, upon first glance, a lot of people might not see a use for. Port Forwarding (in Diagnostics mode if you want to give it a whirl) allows you to forward TCP ports from your local machine to the remote one, or vice versa. At first this seems like quite a specialist feature – “hmm… maybe its for if there’s sometng you need to access on the remote machine and you have some kind of network client?”. Well, in fact, its a lot more broadly useful than it first seems.
Usually this is a good thing – I’m spending time trying to make a particular feature work as well as I can make it. But sometimes focusing on just that one thing means I miss why the user wants to do it in the first place. Sometimes, there might just be a way to get done what the user wants much more simply than the obvious solution.
In the case of controlling a remote computer, its pretty clear that you want certain things. You want to be able to view and control the remote desktop. You want that to happen as quickly and smoothly as possible and we spend a lot of time trying to streamline remote control to make this the case.
Sometimes though, you might want to just find out what the CPU usage and disk space is like, and in that case its a lot quicker to just drop into Diagnostics mode and have a look at some metrics in there that SimpleHelp has gathered and sent back rather than opening up task manager on the remote machine and getting the screen updates back. Its quicker because, much as we might streamline the screen viewing, it still always has to send back a lot more data to say “the screen now looks like this (big complicated image)” rather than “the cpu usage is 63% (one number)”.
If you’re on a good connection the difference might not matter much, but in some cases it can be a godsend to have that really quick direct access to just what you’re really interested in.
We recently released 3.9 with a feature which, upon first glance, a lot of people might not see a use for. Port Forwarding (in Diagnostics mode if you want to give it a whirl) allows you to forward TCP ports from your local machine to the remote one, or vice versa. At first this seems like quite a specialist feature – “hmm… maybe its for if there’s sometng you need to access on the remote machine and you have some kind of network client?”. Well, in fact, its a lot more broadly useful than it first seems.
Lets say you have a big database on your network and you use a client like Toad to access it. When you’re away from the office you connect in to your work computer using SimpleHelp and great! – you can start up Toad on the remote machine and start plugging away as usual. If you’re on a slower connection though things might not be quite as snappy as if you’re sitting right in front of the computer in your office. In that case what you might want to do is set up a Port Forward. You tell SimpleHelp to listen on a port on the local machine (say 5000), and then forward that connection through to the remote machine, and out to the database on the proper port (this will vary but lets call it 1521). What you can do now is this; start up the Toad client on your local machine and tell it to connect to “localhost:5000”. SimpleHelp grabs this connection, forwards it through to the remote machine and out to the database on port 1521. As far as Toad is concerned everything is normal, it connected to the database OK just as usual. There might be a tad more delay in the network connection today if you’re in a different country but the UI is as snappy as can be since its running on your local machine.
Another case would be if you’re helping a customer and you need to SSH into one of their servers on their network. Not everybody likes a terminal but those that do will almost certainly talk about how wonderfully fast and responsive they are when you’re comfortable with them. Using one over a forwarded remote screen on a poor connection though, even with the very best optimisations, can still leave little to be desired when compared to the ‘real thing’. Instead though, if you can just set up a port forward and start SSH on your local machine things will be as quick as if you could have started SSH and connected direct where you are now!
It’s all too easy to think “the user wants X”, then equate one solution with “X” and start plugging away endlessly at it, but sometimes you have to go back and think not in terms of “how do I make X work faster” but “as a human being, I just want to…”. The pinnacle isn’t ever making a particular feature work as well as it can (though that is often the goal), the pinnacle is letting the user get done what they want to get done as quickly and easily as is humanly possible.
Another case would be if you’re helping a customer and you need to SSH into one of their servers on their network. Not everybody likes a terminal but those that do will almost certainly talk about how wonderfully fast and responsive they are when you’re comfortable with them. Using one over a forwarded remote screen on a poor connection though, even with the very best optimisations, can still leave little to be desired when compared to the ‘real thing’. Instead though, if you can just set up a port forward and start SSH on your local machine things will be as quick as if you could have started SSH and connected direct where you are now!
It’s all too easy to think “the user wants X”, then equate one solution with “X” and start plugging away endlessly at it, but sometimes you have to go back and think not in terms of “how do I make X work faster” but “as a human being, I just want to…”. The pinnacle isn’t ever making a particular feature work as well as it can (though that is often the goal), the pinnacle is letting the user get done what they want to get done as quickly and easily as is humanly possible.