Thinker can be used as a collaborative groupware software design tool. The major activity of any software design effort should be the generation of functional requirements and software specifications. This is usually a group effort often accomplished by circulating endless version of documents or by lengthy Email interactions. The groupware features of Thinker facilitates this activity.

The section on the Customize menu selection (of the File menu) explains how to configure Thinker for the groupware features.

Shared files

    The major contribution of Thinker to collaborative editing is the ability to edit shared files. When operating in shared file protocol, Thinker documents are opened read only by all users. There may exist a single Update file which is "owned" by the user that attempts the first modification to the file. Once an Update file exists, only the user that created the Update file can make changes to the file and the changes are not visible to the other readers of the file.

    In private file protocol, only one user can access any file at a time as Thinker opens the file read/write and the Mac OS will allow only one of this type of access at a time. Modifications to files are written directly into the document when the Save operation is selected.

    In shared file protocol, Thinker opens documents read only. The first user to attempt to change the document will cause an Thinker to create an Update file with the same name as the document file with a ".upd" appended to the name. The Update file is in the same folder as the base document. All changes to the document are written into the Update file when the user selects Save.

    Whenever there is an Update file in existence the Apply Updates menu option is active (only for the user that created the Update file). Selecting Apply Updates will attempt to merge the Updates into the base document. Since the Finder does not respect version numbers of files, Thinker must gain read/write access to the base document in order to merge in the updates. This requires that all other readers of the file close it. Some day this awkward situation will be repaired.

    When a user other than the owner of the Update file opens a document the user will be notified by a message in the error message box that the file is currently locked by the owner the Update file.


      Thinker introduces the concept of a Userid to the Appleshare file system. These userids are known only to Thinker. Each user in a collaborative system must have his/her own copy of Thinker which should be customized to reflect the name of the user. See the section on "Customize" under the "File" menu for details of this process. Userids must be chosen to distinguish users if this system is to work properly. There is nothing stopping a user from masquerading as someone else by re-customizing a copy of Thinker. This can be helpful when someone leaves a file locked while on vacation and can be harmful if used carelessly.


      Each statement in a document is tagged with the initials of the user that last changed the statement. This allows readers to understand who is responsible for the contents of a statement. Use the Show Date option to display the initials along with the date when the change was made.


    A group of cooperating users may share a mailbox folder and exchange branches of Thinker documents as mail. These mail messages are read into a Thinker document (your mailfile) so they can contain links to other documents. Instead of the common Email practice of excerpting documents and mailing them back and forth, one need only include a link to the document or branch of a document that your mail references. The receiver of the mail can simply double click on the link to see the referenced material.

    This collaboration requires that all shared documents and mailfiles be in well known and commonly available shared folders. Since the names of files in links are full path names, the names of the common folders must be the same for each collaborator. This precludes the use of Prefixes unless the prefixes are agreed upon by all collaborators.

    The combination of Mail and Shared file protocol makes Thinker an excellent Hypertext based collaboration system. Such a system is described in the document Collaboration included on the distribution disk.

    Mail is composed inside of Thinker and any branch of a Thinker document can be sent as a message as long as it begins "To: userid " where userid is one of the known collaborators. Mail sent to a user is temporarily stored in a mailbox file in straight ASCII so pictures are not transmitted. The mailbox file is assumed to be in the folder named in the customize dialog and should be publicly available (at least to all those who expect to send mail to the receiver). If one is not present, it is created with the name "mail.userid" in the designated folder. When a branch is sent as mail, a time stamp is added at the end of the statement at the head of the branch. It is polite to include a "Subject: subject of message" after the "To: userid" portion of the statement that makes up the branch head. See SendBranch in the Other menu.

    When mail is read it is "imported" into a file in the "Mailfile" folder. This folder can be private to the receiving user. Thinker will create this file if it is not present under the name "mailfile.userid". All new messages are imported under the branch with a label of "new" as in "(new)New messages". Thinker will create this branch if necessary. Set CheckMail and GetMail in the Other menu.

Previous Next