When you have a document or file which needs editing or updating by more than one person, in more than one place, controlling the process to avoid the dreaded “intervening update” problem can be a challenge.
In the early days of personal computers the answer was often the “sneakernet”. Create document or file, write to a diskette, put on your Chuck Taylors and walk it to your collaborator, then get it back the same way. Later, LAN technology allowed the file to be placed on a local server and opened across the LAN for editing, with a lock on the file at the server while editing is being performed. When needing to get beyond the local LAN email attachments could be used, or FTP if you had a pre-Web internet connection. Management of “check-in/check-out” and resolving update conflicts was done by humans, not software.
Sounds like the stone age now, but it beat printing a document and editing with a red pen.
The advent of the Web and its browsers, along with widespread, always-on internet connectivity brought new opportunities for using that connectivity and various software design strategies to support collaboration.
There are three essential design strategies for addressing the problem: pure web app (think Google Drive, née Google Docs), file syncing (think Dropbox), and local editing with central locking (think MS Office+Web Folders/WebDAV). Each has its pros and cons, and which approach will work for a given task depends on factors like file type, file size, editing feature set, and client platforms supported.
The Pure Web App Approach
A real web app runs in a browser using javascript and (more and more often) HTML5. This approach in theory can support any device that has a modern browser, including tablets and smartphones, as well as Macs, Windows PCs and Chromebooks. Perhaps the premier example of this approach is the applications available in Google Drive. Simple documents, spreadsheets, presentations, and drawings can be created, edited and shared easily. Collaboration is as close to instantaneous as networking technology allows. Documents are always in synch. The first time you co-edit a word processing document with a colleague on the other side of the world, and you see edits in real time, you should pause for a moment and marvel at how amazing this technology is.
That’s the good. The bad includes:
- Google buy-in (or buying into some other platform).
- Limited document/file type support. Although you can now upload and download any type of file to Google Drive, you have to convert to a Google format to edit online. You won’t be editing Quickbooks files, for example.
This is using Google as an example. There are other services using the web app approach. SkyDrive from Microsoft for example, or Quickbooks Online from Intuit. The bottom line is all these online apps have limitations, never mind cost (Quickbooks Online costs between $12.95 to over $70 per month).
The File Synchronization Approach
File synchronization apps like Dropbox work by running applications on all your devices, with a special folder that communicates with their servers to propagate new and updated files to other devices. This works well when the only person involved is you, and you have multiple devices (work desktop, laptop, home PC, and sometimes mobile devices). Another plus is the ability to synchronize a wide variety of file types. Each device that will be used to edit or update a file or document will need the appropriate application installed on the device, and all copies or versions of the aforementioned application must be able to handle the internal format of the particular file. For instance, Quickbooks file formats for Windows and Macs are incompatible.
The typical problem for apps using the file synch approach is lack of “file locking” to keep two people from updating a file at the same time. Some file sync apps attempt to resolve intervening updates but usually with little success.
The Local Editing With Central Locking Approach
Server-based file locking apps keep the file on a central server, and use specialized server plus client applications to do the following each time a file needs to be edited or updated:
- “Lock” the file on the server to tell other copies of the special client application that the file is “checked out” for update by someone else.
- Download the file to a client application on a PC, Mac, or other supported platform (usually as a “temp” file).
- Open the correct application for editing.
After editing the process is reversed:
- File is saved locally in the temporary location.
- File is uploaded back to the central server, where it replaces the old copy.
- The “Lock” is removed so other users can take their turn at editing.
It is also a good idea for this approach to offer a “View Only” or “Read Only” copy of a locked file for others to look at (but not edit).
An early example of this approach is WebDAV (DAV stands for “Distributed Authoring and Versioning”). Microsoft refers to its WebDAV support in Windows as “Web Folders”, and supports locks and editing in Office applications such as Word and Excel. The problem with WebDAV and Web Folders is that virtually no other applications other than Office have implemented support for WebDAV locks.
A more general application that can support almost any file type while also supporting central file locking is available from My Docs Online via their java-based Desktop App. The Desktop App uses a “Lock & Open” to lock the file on the central server, downloads the file to a temporary location on the PC or Mac, and then launches the right application based on the file extension. When the editing session is complete the file is saved and closed locally, and then the user does a “Save & Unlock” in the Desktop App to send the updated file back to the server and release the lock.
The ability to support virtually any file type is a strong benefit of this design.
Potential issues with the approach include “network latency”. The bigger the file the longer it takes to download and open the locked copy, or sent it back to the server. The use of Java brings support for multiple operating systems, including all versions of Windows or Mac OS X, but does require Java be installed and kept up to date on the machine.
Choosing an App Whose Design Strategy Meets Your Needs
Which approach will work best for you? It depends on particular needs, and you may need more than one solution depending on particular file types or business processes involved.
If you and all your collaborators already have Google accounts, and if the goal is collaboration on a reasonably basic document or spreadsheet, it’s hard to beat Google Drive. If you mostly use Office, then SkyDrive might be a good fit, and so on. Consider a two-step approach, where, as an example, you use Google Drive to do the early drafts of a document when collaboration needs are heaviest, and then export to a more powerful desktop application for final production.
If your collaboration needs don’t require editing by multiple people, but mostly involve pushing updated versions of files and documents for viewing and reviewing, then a file synchronization app like Dropbox could work well.
If you are using specific file types like Quickbooks, CAD, as well as Excel, Word, or OpenOffice formats, and you need to let multiple people in multiple locations edit without fear of wiping out the edits of a colleague, consider an application like the My Docs Online Desktop App.