Whiteboard-0.91 : Whiteboard application in Tcl ------------------------------------------------ What: This is a whiteboard application that runs on a TCP/IP network. It consists of a simple drawing and writing program where you share an area with all other whiteboards you are connected to. This way you can share information between friends. Besides drawing and writing, it is possible to share images as well. Unfortunately only gifs so far. It is made in Tcl/Tk so you need to download and install Tcl/Tk from www.scriptics.com if you do not already have it installed. It is written in Tcl only, but is more fun with extensions (see below). It is necessary to have access to a unique server port on remote machines, so it can be problematic if you are behand a firewall. There is no central server needed; each application has also its own server. Everything needed is contained in the application. Each connection takes place pairwise between clients. Running: Unix/Linux - just write Whiteboard...tcl at the command line. Windows - either doubleclick Whiteboard...tcl or launch the wish application and choose File/Source and pick Whiteboard...tcl. Mac - launch the wish application and choose File/Source and pick Whiteboard...tcl. Testing: It is to be considered as a developer release, so beware. *It is far from being bug free*. It has been developed and tested on MacOS 8.1, LinuxPPC R4, and various Sun/Solaris platforms via MacX. Some testing also on Windows NT, but very little. I have never tested it on the "open" internet, only on an intranet; beware! The Tcl verisons used are 8.0-8.2, very little on 8.3. There are no specific support for the new item features in Tcl8.3. A good way to test it is to start two wish shells with a Whiteboard in each, but to use different server port numbers. This works on a single machine (LinuxPPC), and is good to use for debugging if only a single is machine available. If you want to help debugging, put the variables 'debugLevel' and 'debugServerLevel' in Whiteboard...tcl equal to 2 or 3, and make the minimal action that reproduces the bug. I would judge this as an alpha quality application, not beta, which is reflected in the version number ( < 1.0). Said once more, what remains is serious debugging on real networks, and better error handling. Macintosh: Increase its memory partition to at least 6MB. Name: Its name, Whiteboard, is generic and likely to change in the future, possibly to "The Coccinella" (latin for ladybug). Options: Some options for how it works are set in the beginning of the source code itself. It should be easy to understand what the options mean. I have put a bunch of options in the preferences menu. In the future, some will end up in an easier to reach place, while others will be put in panels by their own. Documentation: The source code is the only documentation. At least so far ;-) Packages: QuickTime: QuickTimeTcl is available on Macs and Windows. You need to have QuickTime itself which is free from Apple. MacSpeech: is only available for Macs. You need PlainTalk (free from Apple). Then it speaks; very cool. Snack: for Windows and Unix/Linux; supports a number of audio formats. Not yet finished. xanim: is not a plugin but an application on Unix/Linux systems that is used for playback of movies in the whiteboard. These plugins should be available from www.scriptics.com, at least for Tcl8.3. Work is in progress to enhance QuickTimeTcl. Non-latin character sets: On Macintosh with a "Chinese Language Kit" it is possible to write chinese, at least does it look as chinese to me. But you need to import the correct font from the Preference menu. Be sure that all connected remote clients also have this font on their system; I don't think it needs to be imported. Probably any "Language Kit" should work. Known Bugs: 1. I still don't trust the safety check in the server; there can be cases with special characters ( {}[] etc ) that screw up the server. If this causes any problems, put 'prefs(checkSafety)' equal to 0 in the beginning of Whiteboard...tcl. 2. The item numbering is not always unique when one client is restarted and reconnected to a previously connected client. 3. The image handling is not very good and needs to be restructured. Resizing images does not work properly with all operations. 4. The cancel button in the progress window produces an error because a fileevent from fcopy is still left, which produces an error when trying to copy to an already closed socket. 5. If large items are transported between clients, such as images, or movies, operations on these items before they have been completely received by remote clients are lost. 6. The geometry managment of the total window size doesn't look very good. In particular, if a minimum size of one client is smaller than another client, the latter clients min size is not respected. 7. The central server network configuration is not completed and will be rewritten from start to be a standalone server. 8. There are numerous "details" that need to be fixed. After all, it is an alpha quality software! As always, the code needs cleaning and restructuring. In particular, regional namespaces should be used, and the main script be split into smaller files with their own namespaces. Distribution: It is distributed under the standard GPL. It is copyrighted: (c) Copyright by Mats Bengtsson (1999-2000). Buttons are stolen from Gimp and slightly changed (Thank You!). The progressbar widget is from Alexander Schoepe. The Beetle: Don't be afraid for the 'Coccinella' (ladybug), it's tame! Who: It has been developed by: Mats Bengtsson Hamngatan 21 SE-58226, Linkoping Sweden matben@lin.foa.se phone: +46 13 136114 #-------------------------------------------------------------------------------