[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: Nonsegregation, No Things

Hi Ted! Thanks for the reply!

Ted Nelson schrieb:
> You offer
> >A recommendation to applitude programmers to split up their applitude's
> >data into "things," as small as possible, which adhere to ...
> The whole point of ZigZag is that separate aspects of
>  the world are *not* separated into different things.

Let me try a fast clarification. Take the text cloud as an example. At
the moment, it is lousily integrated with the rest of ZZ: I cannot, for
example, put a cell from the structure on the cloud, and I cannot put
something from the cloud into the structure. It may be that the cloud
will later be integrated into ZZ better. But there will be other
applitudes; and if these applitudes don't have a common interface, you
can only use applitudes together which are programmed to work together.
That's not what we want.

Example: I have created a graphic in a fractal applitude I programmed
myself, which doesn't have "magic" links to other applitudes, only
adheres to the standards of the overall ZZ system. Fist, I want to put
that graphic into a part of my personal zz structure. The fractal
graphic: not a label "nice fractal," which is linked to the clump of
cells representing the graphic, not a label I put the cursor on and
press a key so that a view with the graphic appears. The graphic.

And not a copy of the graphic, not a thumbnailed .gif or something. The
graphic itself: when I modify it, the picture in my personal zz space
must change. To be exact, you could say I want a CLONE of the fractal.

Next, I want to put another clone of it in a text I'm writing about my
fractal applitude. I write this text using the ZZWord applitude, written
by somebody else. I want to be able to drag-and-drop it right into the
text like EVERYTHING representable in a ZigZag cell, and see it there.

Next, I want to write a small custom animation, which interpolates one
variable of my fractal by one per tenth second. I want to use the
resulting animation the same way as the graphics before: put them into
the zz structure, put them into my text, put them on an item cloud. Use
them any way I want.

The "thing" idea is a possible interface to allow doing exactly this.

> A key problem with the conventional computer world
>  (like OpenDoc etc.) is this segregation.

OpenDoc etc. integrate on the level of *documents*. But documents are
far to big. I want to be able to take a very, very small part of a
document, and use it in another document. ZZ, on the other hand,
integrates on the level of *cells*. This is too small; a user-meaningful
unit often contains a whole clump of cells. A hyperflob, for example, is
represented by a number of cells, as is a vstream, especially of
formatted text. The "thing" idea integrates on the level of the smallest
user-meaningful units, which may be represented by a clump of cells; but
it makes it possible to treat this clump of cells, together with a list
of possible ways to interpret the structure, as the contents of another
cell. It's segregation is a way of creating interfaces so that
*user-meaningful things* can be connected in arbitrary ways with usual
ZZ methods.

> An applitude is a zone of functionality which is *not*
>  split off.

In order not to be split off, the higher level parts of this zone must
be connected in a standard way, so that they can be combined with
similar parts of other zones of functionality. The "thing" interface
would provide such an interface.

Note that with the "thing" idea, you can still do anything to parts of
the zz structure generated by a specific applitude you could do to them
without the "thing" stuff. The "thing" stuff just provides an additional
interface for combining them easily.

> >I've also included a detailed specification of a possible
> >set of interfaces inside this system.
> That's what the whole design is about-- especially
>  figuring out which dimensions and constructs work best.

I know; all I wanted to do was providing a suggestion for a possible
design of what I see as a crucial part of the system: an interface for
connections between parts of the zz structure which have a special
meaning for certain applitudes. :)

- Benja