"Starting the projector, we felt the walls of our minds shake. " -- Hollis Frampton
We are all Projectionists
some notes on software construction, interactivity, and media archives
In the parallel world of the Ideal Audience, we would all arrive well before the film is scheduled to begin. We would crowd into the projection booth and, by the light of a small lamp, we -the Ideal Audience - would wrap the flat strand of film around toothed gears and rollers, curl and tuck it into the projector gate and coax it through its final stretch onto an old dented reel. Slipping coins under a corner of the machine, we square the faulty tilt of the image and zoom the lens to let the projection light fill the screen. We advance the film as we test the volume and balance the sound; we focus the lens, then casually watch the film in reverse as we rewind the film to its starting point. We are ready.
When it becomes time to begin the film, we push the switch forward, lamp on. We re-test the focus of the lens and slightly adjust the sound level. Then we lay down on the floorboards, blanketed by the din of movie soundtrack mixed with racket of gears, hammering film claw, and celluloid scraping against the revolving reels. The specters on the screen "take care of their own", while we, the Ideal Audience, together close our eyes, receptive to the light flickering through eyelids as we transition into an inward communicative sphere often mistaken for sleep.
Not Formless but Incomplete
The Cultural Producer who samples from the raging flows of media detritus - endless satellite feeds, cable and broadcast transmissions, and the sedimentary layers of these through the past 25-50 years - becomes the heroic Luther, wresting deconstructive (re)form(ation)s out of the desultory, formless industrial wasteland. Deconstructive film and video-making demonstrate the inherent formlessness of mass media by making it into the "new Nature."
However, the same quarter-century period that spurs these sampling tactics of protestant (deconstructive, oppositional) media-making has also seen the expansive growth of media archives outside the contexts of industrial or commercial production. The media artifacts of cultural archives resist deconstruction through their state of "incompletion". These ubiquitous archives - home movies, surveillance, porn, editing out-takes, activist interventions, agit-prop, and video witnessing - are not forms that deconstruct themselves, but forms molding forms in an ongoing process of deferred completion, passed on from one Projectionist to the next, generation after generation.
Finite State Machines
Software construction offers a form of aesthetic-cultural practice which involves the staging of intensified forms of perception. The quotation exercise above - hybridizing the poetics of cinema with the input-output calculus of economic modelling - suggests (however obliquely or tongue-in-cheek) possible traces in a story of lineage.
It is more than "serendipity" (the term used in the groundbreaking 1968 exhibition of computer art, "Cybernetic Serendipity") that antagonistic currents of cybernetics and surrealist-inspired art/anti-art movements begin to weave connective tissue in the "expanded cinema" of the 1950s, 60s and early 70s. Since that time, cinema practices have expanded to absorb the structural component of the computer interface via the viewer-performative, multiple genres of computer gaming.
With the intensification of modes of human-computer feedback through development of the Graphic User Interface (GUI), computer gaming genres extend cinema practices into a domain where Deren and Leontief can encounter each other in the suggestive interplay of inputs and outputs, actualities and simulacra. The GUI (intriguingly described by Allucquère Rosanne Stone as a "structured absence") presents a stage and a set of actions for the viewer's (the inter-actor's) performance. Interactivity extends systems of narrative, via "finite state machines" (FSMs) - code-object inputs and outputs simulating a kind of "artificial intelligence", in responsive engagement with the performance of the inter-actor as well as with other FSMs.
Software design, as cinematic form in this viewer-performative sense, resists the end-product orientation and generalizing approach to the design and use of digital video software editing tools. Software designed for the staging of the inter-actor's performance is in antagonistic relation to the design of professionalized software applications (Media 100, Avid, and others) for the way that these shrivel and subordinate the expansive potential of Interactive Modes of Projection to the Industrial Mode of Montage.
"HF Critical Mass" script
--"HF CRITICAL MASS" Software
-- This script is applied to a Quicktime video sprite.
--This behavior applies a playback pattern algorithm to the video sprite.
-- The pattern involves alternately
moving the video forward a certain length - temporally playing point 'a'
to point 'c' - then
--1st. The script determines the duration (measured in tics, 60 tics per second) of the castmember video. There is a variable parameter for selecting which castmember is being referenced. When the video reaches that point, then the video is over. However, the video needs to "doubly" reach that point because of the looping repetitions. Therefore, the video is over when looping is complete.
--2nd. The script has a variable parameter that is the temporal amount (measured in tics) that the video plays before "rewinding".
--3rd. The script has a variable parameter that is the point in the video where the playback algorithm starts to apply. (This allows the algorithm to 'skip' such things as credits). There is also a variable parameter for a stopping point, allowing algorithm to be applied only across a range of the video.
--4th. The script has a variable parameter that is the temporal amount (measured in fraction of the forward amount) that the video "rewinds" before moving forward again.
--5th. Whenever the video advances forward, the sum of its starting point (movieTime property) plus the variable (2nd) gets put in a variable.
--6th. Every frame the movie checks the video's movieTime property against the variable described in 5. When the movieTime is more than the variable then the movieTime gets reset (the movieTime minus the value described in 4). The rewinding action will occur through the video jumping to a point indicated by this new movieTime property value
property videoSpr, videoMemNm, videoDur
videoMemNm = videoPlaybackMemberNum
if the framelabel = "relocate" then
controllerBarSpr = sprChannelForRewindControl
member(videoMemNm).directToStage = 1
if tempStartFlag = 1 then
if videoSpr.movieTime > sprite(controllerBarSpr).width
if videoSpr.movieTime >= stopTheAlgorithm - (forwardAmt )
if flagMovieRate = 1 then
Images from video documentation by Julie Zando, from her archive of 1992 Buffalo Women's Clinic Defense videos.
"We are just trying to slow them down!"
Software such as "HF Critical Mass", "AG Strain" - both based upon the earlier "Surface Tension: Applied Memory Mutation Software" - have been designed to be used with archives: video 'raw footage', unedited documents, movie "out-takes", surveillance tapes, porn, home movies, etc. The inter-actor samples the digital videos in a reconfigured timeframe - literally projecting her or his interaction, working with the software as an improvisational performance or presentation instrument.
"Surface Tension: Applied Memory Mutation Software" was conceived at the invitation of Hallwalls Contemporary Arts Center, in Buffalo, New York, (Media Curator, Julie Zando), to produce a work for the presentation of video documentation gathered in Buffalo, New York, during the legendary Defense of Women's Abortion and Reproductive Health Clinics during the 1990s.
While the pretext for "Surface Tension: Applied Memory Mutation Software" was the existence of these particular activist videotapes, the concept behind the software has its conscious lineage in 1970s film experimentation as well as in late 80s/early 90s tactical video practices. The software title derives from one of the works of the late Hollis Frampton - a film titled "Surface Tension". The software's algorithms translate and test some cinematic structures used in several of his films from the 1970s. An additional algorithm, "Strain Andromeda, The" is based on a 1992 video of the same name by the video artist, Anne McGuire.
In the words of a 1992 Clinic Defense organizer, (documented in one of the videos from the archives) as she is training volunteer abortion clinic defenders how to stand off the vehement rush of anti-abortion crowds, without themselves getting arrested: "We are just trying to slow them down!" The sum total of clinic defense tactics as well as (surprisingly) the tensions within the factions of defense organizers/volunteers, with respect to those tactics, meant that the "slowing down" became much more than one particular tactical goal. It became the operative component which focused attention and galvanized purpose through a complex disputational process (with rival predicitive models of outcomes) documented in the video archives.
Labors of Affective Projection
"HF Critical Mass", "AMG Strain" and "Surface Tension: Applied Memory Mutation Software" offer the inter-actor a means to generate perceptual objects in collaboration with the machine. That is, these works of software art offer interactive modes of affective projection. In this way the software serves the attentional moment: slowing things down by means of a "surface tension" on the flows of past, just-past, and present.
if flagMovieRate = 0 then
-- Parameter passed in by another sprite broadcasting with "sendSprite" message, based on whether the interactor has moved the moveable sprite across the middle boundary between forward and reverse.
-- NOTE: in order for the parameter to be read as a value, use keyword "me". Otherwise the parameter is understood as a new object instance, rather than a humble passed-in value.
if setDirection = 1 then
criticalMassList = [:]
addProp criticalMassList, #videoPlaybackMemberNum, [#default :0, #format :#integer, #comment:"slot into which video is imported for playback algorithm"]
addProp criticalMassList, #videoForwardSome, [#default :120, #format :#integer, #comment:"advance how many tics, 60/sec"] addProp criticalMassList, #someFloatNumber, [#default :.90, #format :#float, #comment:"rewind by what fraction of forward amount"]
addProp criticalMassList, #startThisPoint, [#default :0, #format :#integer, #comment:"when to begin algorithm"]
addProp criticalMassList, #stopAtThisPoint, [#default :#0, #format :#integer, #comment:"stop algorithm this amount prior to end of clip"]
addProp criticalMassList, #manipulatorSpr, [#default :#0, #format :#integer, #comment:"sprite that viewer uses to change playback"]
-- The following property is to accomodate user-interface for manipulating the video:
addProp criticalMassList, #sprChannelForRewindControl, \ [#default :0, #format :#integer, #comment:"leave at 0 if viewer does not control, else spriteNum that changes length"]