I started trialling ExpanDrive to see if, compared to Odrive, it would be a more or less viable alternative to running all the different cloud synchronising apps for all the different cloud services I use. That includes Dropbox, Amazon Cloud Drive, Google Drive, and OwnCloud. I’m also looking at it as a way of reducing the data footprint of those cloud platforms on my local machine, so not actually storing files locally is a significant benefit here. Manually removing files from synchronising with my various cloud accounts is a pain, especially since there are terabytes of data in my Dropbox and it takes quite a while to load the full folder tree.
ExpanDrive behaves like an external USB attached drive, or more accurately a series of USB attached storage. Each of your cloud storage systems becomes a drive connected to your computer. As long as you are on the internet, you can then enter these storage destinations anytime and access the files on them as you would any other external drive. Similarly, you can save directly to them just like a regular external drive. The only difference is that the speed of access is highly impacted by the speed of your internet connection.
At the time of writing ExpanDrive has a free 7-day trial (it was 30 days when I first planned to test and compare it, but by the time I began the test it was disappointingly reduced to 7 days). Once the trial expires, you can purchase a single-user license for USD $49.95 or with lifetime upgrades for USD $74.95. So it is relatively inexpensive, with additional discounts for multiple licenses and for educational or non-profit users.
The core features are:
- Connect to multiple storage platforms at once, including most common platforms, with a single application.
- Background file transfers for small files and real-time transfers for large files.
- Native file access just like an externally attached drive.
Supported storage platforms
|Amazon Cloud Drive||Yes|
|Google Cloud Storage||Yes|
|RackSpace Cloud Files||Yes|
|Microsoft Sharepoint Online||Yes|
So after using it for 7 days, I’ve tried to cover off all the things I would do or use on a regular basis.
What I found is:
ExpanDrive has a straight forward installer. It’s to the point and doesn’t mess around. During the installation, you can connect your storage locations if you wish, and once it’s installed, a taskbar icon becomes available. Any clouds you have connected during setup will also now appear as external drives on your Mac, and you can access them just like you would a USB drive.
From the taskbar icon you have the ability to control your connections and monitor what they are doing. You can add or remove cloud connections, eject and reconnect storage locations (useful if they failed to connect for some reason), you can edit the connection settings, you can see any background transfers that are running, and check for updates. Really that is all you need, and it delivers it with a simple interface that looks good as well.
Files seem to upload or download just as fast as Dropbox, Google Drive and Amazon Drive’s own applications. The noticeable difference though is that it behaves like a native file copy. So on a Mac, your Finder file transfer dialogue is open telling you how long there is left and so on. I did notice that in the ExpanDrive menu accessed from the taskbar it does show you what file is presently being used in some way on each cloud drive. So for example, if I were copying image.jpg from Dropbox to Google Drive it would tell me that image.jpg is being downloaded from Dropbox and uploaded to Google Drive.
The downside of this is that the transfer does not happen in the background except for small files. Small files are stored locally somewhere in a cache hidden away while they transfer, and then removed once the transfer is complete, larger files though are not. So you have to maintain your internet connection. For me, this is a big problem. I deal with a lot of data in the cloud, and a good chunk of them are more than 100mb, many are more than 1gb. So this in practice means I need to copy them to a local drive first, work on them, and then when I am done, copy them back. It’s fine for smaller files, but for large ones, it’s just not a practical function to have to manually keep track of what I need to put back and where it belongs. Yes, I will admit that it is great to not have a 13gb video file clogging up my local drive while it transfers in the background. However, I can’t be leaving my laptop connected to the same internet connection in the same place for 1-2 days while I wait for the transfer to complete.
Even more frustrating though is after wider testing with larger files that are transferred in real-time on a 40Mbps upload speed I find that many of them fail. This includes large transfers of smaller files. So for example 60gb of photos that range in size between 1mb and 20mb each. In the case of a single file, it fails because “some data can’t be read or written”.
In the case of multiple files, it fails because “one or more required items can’t be found”.
These errors occur moving data from an internal hard drive, so it’s clearly writing to the destination that is a problem and not reading from the source. Given I have to synchronise thousands of files that are large enough to be real-time transferred this is really a dealbreaker. The fact that if I try and sync a folder with 100 photos in it results in an error and having to manually check the photos to see where it failed and begin again is unbelievably frustrating. Even more so when sometimes it only successfully completes one file. I also noted that on single large files it almost always got right to the end of the transfer and then failed. Upon checking what was on the remote storage location, I found that sometimes there was a 0kb file, and sometimes it seemed like it actually succeeded. Unfortunately, this makes ExpanDrive extremely unreliable for large transfers.
Now, I never saw any evidence of network connectivity issues, but I would expect that it is possible a brief network or internet drop could cause this kind of error. If there was, it was not enough to cause ExpanDrive to drop any of the remote connections themselves. Regardless, though, it is the job of the app to ensure that a network failure is handled in the best way possible for the user. With real-time transfers, I imagine this is difficult, but could be addressed with local caching.
There is a balance, and I think for everyday users ExpanDrive have hit it with small files cached for background transfer and large files done in real time. In practicality, even a 100mb file transferring in real-time on many internet connections these days is not a big deal. However, for my use, I would prefer to have all data cached unless they physically cannot fit on the local computer drive. Something to the effect of, if more than 10% of the hard disk capacity would be available after caching the file that would be ok with me. After all, it would only be temporary until the file finishes transferring. Of course, it would also help if the transfer ever actually succeeded.
I could be wrong, but I have a suspicion that another issue I found could be related. I noticed that often when I created a new folder or deleted a file. After I name a new folder, an “untitled folder” would appear as a new folder in addition to the newly named folder. When deleting files, I sometimes found the deleted file would reappear a few minutes later. This seemed to occur particularly if it was a file that had recently been added.
Within applications, file and folder access is native, so for example in Photoshop I could navigate into my drive and select a location to save my graphic. I could also open a graphic file from the drive. The caveat here though is, logically, the speed is impacted by your internet connection. So loading a large file, especially on a slow connection will take a while. Similarly saving a large file can take a while. Why? Because it behaves just like a physically attached drive, so there is no temporary files or anything like that it is just straight to the cloud. This is the another area that becomes a problem with real time access, especially since there is a risk your large save will fail.
It is great, for small files. In practice though for large files, I find I’m sometimes sitting waiting for a while for it to open or even longer for it to save before continuing on with what I was doing. Even in Finder when opening a folder, I’ve not opened before it does seem to cause Finder to hang until it loads the contents. That said, once I’ve opened the folder once it does appear to open faster each subsequent time so there must be some sort of folder tree caching with an index of the files in it.
Unfortunately, the freezing of Finder and other applications when opening and saving files is a real headache as some folders have a lot of them and may take a while if the internet connection is slow. I found it can cause Finder and other applications to hang and become unusable for a few minutes, the longest, while I was testing was about 8 minutes on a 40Mbps connection while I was accessing a Dropbox folder containing a couple of thousand photos. The freezing also occurs when first single-clicking a file. In Finder, a single click results in loading a preview icon for it. So when clicking a larger file, say a 20mb raw photo, Finder hangs until it finishes creating the preview which requires accessing the entire file. This again can take a little while depending on the file and the speed of the internet connection. It wouldn’t matter quite so much if there were a delay except that Finder hangs, so you can’t use it for anything else in a different window. You just have to wait. Fortunately, you can go off and use another application, such as a web browser. So you can still do other things, you just can’t use Finder, or whatever application it was that you were using to access the file.
This isn’t actually really relevant because everything happens directly in the cloud. Small files that are cached locally before transfer do however appear to be automatically removed once the transfer is complete.
Encryption is not presently available in ExpanDrive, but a brief chat on Twitter does indicate that encryption is something in the works for a later version.
@darksbane no at rest encryption. Right click integration coming.
— ExpanDrive (@expandrive) October 6, 2016
So in the meantime, you would need to pair ExpanDrive with another tool like Boxcryptor in order to make use of encryption.
Memory and CPU usage
With only 7 days in the trial, it does not give much time to test memory and CPU usage, however during transfers, particularly of big files or lots of files I did not notice ExpanDrive using large amounts of RAM and CPU time. It seemed to remain quite reasonable all the time though and never seemed to exceed the amounts used by the Dropbox application with similar data.
Other things of note
I discovered when the trial ended that I was able to continue using ExpanDrive unrestricted as long as I didn’t either reboot the computer or restart ExpanDrive. Unfortunately, while I recognised that I was able to keep using it, I didn’t realise that it would end after a reboot. So I did get an extra couple of days out of the trial, but after rebooting for an OS X update, ExpanDrive informed me that the trial had ended. I do appreciate that it let me continue using it for up to 20 minutes at a time.
I wasn’t expecting this, so it was nice to be able to get back into it from time to time while writing to double check things and to take screenshots.
I have to say, ExpanDrive has a lot of promise, a lot. As an application it is great. Simple to setup, easy to use, and it just works as though it was always a part of the operating system. It’s great to just be able to access all my files across all my cloud platforms as though they are a locally connected storage drive. Even better, it has virtually no footprint on my local storage. So I have access to terabytes of data with a few clicks of the mouse.
Unfortunately, though, for such a promising application it only delivers on small files. Anything more than 1-2mb in size transferred in small quantities (or individually) it just doesn’t work well for. Between application freezes and failed file transfers it just is not suitable for anything more than individual document and image access. I’m actually extremely disappointed in how poorly it performs. The fact that large file transfers happen in real time with almost all failing (including saving large files) and the fact that applications freeze for long periods of time while trying to browse the attached storage are real killers for me.
The application freezes are not something that can easily be dealt with as that is a core operating system problem. It happens accessing network attached storage as well. However, local networks are usually faster than the internet, so it is not as noticeable. Even so, it contributes to making the application unusable for terabytes of data like I need to. I could probably put up with the application freezes if my transfers would complete successfully or at least moved to a background transfer that was capable of ensuring completion. Combined, it’s just not a practical solution.
It is extremely disappointing that such a promising application is really unusable. From my testing, I think it would be suitable only for use with small data sets and small files. I’m thinking documents, spreadsheets and maybe a few images. So if you are using the free versions of various cloud platforms to get more space, you could purchase ExpanDrive to bring them all into one application. It would work quite well in that scenario. In my scenario though where I have 3 terabytes in Dropbox and 1 terabyte in Amazon Drive, comprised of many large files, it just doesn’t work. Not to mention Google Drive and I would like to access Amazon S3, but there is just no point.