AeroFS is invite-only software that promises ‘File sync without servers’. That is, it is Dropbox without the Dropbox servers. Using peer-to-peer technology and end-to-end encryption, AeroFS allows you to sync files between your computers without the need of any third party. This means that you could set up AeroFS on computers on your home network, switch off your internet connection, and files you place in your AeroFS ‘libraries’ would still sync between them. They say that this will also work if their servers are down, but I notice that currently you need access to their servers in order to initially set up a computer, so they are needed for something.
To make money, I believe AeroFS is going to offer accounts that additionally sync ‘to the cloud’, giving you that extra security (they also offer 1GB for free). This sounds like a pretty good idea because it means the services they offer match up more with their costs (unlike Dropbox, which presumably makes a loss off every free account).
Unlike Dropbox – which uses a special folder in your home directory – AeroFS mounts a virtual disk on OS X. This virtual disk contains a folder for each of your ‘libraries’ – AeroFS’s name for shares, much like SMB or AFS shares. AeroFS also adds a menu extra for accessing your preferences, opening libraries, adding backup plans, sharing libraries, and getting help.
The preference window looks distinctly like it has come from something other than XCode, which would explain the fact that AeroFS already offers clients for Windows, Mac, and Linux. The Linux version also requires Java libraries which is a giveaway. Not a problem, just an observation 🙂
In the preference window you can see current transfers, change some settings, and alter library settings. Each library can be shared with different sets of users and devices. You can also do a ping and bandwidth test between devices, more on that in a bit.
First I added AeroFS to my iMac. It takes just a few minutes to set up, and AeroFS tells you it’s ready for use. I then installed it on my MacBook. After signing in with my new credentials, a popup appeared asking me to ‘make sure at least one computer is on containing these libraries’, listing my initial library. After a few seconds, it must’ve connected to my iMac and synced them together. Pretty impressive so far.
I was intrigued to see what sort of performance their file transfer protocol would get, so I copied a 700MB video into my library. It acts like Dropbox; it just copies instantly straight into the library, rather than being slowed down by any transfer. My MacBook waited for the file to finish transferring before starting to receive it itself, but otherwise it was on the ball. As a test, I deleted the source file while it was still transferring, and it immediately stopped the transfer to stay in sync.
What about actual speeds? The afore mentioned bandwidth test seemed a bit buggy; it caused one client to sit waiting for ‘metadata’ until I restarted it. However that bandwidth test reported about 105MB/s up and down over my gigabit LAN. That’s pretty impressive for an encrypted protocol!
What about transferring a file? In my unscientific tests my 700MB file about 43 seconds over AeroFS. A different file of a similar size (to avoid disk cache) took about 21 seconds over AFP.
This is interesting, if the protocol can do 100MB/s but a file could go at only 16MB/s then this transfer speed can probably be improved presumably by accessing the data on disk more efficiently. It’s not a massive deal though, there are worse transfer protocols for speed (SFTP for example). For an alpha, I’m pretty impressed.
I went through the installation process on Linux as well, and it worked as expected.
So what would I like to see in the future from AeroFS?
- The option to move the files it creates. I think I found them under ~/.aerofs on Linux and OS X, so a symbolic link should fix that. It’d also be nice to move the virtual folder it creates on Linux from ~/AeroFS to somewhere of my choosing. I tried to trick it using a symbolic link but that didn’t work.
- A command line client so I can run it on my own server.
- The ability to change device names. I made a typo on one and now I can’t fix it.
- Symbolic links don’t work in Linux. This would be nice (comes under the first point I guess).
- Versions/revisions. I’m a bit concerned about storing data on a system where any of my devices could throw a wobbly and delete a file, and within seconds that deletion is replicated across all my devices. This needs versioning if it wants to compete with Dropbox in any way.