Frequently Asked Questions

Q:

Why did Diagram! change their extension?

A:

NEXTSTEP is not very intelligent about file types. The Workspace Manager's sole means for identifying a file type is through the filename extension. There are effectively only two ways to discern the version of a file: open the file and read it, or use a different filename extension for each successive version of the file. The former solution would be very acceptable if we were solely concerned with opening and reading Diagram! files in Diagram!, but the issue isn't that simple.

With Diagram! 2, we radically changed the file format. This wasn't merely done on a whim, but rather to provide a great deal of important new functionality which has been repeatedly requested by users. Here's a brief comparison:

Why all of the changes? We wanted to make our documents "open" so that other developers could use data stored in Diagram! files, or even build Diagram! files from other programs. People are doing this today, for applications like network monitoring and management, CASE, and documenting dynamic systems.

We use this capability to do things like open TaskMaster documents as PERT charts in Diagram! 2.

These changes alone didn't absolutely require that we change the filename extension, but seeking the "open"-ness did. In order to make it possible for people to write filter services and other applications to read Diagram! 2 files, we had to change the filename extension so that those developers could identify valid files without having to read and validate the files themselves before acting on the data contained therein.

Also, it seems a good idea to provide as much information about a file type as possible to a user. We thought that it was important for users to be able to visually distinguish between Diagram! 1 and Diagram! 2 files (show different icons for the different file types) given the dramatic differences between the file formats and feature sets of the two programs. The only way to give this visual distinction in the Workspace was to change the filename extension.

The only other programs to create major revisions under NEXTSTEP have been cross-platform programs such as Wingz and FrameMaker. These programs have never been famous for taking specific advantage of NEXTSTEP-specific features or addressing NEXTSTEP-specific issues like the ones discussed above. The fact that Diagram! may have been the first program to create a new filename extension for a new revision doesn't make that the wrong thing to do; it does raise issues which have not been encountered previously, such as the problem in saving translated files which were previously checked into BDMS as .diagram files.

Concurrence 2 will not change its filename extension, even though the file format changed. The biggest change in the file format for D!1->D!2 was going from a single file to a doc wrapper. Since Concurrence 1 already had a doc wrapper, there was no need to change the file extension.

Valid for 2.x



Product literature and demonstration software are available. For more information about this or any other Lighthouse Design product, send e-mail to info@lighthouse.com.


Copyright 1995 Lighthouse Design, Ltd. 2929 Campus Drive, San Mateo, CA 94403 USA. All rights reserved.