A human machine interface for inputting a symbol string into a device, the interface comprising: a visual display (300, 400-402,...700, 800, 900); a gesture recognition system configured to recognize pan and/or zoom gestures made by a user; and a controller configured: a) to depict an initial finite-sized geometric region (Fig. 9A, 900) at a degree of magnification on the visual display comprising points (Fig. 9A: A, B, C, D,...) each point corresponding to possible symbol strings of arbitrary length, each point defining a respective sub-region (Fig. 9B: 901, 902,...) corresponding to symbol strings sharing a common prefix; b) to receive indications from the gesture recognition system of pan and/or zoom gestures made by the user; c) responsive to an indication of a pan gesture, to display a different sub-region and to modify said common prefix; d) responsive to an indication of a zoom in gesture, to increase the degree of magnification and to append at least one symbol to said common prefix (Fig 9C: AA, AB, CA,...DD); e) responsive to an indication of a zoom out gesture, to decrease the degree of magnification and to delete at least one symbol from said common prefix; f) to output a symbol string (Fig 14C: EVE) comprising said common prefix. a visual display (300, 400-402,...700, 800, 900); a gesture recognition system configured to recognize pan and/or zoom gestures made by a user; and a controller configured: a) to depict an initial finite-sized geometric region (Fig. 9A, 900) at a degree of magnification on the visual display comprising points (Fig. 9A: A, B, C, D,...) each point corresponding to possible symbol strings of arbitrary length, each point defining a respective sub-region (Fig. 9B: 901, 902,...) corresponding to symbol strings sharing a common prefix; b) to receive indications from the gesture recognition system of pan and/or zoom gestures made by the user; c) responsive to an indication of a pan gesture, to display a different sub-region and to modify said common prefix; d) responsive to an indication of a zoom in gesture, to increase the degree of magnification and to append at least one symbol to said common prefix (Fig 9C: AA, AB, CA,...DD); e) responsive to an indication of a zoom out gesture, to decrease the degree of magnification and to delete at least one symbol from said common prefix; f) to output a symbol string (Fig 14C: EVE) comprising said common prefix. a) to depict an initial finite-sized geometric region (Fig. 9A, 900) at a degree of magnification on the visual display comprising points (Fig. 9A: A, B, C, D,...) each point corresponding to possible symbol strings of arbitrary length, each point defining a respective sub-region (Fig. 9B: 901, 902,...) corresponding to symbol strings sharing a common prefix; b) to receive indications from the gesture recognition system of pan and/or zoom gestures made by the user; c) responsive to an indication of a pan gesture, to display a different sub-region and to modify said common prefix; d) responsive to an indication of a zoom in gesture, to increase the degree of magnification and to append at least one symbol to said common prefix (Fig 9C: AA, AB, CA,...DD); e) responsive to an indication of a zoom out gesture, to decrease the degree of magnification and to delete at least one symbol from said common prefix; f) to output a symbol string (Fig 14C: EVE) comprising said common prefix.