Text By Numbers. Is it possible to design an interactive text toy development language? Has this been done, or do we have the tools already? Can we do this in the spirit of Design By Numbers or Proce55ing?
Background: After the ACH I have been looking at Design By Numbers (John Maeda) and that led me to Proce55ing. Both of these are programming environments for digital art. Proce55ing seems to be designed for people to make Java Interactive Art toys that are really cool and work over the net. They don’t yet let you download the IDE, but promise it will be open source. The examples are really cool.
Concept: A Text Visualization Toy development environment along the lines of DBN and Proce55ing. This would be a development environment that allowed people to experiment with visualizing texts in playful ways.
Problem: DBN and Proce55ing work because the comp graphics community has evolved a consensus as to what the primitives and how they can be manipulated. When I write “line 10 10 100 100” it is clear that this will create some time of line from two points in a Cartesian space: (10,10) to (100,100). DBN cuts out all the overhead of programming to focus on the simple issues of designing by numbers. A generalized language for playful text visualization would have to be built on some conceptualization of what the primitives are and what the processes are for manipulating these primitives. In principle a generalized text language would be capable of being used to write a word processor or a text fly through. But, do we have the underlying conceptualization with which to formalize a language?
Solution: The beginnings of a solution would be to a) identify the primitives, b) think through the textual processes, and c) then add those to the processes of visualization languages. To some extent most programming languages already have text manipulation routines – we want to insert a slightly higher level abstraction. It may be that we have the solution already looking at us in programming environments like MAX, Proce55ing, and DBN.
a) The primitives would be glyphs, letters, words, phrases, and tokens.
b) The types of routines we would have are:
get – gets text from somewhere
split – splits strings into primitives
place – places primitives in 4 D (3D + Time)
set or change – changes primitives in different ways
change.size, change.style, change.font – sets or changes character attributes
gset or gchange – set or change glyph attributes (this would allow stretching shapes)
path – some way to bind text to a path
In effect we can think of text as a form of paint that can be bound to a path or poured into a shape. The path or shape can then be manipulated using graphics routines.
What we should be able to do with this:
Such a language or library would allow us to create toys that would grab text from a URL, manipulate it, and then paint it in space and time. Further there should be the potential for interactivity so that you can interact with the painted text.