The Collaborative Virtual Workspace
Now we need to get a client. Since many computer platforms normally exist within any given area, we've built client programs that run under Unix platforms as well as Microsoft Windows. Even though users may prefer to work on different systems, they can still collaborate using CVW.
Two versions currently exist that can run on a Linux system: the original Tcl/Tk client and a newer Java client. Both are available in source distributions, but only the Tcl/Tk can be downloaded as a binary. Additionally, only the Tcl/Tk client can support administration functions, although we hope someone will want to fix this soon. For this reason, I'll discuss the installation of the Tcl/Tk binary distribution. However, I will touch on the Java source distribution later.
Download the Linux client distribution and save it into a temporary directory. For the Tcl/Tk client, retrieve the package named cvw-tk-client-3.2.0-x86-Linux2-libc6.tar.gz. Move to the directory where you want the client software installed, then run tar xvzf package_name. In addition to the client software available from our web site, several tools can be obtained from other sites. These include vat for multicast audio-conferencing and vic for multicast video-conferencing originally developed by the Lawrence Berkeley National Laboratory (www.lbl.gov). Currently, we don't include these tools because we don't have permission to redistribute them. Once this hurdle has been cleared, we hope to include everything within the client package.
Another important configuration step for the client is to modify the mime types. CVW uses a simple mime lookup to associate file types with their parent application. This file can be found in the installation directory under lib/mime-db. To add new mime associations, simply provide an application to open a given document type for both reading and writing.
The README file fully details the remaining configuration required to connect to your CVW server. Once completed, executing bin/xcvw from your installation directory will start the application.
A default login of “User: admin, Password: admin” will allow you to log into your CVW server and CVW. After snooping around for a minute, you need to accomplish a couple more configuration steps.
The “Admin” menu on the main menu bar provides access to the system administrator functions. Open the “System Settings” menu selection and provide the requested information. Note you should provide a multicast prefix that will not interfere with other multicast users on the network. Multicast prefixes can range from 224.0 to 239.255.
Before proceeding with commands you can use in CVW, I'll describe more about your virtual user. Individuals will usually be assigned a normal user within CVW. This user has the ability to do a variety of things: move around the environment, create and read objects, place objects in a room or carry them along in a carrying folder, and communicate with others within the MOO. The users may also modify their description to personalize their appearance to others. Additionally, a user may be made the owner of a room, allowing him or her to modify the access list and the description of the room.
A user can be given additional privileges to become a programmer within the CVW environment. Although CVW doesn't recognize a programmer as having additional capabilities, a programmer can modify code and create objects within the MOO environment.
The CVW admin is the analogue of a MOO wizard. In other words, this user has the most capabilities within CVW. The admin has the ability to: create rooms and users, modify objects, assign privileges, and configure the CVW environment. Although admin capabilities can be assigned to anyone, it's advisable to limit the number of people having this permission.
After logging into CVW, you enter a building with several floors. On each floor, you'll find eight rooms and connecting hallways. Unless permissions intercede, you may move freely around the building. You may also pick up and examine objects that exist within CVW.
Now let's try it out. For the following examples, enter the MOO commands in the input window just below the scrolled text area. To find both extra information and examples, use the help command, either alone or in conjunction with the command you want to use:
First, to speak to everyone currently in the room, use the say command:
say Hello, WorldYou may also direct speech to a particular person. Although others may see this conversation, the receiving party will notice you are directing the conversation to them.
to admin HelloFinally, to communicate privately so no one else sees the communication, use the whisper command, or if the user is in another room, the page command:
whisper Hello to admin page admin Hello page admin !HelloThe last example displays a pop-up to the admin user. This command makes your comments more noticeable to the receiving party.
As in everyday human communications, actions sometimes speak louder than words. MOOs by default allow for these kinds of communications. Called an emote, a user may let their actions speak for them:
emote types furiously at the keyboard
Shortcuts for many of these commands can be found on the user images. By right-clicking on a user image, you will find a pop-up menu with several communication methods, along with an information selection. This menu will generate directed communications with the selected individual that can be seen by everyone.
Two other popular communication methods supported within CVW are audio and video. CVW implements these capabilities by tying in two common mbone tools from the Lawrence Berkeley National Laboratory: vic and vat. To launch these tools, press either the Video or Audio button on the top toolbar. You will notice no configuration will be needed to initiate conferences with anyone else in the room. CVW automatically handles session management tasks. Naturally, your Linux kernel will need to support the audio and video drivers necessary for your particular hardware to use this functionality.
You may not always be able to converse with others over CVW, either because you're away from your desk or busy on something else. CVW provides commands that allows you to let other users know you're unavailable:
idle gone fishing busy working on project proposal
CVW provides two methods for moving between rooms. First, you can use the navigation commands (north, south, east, west, up, down) to simply direct where you would like to go. The go to command can also move you automatically to your destination:
go to CVW Help DeskHowever, you may have noticed the CVW map button. Clicking on this button will open a separate window with a blueprint of your building. This map will also allow you to navigate around the building. You can choose the floor you wish to see by using the slide bar at the bottom of the window, and double-clicking on a room allows you to move quickly between rooms.
Once in a room, objects currently residing in the room will be listed in the Contents window. Some of the objects you'll find include folders, documents, whiteboards and URL links. Menus for these objects can once again be found by right-clicking their icons. Options normally found on these menus will allow the user to view, copy, make a shortcut (link) or delete a document depending on the user's privileges for the item. You may also take objects from the room, which will move them to your carrying folder, and also drop items from the carrying folder back into the room.
The CVW client will allow you to perform many more actions with documents and people. These include importing and exporting documents, getting a listing of people connected to the server, finding particular people or items, and even creating groups of people to make communication easier. Rather than stepping through the myriad of options available (which can take four hours to teach), I'll instead point to our user-guide, CVW 3.0 Unix Client Quick Reference Guide, which can be found at our web site.
- Bruce Nikkel's Practical Forensic Imaging (No Starch Press)
- Transitioning to Python 3
- Progress on Privacy
- Stepping into Science
- Linux Journal December 2016
- Radio Free Linux
- The Tiny Internet Project, Part II
- CORSAIR's Carbide Air 740
- FutureVault Inc.'s FutureVault
- A Better Raspberry Pi Streaming Solution