A method for remotely operating a robotic pool cleaner may include providing a robotic pool cleaner comprising a housing: a propulsion drive configured to propel the robotic pool cleaner along a surface of a pool a pump for drawing liquid from the pool into the housing, so as to trap dirt and debris from the surface of the pool into a filter a controller configured to communicate with a portable communication device, and control the propulsion drive in accordance with commands received from a the portable communication device using the portable communication device, obtaining one or more characteristics of a surface of the pool displaying a graphical representation of the pool on a display of the portable communication device receiving a user input from a user via an input interface of the portable communication device translating the user input into a command and transmitting the command to a controller of the robotic pool cleaner, for execution by the robotic pool cleaner.