macdevcenter.com
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button

Collaborative Editing with Rendezvous

by Wei-Meng Lee, contributor to Mac OS X Unwired and author of Windows XP Unwired
12/02/2003

Rendezvous is an intriguing technology that simplifies certain networking tasks in Mac OS X. It allows you to connect to the network and use services offered by other devices on the network, all without any of the usual messy configurations (see the sidebar for an explanation of how Rendezvous works).

How Rendezvous Works

The first step toward understanding how Rendezvous works is to realize that every device, including your Mac or a printer, participating in a wired or wireless network must have an IP address. This IP address can be allocated from a DHCP server, or it can be self-assigned. When a device participates in a network without an IP address (due to the absence of DHCP or an explicit self-assignment), Rendezvous will automatically assign an IP address using local-link addressing. Basically, it randomly assigns an IP address from a predetermined range of addresses (set aside for local-link addressing by the Internet Assigned Numbers Authority, IANA) and assigns it to the device. The IP address range used by Rendezvous is 169.254/16.

The device then broadcasts a message to all other devices on the network to see if its IP address has already been used by another device. If it has already been used, Rendezvous reassigns another IP address and the same procedure repeats. If it has not already been used, the IP address is assigned and the device is ready to communicate with other devices on the network.

One of the innovative uses of Rendezvous is in the area of collaborative editing, which allows multiple users to edit a document simultaneously, collaborating through the network. In this article I will introduce two collaborative editing tools, SubEthaEdit and iStorm, and talk about their various features.

Collaborative Editing with SubEthaEdit

One of the challenges in working in a group is maintaining version control on the documents that are created. SubEthaEdit from The Coding Monkeys (formed by a group of three computer science students) redefines the meaning of collaborative work. Using SubEthaEdit multiple users can edit a single document at the same time. SubEthaEdit uses Rendezvous to discover other users who need to edit the same document.

You can download SubEthaEdit from http://www.codingmonkeys.de/. Once you have successfully installed SubEthaEdit, an icon will be placed on the Desktop.

Launch SubEthaEdit.

You can start editing your document at the text editing area. To share this document with someone using Rendezvous, click on the Share button (see Figure 1)


Figure 1. Sharing a document

SubEthaEdit will reveal the access control list showing the people who are currently editing this document (see Figure 2).


Figure 2. Viewing the access control list.

For other users who want to share the task of editing the document, they need to run SubEthaEdit as well. To see which document is being shared, click on the Rendezvous button (see Figure 3). Here it can be seen that Wei Meng Lee is editing a document called "Untitled.txt".


Figure 3. Viewing the list of users via Rendezvous

Double click on the document that you want to edit (see Figure 3), and your name would appear in the access control list of the document master (see Figure 4). The document master simple selects the user name and clicks on the check (to allow access) or cross icon (to deny access) buttons.


Figure 4. Granting (or denying) permissions to user using the access control list

By default text that every user types is highlighted with a pink background. To differentiate your text, go to SubEthaEdit - Preferences... and set your own color. You can now differentiate who typed what using the different background colors (see Figure 5).


Figure 5. Multiple users editing a document

Multiple people can now edit the same document simultaneously.

Editor's note: SubEthaEdit, formerly known as Hydra, was a first place winner in the second Mac OS X Innovators Contest. You can learn more about the application and its creators by reading this interview with one of the Coding Monkeys, Martin Pittenauer.

Brainstorming with iStorm

iStorm is a collaborative editing tool from Math Game House Software. It is similar to SubEthaEdit and is available for download at http://www.mathgamehouse.com/istorm/. The trial version allows users to collaborate for 20 minutes; pricing starts at $10 per user for the uncrippled version.

Once iStorm is downloaded and installed, you should see a familiar editing window with a few buttons at the top (see Figure 6). I have highlighted the significant ones:


Figure 6. The various buttons in the iStorm window

To share the document with other users, simply click the Host a document button (see Figure 7):


Figure 7. Editing and hosting a document

You will then be asked for some information such as the document name, your name, as well as your server information (you can just accept the defaults). To share the document, click Serve (see Figure 8). Your Mac will now be the hosting computer for this document.


Figure 8. Sharing the document

At the bottom of the screen you should see a green button (see Figure 9). The green button signifies that the document is available for editing. Since, at the moment, you are the only one editing the document, you have full control over the document.


Figure 9. Editing the document

Let's assume that another user is using iStorm on another Mac. To edit the shared document, the user would just need to click on the Connect to a shared document button. The documents available for edit would be shown (see Figure 10). By default, iStorm uses Rendezvous to locate other users on the local network. You can disable Rendezvous and manually enter the IP address and port number of the hosting computer. Select the document you want to use and click Connect.


Figure 10. Connecting to a shared document

Pages: 1, 2

Next Pagearrow