tkMOO-light .. Other stuff

Experimental Work

The current version of tkMOO-light is derived from countless small experiments with UI design and other projects that have been going on for the past few years. The client itself contains much less than half of all the code developed.

This page brings together a few of the better documented experiments and offers an insight into why the client has turned out the way it is today, and what forms it might take in the future.


A simple map is generated from the MOO's database showing links between rooms and the approximate spacial relationship between the rooms. Small icons represent the terrain in each room and coloured dots represent each user's location and how busy they are. The client user is able to click on areas of the map in order to navigate between rooms.

In-Browser chat clients

Sun Microsystems have developed a Tcl plugin for the Netscape and Microsoft webbrowsers. It's possible to use this plugin to create a fully featured chat client.


I'm interested in knowing how to produce simple and useful graphical representations of a room, or of objects in that room. In this simple experiment the graphical representation of rooms of my home MOO are coded in a private data structure (no data is held on the objects themselves) which is interrogated each time I enter the room. The client receives messages from the MOO detailing where to place images on a backdrop and what to do if the user tries clicking on any of the images.

Cold Text plugin

There's an experimental plugin which allows Cold servers to output modified ctext hypertext in a form that the client can turn into clickable links. The Cold Text plugin renders clickable links on the screen in blue, and the cursor shape will change when the pointer moves over it. At at the same time a command to be sent to the server is displayed in the client's status-bar message window. Clicking on mouse button 1 will activate the link, sending the command to the server.

the Cold Dark's ctext system <telnet://>, has been modified to support the text/tkmoo output format, for special objects and the built-in help system. To see it all in action you'll need to install the plugin and connect to tCD. The @set me:content-type command will list the set of available CML formats. Use @set me:content-type text/tkmoo to tell the server to send your client Cold Text.

XMCP/1.1 for Cold Servers

Work is in progress to port the available XMCP/1.1 applications to the Cold Server platform. The Client->Server protocol is unchanged and the applications behave in exactly the same was as their MOO equivalents when accessed with compliant clients. The different configuration of the ColdCore.db has required changes in the in-db implementation of some of the applications. This code has been developed for the ColdCore.3a5 database available from, it has not been tested on Cold databases developed elsewhere. Some of the interface commands are present on the user object and these should probably be moved elsewhere. Cold lacks MOO's Feature Object facility and people are stil debating what shape if any this should take. ColdCore has a user-interface parent which would be a good location for the user interface commands in the meantime.