You Either Think Graphically or You Don't

Rob Cozens rcozens at pon.net
Mon Nov 21 14:28:12 EST 2005


Hi Greg,

I found your questions and the previous responses quite 
thoughtful.  Rather than give you brief answers to all questions, I 
would like to focus on just one: why does it take so long to bring a 
software project from concept to completion?

Development of software that interacts with, or presents information 
to, human users is both a creative process and a series of  logic 
puzzles.  One begins with a goal or concept and materializes same in 
the medium with which one works -- in this case computer input and 
output devices.

But software development is different from creative activities such 
as painting or composing music because:

(A)  Virtually all software creations require some physical user 
interaction beyond simply passively experiencing them, and

(B)  Most software creations have one or more utilitarian goals; so 
they can be fairly judged "correct" or "incorrect" by others that the 
artist/composer.

Implications of this are:

* The creator must guide the experiencer through the experience

* The creator must take into account that the experiencer's 
participation may not be voluntary (eg: business software)

* The creative process does not end when the experience achieves the 
creator's goals: the creator must anticipate how a user may diminish 
the experience (eg: by hitting a wrong key or entering nonsensical 
responses) and include within the creation mechanisms to prevent such 
situations or guide the experience gracefully back to the intended state.

*  The creator must compensate for the fact that different computer 
hardware configurations tend to present the experience differently.

*  A software work in progress often presents little in the way of 
physical manifestation as to how it's coming together until late in 
the creative process.  One can see paint filling canvas and hear the 
progress of a musical composition; but it's often well into the last 
stages of pre-alpha testing before one has a sense of the potential 
quality of the experience.

A corallary of this is that better or enhanced mechanisms for 
improving the experience, achieving the original goals, and/or adding 
additional functionality are routinely not discovered until late in 
the development process.

* A software creation is often not static, but is modified over time; 
so the creative process must include instructions for others or notes 
to the creator to facilitate future changes.

* The software creative process also requires preparation of written 
instructions to people you will never meet telling them how to experience it.

Rob Cozens CCW
Serendipity Software Company

"And I, which was two fooles, do so grow three;
  Who are a little wise, the best fooles bee."

  from "The Triple Foole" by John Donne (1572-1631)




More information about the use-livecode mailing list