1. A robot adapted to operate in association with an interface surface having disposed therein or thereon coded data indicative of an identity of the interface surface and of a plurality of reference points of the interface surface, the robot comprising: (1) movement means to allow the robot to move over the interface surface; (2) a sensing device which senses at least some of the coded data and generates indicating data indicative of the identity of the interface surface and of a position of the robot on the interface surface; (3) communication means to: (A) transmit the indicating data to a computer system, the computer system programmed to select and execute a computer application based on at least the identity of the interface surface; and, (B) receive movement instructions from the selected computer application, whereby, the behaviour of the robot is at least in part controlled by the selected computer application.