Syncing with problems

It’s not exactly a new problem, keeping files in sync between multiple computers. And even if there are proven ways like rsync and various replication and backup solutions they often only work well in a restricted environment, such as between servers. For those who have a few client computers where documents, images, or the like must be kept in sync, other ways to do so must be used.

It’s not trivial to get a reliable synchronization function working. There are many problems to be considered. How to detect that a file has changed, how to act on a file being changed simultaneously on two different computers, which version should be saved, how to deal with deleted files and so on. One additional difficulty is that different operating systems have different file systems that do not work the same way and it may therefore be necessary to devise alternative solutions to the same problem.

Various alternatives

SynkproblemThere are a large number of Internet-based options for syncing files, perhaps one of the most famous being DropBox, but online solutions have some serious drawbacks to be taken into account. One is the fact that one can not know where and how files are stored and how safe they are kept. Perhaps unauthorized persons can gain access to information that should be kept secret? Another drawback is that syncing may require much bandwidth and take a long time to complete if large amounts of data needs to be transferred. In addition a working internet connection is needed to access the sync feature. There are of course also advantages with online storage. You don’t need any physical server or storage hardware to sync to and you do not have to worry about having enough storage space on the server (at least if you pay enough for the service). The storage can serve as a backup in case something happens to your own computer, which can be reassuring at times. Moreover, you can access and synchronize files regardless of where you are in the world as long as you have an internet connection.

For those who have large amounts of files to sync, who already have other effective backup solutions, who do not want to store files on some undefined place somewhere on the internet and who already own the appropriate hardware, such as a server with the ability to run a virtual sync server, a local sync solution may be the right choice. And there is always the possibility to provide Internet access to a local sync server should that become necessary. Some other criteria to consider is whether multiple versions of files to be saved or just the latest, if multiple operating systems should be supported, if an open source solution is sufficient or whether there are more appropriate commercial alternatives, and so on. And above all, the reliability of a particular software is extremely important. In this article, I look more closely at a few different free options supposed to automatically sync files and folders between Windows, Mac and Linux.

iFolder

iFolder is despite the name not an Apple product, instead it is Novell that provides this software. It consists of dedicated server and different client software for different operating systems. Unfortunately development and maintenance of the software seem to have ceased more than two years ago. This means that no errors are corrected (unfortunately there are obvious bugs and source code shortcomings that should be addressed) but more importantly that the client software don’t work with the latest versions of several operating systems. For those who are running a mixed environment of systems it is Windows PCs syncing only nowadays unless you choose to use outdated and in some cases unsupported OS versions. The server part of iFolder is more or less only usable on an older version of Novell’s “own” Linux openSUSE which is also a significant disadvantage.

Summary iFolder: Previously a good alternative that’s no longer useful.

Syncany

Syncany was presented as the great new sync software in the spring of 2011. You read in the media and on Twitter about how flexible it was and how simple it was to use. It was possible to connect to a number of different existing servers and had a lot of security features built-in. One of the best syncing softwares obviously, if it hadn’t been for one itsy bitsy detail, Syncany did not exist. Still more than a year after the press releases and public attention not even a single test version has been released. The latest information from the project is four months old and informs that the project is not dead, but one may wonders how lively it is. I think it is extremely unlikely that we will see any working release of the program in the foreseeable future.

Summary Syncany: Forget it, the software does not exist.

SparkleShare

SparkleShare is a client software, using a git server for syncronization. Git is actually a server primarily used for development work and for keeping track of source files and such. This does not mean that you can not use a git server as a universal file storage utility. The advantage is that you get versioning by default and that git is possible to install on virtually any server, although there are some things to consider security wise if you connect the server to any form of public network. Although SparkleShare has not yet reached a 1.0 version, there are working beta versions with a few limitations. There are also a number of known bugs so far, which means that you may want to use the software with some caution, although I have not encountered any problems during my tests. Unfortunately, there is a limitation that can cause some problems. All syncing is performed to folders at a predetermined location on the file system. It makes it somewhat problematic if you for example want to sync previously existing folders. This can partly be overcome by using symbolic links, but it is not a very good solution because SparkleShare does not really like such links and because some folders are less linkable than one would like. An example of this is a users documents folder in Windows.

Summary SparkelShare: There certainly is potential but the software is not quite ready yet.

ownCloud

ownCloud have the option to either use your own server or a web based alternative. The server software is not to hard to install and the clients get’s into action without to much fiddling. ownCloud uses WebDAV for file syncing and also supports CardDAV and CalDAV functionality for syncing calendar data and contact information. With the proper client software you should be able to get a really decent solution working for a variety of syncing needs between computers and mobile devices. But, unfortunately, the software is not quite as reliable as you might think. It is not a production software, it’s more of an inferior prebeta. What I primarily tested is the file syncing capabilities and that part is not usable at all. One obvious problem is that the sync is very slow, about five times slower than any other equivalent softwares. But even more serious is that the client software does relies on timestamps exclusively to determine if a local file has changed or is identical to a remote file. This is a major flaw and the software will never work reliable without implementing file content comparison functionality. Another serious problem is that the client software does not ask what to do if it finds what it believes is a conflict between a local and a remote file, it just creates a new file with additional information in the file name. Suddenly you may have a couple of extra files that you yourself must deal with. You may also suffer from a snowball effect where the conflict files duplicate themselves uncontrollably until all the storage space is used up. During the test multiple files were corrupted, suddenly containing just a short text about a database errors, and some files were missing altogether.

Summary ownCloud: A promising initiative that unfortunately have very serious shortcomings.

No, none of the tested softwares are able to do what is requested. SparkleShare comes closest but does not reach all the way. The other softwares are not even worth taking into consideration at this moment.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>