A method of enabling user interaction with computer software running in a
computer system. The includes generating coded data indicative of at
least one interactive element, determining a page description defining a
layout of information and coded data relating to the computer software,
and printing an interface surface using the page description. The
interface surface is then used to allow a sensing device to sense some of
the coded data when placed in an operative position relative to the
interface surface. The sensing device generates indicating data
indicative of a user identity stored in the sensing device and the
interactive element. The indicating data is then transferred to the
computer system which uses the indicating data and the page description
to determine instructions associated with the at least one interactive
element. The computer system then operates the computer software at least
in part using the instructions and user data determined using the user
identity.