Briefcase: The File Synchronizer

Briefcase is a Windows 95 application for keeping files up to date when you have your laptop away from the office. In the spirit of cross-platform compatibility, Microsoft has now added this functionality in Windows NT 4.0.

My first reaction is some surprise. Briefcase is for users who are away from their networks. One area where Windows 95 still scores heavily over Windows NT 4.0 is in laptop support for such features as hot-plugging PC Card (formerly PCMCIA) and power management. Nevertheless, many users want NT on a laptop, and file synchronization is a big issue.

The basic concept is to create a special area where you can place copies of files. When you're away from the office, you work on the copies. When you get back, the Briefcase checks whether your files are the same as those on the network. If you've changed them, Briefcase can update the network copy. If the network has a newer version, Briefcase can bring the updated data down to your machine. If changes have occurred at both ends, Briefcase can offer a conflict-resolution schema.

Briefcase in Operation
Let's see how Briefcase works. You open "My Briefcase"--the default object name--from the desktop. Then suppose you create a new Word document called "Word Document" in a folder called "Source Documents." Screen 1 shows how easy Briefcase setup is.

Once you store the file copy in the Briefcase, you can leave the office. The Briefcase time stamps both the copy and the source. Away from the office, you change the file stored in the Briefcase. Because you're not connected to the network server, you can't change the master version.

If you change the document on your laptop, My Briefcase reflects that fact when you select View Refresh. The Status field changes to "Needs updating," indicating that the copy in your Briefcase is out of synch with the last known copy on the server. More accurately, the change in your copy's Modified Date reflects that changes have occurred.

Resynchronizing the file is also easy. When you're back in the office, just reconnect to the relevant servers and select Briefcase Update All.

A dialog appears that shows the status of the changes. The simplest option, which screen 2 illustrates, is to change the copy on the laptop, so the server copy remains untouched. The dialog tells you the Briefcase version is more recent than the network version and suggests replacing the original with the working copy in the Briefcase to synchronize the two.

If the server copy changed while you were away from the network and your Briefcase copy remained untouched, you get the other version of this dialog. It tells you to copy the file to the Briefcase, as you see in screen 3.

No Conflict Resolution
These two scenarios are straightforward. Briefcase detects a change in the date on either side and makes the appropriate suggestion.

But what happens if you make changes, and changes occur on the network? Because both sides of the equation have changed, Briefcase asks you to choose manually. The default setting is "skip," meaning that you don't want to update one version automatically. Screen 4 shows this setting. Two other options are the replace options already mentioned. As you can see, no conflict resolution is built into the combination of Briefcase and Office 95, so the combination's usefulness is blunted.

Does the situation improve if you work with composite documents? Let's see. Suppose you check out a Word document that has an Excel table embedded in it. If you change the Word part and your partner in the office changes the Excel part, can Briefcase create a new composite document? Unfortunately, not. Briefcase looks at the single structured-storage document and makes its decision based on that version.

This situation is extremely weird. If you check out a Binder Object with an Excel object and a Word object in it and one person changes the Word object while another changes the Excel object, Briefcase can merge the two sections. Binder Objects are just structured-storage files like Word files, Excel files, PowerPoint slides, and so on (see "Exploring Cairo: Object File System," Windows NT Magazine, December 1995). Why Briefcase can't merge other structured-storage objects isn't clear. There's no good reason why it shouldn't work.

Be warned, however, that Binder Objects can't resolve conflicting updates within one document. If you change a Word document and a colleague changes the same document, you can't merge those two versions of the document automatically. You have to do a classic file compare to find out what has happened.

If you have Microsoft Access 95 on your computer, it can take advantage of Binder Objects to do replication. Access uses a sophisticated engine for replication, and it doesn't require Binder. Access can fire off all the relevant replication systems for you as part of a unified user interface.

Is Briefcase Worthwhile?
Briefcase is an interesting idea that works. It helps keep track of work in progress and is ideal for updating rarely changed data. Databases of phone numbers and work that others are doing in office applications are good candidates.

My main concern with Briefcase is that it makes an "application" out of a task that really should be built into the file system. Knowing whether changes have occurred and how to replicate those changes among users is the file system's job. Using an application program to provide this functionality merely points out the file system's shortcomings.

When Microsoft gets its Cairo act together, some of this functionality should migrate to the file system, where it belongs. For example, the ability to deconstruct embedded structured-storage objects should let different people work on individual parts of a composite document at once. Currently, only one user can have read/write access to a structured-storage file, while everyone else is limited to read-only, even though the design allows for multi-user access.

The implementation of Public folders in Exchange Server gives us an idea of what Microsoft is thinking. You can replicate documents around an organization, but the level of conflict resolution in Exchange Server is woefully weak--and it doesn't help the intra-document problem. A lot more work needs to be done on exposing the inner contents of documents to their outside-world containers. Then, automatic conflict resolution will be possible at the individual word level within, for example, a word-processing document.

The simple fact, that in 1996, we are relying on the mindset and base technology of 15 to 20 years ago speaks volumes for the lack of attention that the major software vendors have paid to the actual uses of data in the workplace. It's about time file systems were considered active repositories instead of dumb filing cabinets. Replication and conflict resolution are just two of the problems that need to be solved.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.