Why would I use Cimetric?
· You edit files on several different computers, and don’t necessarily want to store unfinished work in a shared directory before it’s ready for your colleagues to see.
E.g. you might begin working on a paper here on your desktop computer, then continue working on it on your laptop on the train ride home, and finally you might spend some time in the evening finishing your work on your home PC. Cimetric will sync the files among your computers without requiring you to share them with your collaborators before you’re ready to. This sync also serves as an informal backup for your unfinished work.
· You want to ensure that you’re editing the latest version of shared files, and you want to notify your collaborators about which files you’re currently editing (and potentially, what you’re doing to them).
Normally, you and your co-authors might send the latest sections of a paper you are writing to each other as e-mail attachments. This makes it difficult to remember which versions you’ve saved locally, who last edited the files, and who is working on what. Cimetric automatically synchronizes the latest version of shared files, detects concurrent edits, maintains versions, supports advisory locks, and allows you to attach notes to shared files.
· You want to take advantage of varying computer (and human) capabilities.
E.g. you might not want the same files on your home PC as on your office PC; you may also not want to replicate temporary files that are created, for example, by running LaTeX. Cimetric supports filtered sync so that you can replicate content selectively.
· You’ve tried version control systems before, and they’re just too much of a hassle to configure and too hard to use.
E.g. You’ve tried doing this sort of thing using Source Depot—theoretically a source-control platform should support all kinds of collaborations around changing work products—and most of the people you normally write with have ignored you and continued to share files via email. Thus you’re stuck with far more system than you need, and you don’t get much out of using it.
What are the basic ideas underlying the Cimetric application?
The Cimetric application is designed to support the collaborative activities of ad hoc workgroups and the files created, exchanged, and edited in service of these activities. (Paper-writing is an example of one such activity, but there are many others.)
A Cimetric collaboration consists of a network of devices, each associated with a user. Of course, each user may be associated with multiple devices. Devices may be added to the network, or subtracted from it, as needs change. (For example, a user might turn off her laptop at night to bring it home, thus removing it from the network temporarily, and she might add it back to the network at home.)
Each collaboration involves a collection of related files (stored locally in a folder). Files are shared and automatically synchronized at two levels: (1) work in progress is synchronized among a user’s own devices as part of a distributed workset, and (2) work that is ready to be shared with other collaborators is synchronized among all the nodes of the network as part of a distributed repository. Thus repository replicas synchronize with other repository replicas, and worksets synchronize with workset replicas. All editing takes place at the workset level. At the behest of a user, files move between the repository and workset through an explicit check out/check in process. Figure 1 shows an example of a typical system configuration.
Figure 1. An example Cimetric system. Notice that each device has a workset and a local repository replica; worksets synchronize with worksets on the user’s other devices and repositories synchronize with other repositories in the system. A repository may also be replicated in the cloud to act as a system backup, or to maintain an always-available copy
How does Cimetric compare with other applications for this purpose?
We realize that people may already use synchronization software like LiveMesh / DropBox to synchronize among their computers or they may have tried writing papers using a version control system like SVN. Cimetric takes a slightly different approach to supporting the collaborative process:
(1) Cimetric distinguishes between repository replication and workset/working document replication to reflect the difference between sharing documents with yourself (ala LiveMesh), and sharing them with collaborators. In doing so, it also takes advantage of some key differences provided by the Cimbiosys replication platform, such as filtering. Although in principal Cimetric can run on top of different synchronization infrastructures, part of our goal in promoting local use is to evaluate the efficacy of the Cimbiosys approach (as well as to understand more general problems in topology-independent content synchronization).
(2) Cimetric’s version control model is very lightweight because most collaborations in the lab haven’t had good luck with using full-fledged version control systems to do things like writing papers. User-initiated check in/check out allows collaborators to control when others see their work, and to establish a meaningful revision history.
Does an entire collaboration team have to use Cimetric?
The entire collaboration—i.e. everybody participating—does not have to use the application for you to take advantage of some of its capabilities. Needless to say, some of the system’s benefits will be diminished if there’s only partial buy-in.
Can we sync with the cloud?
We have an Azure component so you will be able to use the cloud as a peer (for example, it can serve as a de facto backup, or as a replica that everyone can reach even if all other devices have been powered off for the evening).
How hard is it to ditch the Cimetric application if we don’t like it?
Cimetric uses normal Windows folders as the basis for collections, so if you stop using the app, you shouldn’t have any problems continuing to use your files as-is. The cost of buy-in and opt-out is low.
Can the application be used both in- and outside the firewall?
You can exchange files among peers outside the firewall, and among peers inside the firewall. A device inside the firewall can sync with a device that is outside the firewall by using a repository replica in the cloud (worksets currently do not sync across the firewall).
What happens if the app breaks? Will I lose data?
If Cimetric breaks, your data should remain unharmed. You should be able to restart Cimetric and continue working. A utility for fixing corrupted system data will be available soon, but even as it stands, you should not lose your actual files.
Can I use all of my normal editing applications?
Cimetric is editing application-agnostic. You can edit files in any application.
What happens when there are editing conflicts?
Say I’ve been imprudent and edited the same file on several different computers, or my collaborators and I have ignored one another’s advisory locks and have all made changes to Intro.txt.
Cimetric detects all concurrent edits to a file, but does not try to do anything ‘smart’ to resolve conflicting edits. We realize that most of these conflicts must be resolved by hand—even if the changes may not involve the same text, we do not believe it is wise for the system to simply merge them. For example, even a seemingly innocent change in tense in two different places in a paper may imply that human judgment is necessary to resolve them and maintain consistent tense. Conflicting changes are saved in different files whose names indicate the conflict.
What software will I need to install to support Cimetric?
The only supporting software you’ll need to install on a standard Win 7 is the current release of the .NET Framework (right now, that’s .NET Framework 4).
When you’re ready to install the system, just contact us (firstname.lastname@example.org).
How do I interact with Cimetric?
You can use Cimetric fairly invisibly (as a replicated folder that acts as your workset) while you’re editing files. To use Cimetric’s file management capabilities, interaction is handled through a simple browser that shows a list of the files in the local workset and repository (shown in Figure 2 below). Using the browser, you can start collaborations, join existing collaborations, check files in and out of the replicated repository, and specify which worksets and repositories to sync with. You can also add advisory locks and comments to files to communicate with your collaborators. The “floating” option allows you to add a comment that will always be attached to the most recent version of the file.
Figure 2. The Cimetric browser.
The list on the left side of the browser window shows the files in your workset; the list on the right shows the files in the shared repository. (The workset is simply a folder containing your working files; you specify this folder when you join the collaboration. The folder can be a hierarchy of subfolders.) The blue and green time displays above the workset files list and the repository files list tell you when the files were last synced with a peer.
It is possible to join more than one collaboration on any given computer. Each collaboration uses a separate folder as its workset. Tabs are used to display the files from each collaboration. Note, for example, that Figure 2 shows a browser in which the user has joined two collaborations, Cimetric Status and Social Media Ownership.
Additional documentation will be available soon, but the application is simple, and we hope (with all due optimism) that its functionality is readily discoverable.
Where can I find out more?
We will be writing a paper about the Cimetric application; for now, we have a series of design notes and shared documents about various aspects of the application; we also have publications about the Cimbiosys platform and Cimbiosys-related research. Cathy Marshall <email@example.com> is responsible for supporting the Cimetric deployment and collecting data associated with the system’s use.