Remote Programming Environments: the Robotic Laboratory Case