My architectural philosophy is: "I need to see it working before I can design it". It sounds a bit backwards but it actually works really well: first you hack together something that does what was required or a small subset of that. Then you look at what you did, how it was done and what sorts of changes are necessary. Then you fix that stuff, either throwing all of the first attempt away or cutting and pasting pieces that are suitable for the second version.
GZigZag is beginning to reach the end of the first stage in some areas, and is even in the second stage in some (ZZPersistentDimSpace file format). However, some things I have not even begun the first stage yet on, like networking and slices. Those will make life interesting in the future ;)
I keep thinking about how to make the first interesting structural text demo. What structure etc. One thing I'd like to do at some point but which may be a bit too difficult right now is to take RFC822 (email&news message format), which is long and needs to be read sequentially because of definitions of the formats etc. and make that into REAL hypertext. So that when you look at a definition, the definitions required to understand it float nearby on the screen, reduced in size and you can click and smoothly move into one of them.