Through this short essay, I use the words "viewer" and "user" and also "viewer/user" interchangeably. These are not the words I want to use, because they have unintended implications. A "viewer" implies passivity, merely looking at an object. A "user" implies the use of an object, which further implies that an object is "useful." Art is not necessarily useful or to be passively consumed, and certainly interactive art requires active, experimental (as opposed to intentional) participation. The closest named behavior to the participation I am trying to describe is "play," but I'm not sure I feel comfortable describing art audiences as "players" just yet. I leave you with my awkward phrasing in the hope that further thought will be devoted to this difficulty in language.
Defining art and programming in terms of information density
The successful work of art implies a depth of content that supersedes the conscious intent of the artist. Knowledge of formal qualities of a medium assist an artist in implying depth. Programming is the art of feeding a computer a small amount of information that gives the computer the potential to produce a large amount of information. An artist working on a physical artwork, like a painting, experiences a near-equal balance of physical effort and physical result. A good programmer disguises their effort by reducing the size of their code - this is called "elegance." Programming techniques can generate high informational density.
Where art and programming meet, the artist is confronted with the nature of code as a formal quality. This means that the artist must use programming techniques and theory in order to create a work with implied depth. The artist must realize that their actions yield potential (a function) rather than direct result (a brushstroke).
Another formal quality of programming is control over the hardware/software running the code. This means that to some extent the artist or programmer has control over the agency of the viewer/user. The first medium that explicitly "controlled" viewers was video, which directs focus and therefore consciousness. Programming extends this control to offering the user the appearance of free will. The flip side of this is that the user can now contest the control of the artist. Often software requires user input within a set of parameters. The artist must take note of this - how far can this artwork be distorted? How much control should the viewer/user have over the final output? To some extent, the user contests the artist. However, the artist gave the user that ability in how they defined the interactivity of the work. Thus programming in an artwork allows for an artist to create a framework of thought in which viewers/users can test the boundaries of a concept.
When artists work from source material, the natural tendency is to abstract the work by means of reduction to select components. This can be done literally or figuratively. All interpretation leads to a reduction of information in the source; humans and machines prioritize details. However, adding interactivity to the equation allows for the viewer/user to bring their own experiences and preferences (new information) to the artwork.
From these factors, we can infer that interactive digital art is a balancing act of conceptual structure, code and its limitations, and the input of the viewer/user. Because of this complexity, many artworks mimic familiar interactive structures, such as websites, programs and video games. These forms give the artist a framework to develop, and viewers/users know how to approach the interface. Otherwise the viewer/user must be cued and taught how to interact with a work; too much freedom scares away potential audiences and prompts a chorus of "I don't get it" from the bleachers. The interactive artwork must entice and lead viewer/user behavior to some extent. The artist's role becomes one of anticipating and shaping potential experience.