The people   TODO  
The following is some artist notes on what needs to be done for the entire
system. Some of this is just copied from the coders TODO to serve as inspiration
for artists with time on their hands.
PNG should be our official graphics format, as soon as one of us writes a module
for it. For now, we need to stick to what Java knows how to handle - GIF.
This is the top priority for artists, it really needs to be done soon. Everything
else is not needed right this minute.
You will note a little cartoon of me (onefang) in the lower right corner of most of
the modules, kindly watching over what the user does. I will either smile B-) or frown B-(
[currently alternates every time "Copyright" updates]. Artists have the job of
modifying that so that we have finer granularity - onefang helpful, smiling, waiting
patiently, tinkering, frowning, concerned, worried, very worried, panicing,
fleeing in terror. The user is strongly advised to flee in terror long before
onefang does B-). Whatever you do, don't turn me into Clippy.
In fact, we need a new cartoon for this, maybe even a furry. For the installation
instructions we need a "white rabbit". For the logo (see top of the page) I used
the white rabbit version of the onefang cartoon with a frame from the rotating world
overlayed.
The throbber should become a general health indicator. If the network checking
code figures out that a whole country is down, then we should change the color
of that country to red or something, maybe transparent. If any module has a
problem, the rotation should be retarded one frame, that way minor problems will
slow the world, major problems will stop it turning, and fatal problems will
have it spinning backwards rapidly. If the world starts spinning backwards
rapidly, then you are obviously in deep shit B-). The world melting down means
"Death of the Internet, film at eleven.".
The network health checking code needs to be explained a bit. The intention is
to have it perform two tasks. Check the health of the network by regularly
trying to connect to some servers, if they are all down, the network is down.
The other task is to regularly check those things that the user wants to check.
Check for new email from your email server/s, check for new news from your
favourite news server, check web pages to see if they changed, check time
servers to keep your clock sync'ed, check for updates to your matrix-RAD
modules, etc.
When checking the network to see if a whole country has gone down for the
purpose of displaying the correct thing on the throbber, DON'T have the client
do the checking, it's a server job. Say some australian sheep farmer digs up one
of Telstra's main cables with a back hoe, the last thing the australian network
needs is twenty million internet users from all over the world constantly
checking a variety of servers just to see if they are up. If a client suspects
that sort of problem, inform their local matrix-DFS server, a search party of
servers will then go and look for the alleged MIA country, report back to all
the other servers, which will in turn report this info back to ALL clients. That
way we wont even have twenty thousand servers knocking on the door asking 'You
right mate?', only twenty, and Telstra can use their limited remaining bandwidth
to route around the problem until they find the offending farmer.
The throbber should also display the users current network links on the globe,
using lat/long info from DNS servers. If this becomes popular, then maybe host
admins will pull their finger out and add those details to their name servers.
The network link display should be as informative as possible. Use colour
coding, ant animations, and line thickness. See the UI prototype image for an
example.
The throbber should display day / night shadows, with city lights in the
currently dark section of the globe, probably linking the lights to the network
health checker.
"Zen developer, if you sit and stare into space, inspiration will come; if you wait
long enough, it will write itself." When the coder is in the Zen editor, just sitting
and thinking, maybe moving the mouse slowly (in a mandala pattern even), go off and
get the API summary of the current word, and display it tooltip style. Do the same
for the words around it, expanding slowly outwards to cover the whole set of words
currently displayed in the editor. Start expanding the summaries to a paragraph or
two. If full articles are found, add them as links in the summary tooltip. Search
the current project for similar patterns, and display them, then go out and Google
search for appropriate open source snippets. The coder can indicate that some of
these ideas floating in front of her are completely wrong, so ignore those paths of
research and concentrate on the rest. Have the tooltips in a variety of pastel
colours, and drift them around slowly. Eventually, if the coder waits for long
enough, the solution will present itself. Allow modular search algorithms, and
drift patterns. This is called "Zen contemplation mode". Just keep getting
fancier.
Together with the "instant compiling in the editor" mentioned in maintainable.html,
we can use genetic algorithms to search the code space for the current problem
if the coder is quietly contemplating the code as mentioned above. We could use
RFC 2795 to help implement this B-).
"Matrix screensaver" module. Similar to all the other Matrix screen savers,
but better (basics are now done). Have a java, html or skang source file per Z axis level, every one
to five seconds reveal a random character from a random level by putting it into a
horizontal and a vertical scroller on that level, and getting those scrollers to collide
that character at the right place. The two scrollers will then freeze in place, with the
target character in bright white. Any higher scroller that scrolls over an end character
of one of those scrollers erases that end character. Once an entire source file has been
revealed, show it above everything else, say "Zen contemplation complete, saving file" for
a few seconds, and pick a new file for that level. Just saw some previews of the new
Matrix movies, they added different font sizes, I should do that and add different fonts.
Actually, they went 3D, something I can fake. Make an UberMatrix the size of the Frame
after X minutes of inactivity for a "window saver"
3D world stuff should be added, based on VRML. See NAWS for how
that should fit into the 3D world. We need to make it "matrix / cyberspace" like. We should
also make a GURPS like RPG system, real time computer based naturally. Have a localised
combat warp bubble to slow down time during combat. This gives players that are slower
than their characters a chance to keep up. Use the "sit around and pant" recovery period
after combat to buffer back to real time.
The Amiga user interface style guide is an excelent work on how to design UIs,
we should try to follow it. In particular, we should try to follow the annotated
version that onefang has.
This file was last modified on Friday, 12-Nov-2004 10:14:11 EST