Ask HN: Is iCloud a viable alternative to Dropbox? Any other alternatives?
I’ve been a happy Dropbox user for 10+ years, it’s rock-solid syncing of a local directory with my other devices and the cloud has never let me down.
However, I’m starting to feel uneasy about staying with them. In the last years they’ve tried to cram more and more functionality I don’t care about (functions not related to syncing files) into the product, their menu-bar app has become a monster, and I’m tired of the up-sell nudges.
Apple is also transitioning all the cloud filesystem companies (like Dropbox, Google Drive, MS One Drive, etc) to use the MacOS File Provider API - probably a good thing to ensure there is a consistent experience for users. But that also makes me think they’re all going to perform exactly the same. I could be wrong of course.
Considering all that I want is for a directory tree to be mirrored between the cloud and my devices, are there any alternatives you’d recommend? Have you had good/bad experiences with iCloud say in the last 2 years?
135 comments
[ 3.3 ms ] story [ 181 ms ] thread[1]: https://news.ycombinator.com/item?id=9224
iCloud is opaque. It tells you if some file is syncing, or if it’s only in the cloud, but that’s really about it. There’s almost no level of control. If you want a revision history, that’s what Time Machine is for. Collaborate editing, API that apps to integrate into with, previewing without downloading, etc? Those are all not really options with iCloud.
But so far, it hasn’t lost any of my data and it is probably the most approachable option with an end-to-end encryption option (which I enable). Searching works well and even finds text in images and documents.
If you just need the basics and you’re all-in on Apple products, iCloud is great.
It's not perfect, it's very opaque, but for a backup of important documents it's good. Lots of my apps also sync with iCloud anyway so I wouldn't be avoiding it, and get some extra storage for them I think, not that I need it.
If I was collaborating in any way at all I'd just be all in on Google Workspace with drive. My last company used it and it was excellent. Disclaimer, I now work at Google where we also obviously use it for everything, and it's also great here, but while I have a bias, I do think it's the best option for collaboration.
My only strong opinion in this space is to avoid anything OneDrive/Sharepoint related if you want to collaborate.
You likely know, but iCloud is not a full backup; it’s a synchronization mechanism. That helps in cases of device loss, but not in all scenarios where a backup helps.
If you have a backup, you can restore past versions of files that you accidentally modified or deleted. iCloud will happily copy such changes and deletions to the iCloud copy of your data and to other devices linked to that copy, likely before you even notice you want to go back to an older version.
To get ‘real’ backups, Apple has Time Machine.
Dropbox, depending on your plan, allows you to restore older versions of files for 30, 180, or 365 days (https://help.dropbox.com/delete-restore/recover-older-versio...)
MacOS has a ‘Versions’ feature that in theory is similar (https://support.apple.com/en-gb/guide/mac-help/mh40710/mac), but isn’t supported by all applications.
As far as I can tell, when you add a file to an iCloud folder, it indexes it locally, uploads it, and the index sticks around even after the file is evicted from local storage.
So for example, right now I searched for an address I haven't used in 10+ years. On my computer, Spotlight immediately found a PDF file that wasn't stored locally. However, I added that file from my computer, so it's in the index (presumably). If I do the same search from my phone, nothing is found, though searching the filename itself still works.
It would be nice if the index data itself were transmitted between devices, but, you take what you can get and it's pretty impressive as it is.
In reference to another comment, it has become a lot less opaque, there’s a lot more feedback in the finder now.
FWIW, in a work setting I tried Google Drive and Box as alternatives and they both sucked, with terrible latency to the web site. Maybe because I’m located in Australia.
I also run it on my home server for a central sync point. Don’t use it much on mobile, but works well enough if I do need a file. Not a good solution for sharing with others though.
I have one “server” that contains all my synced folders, is always online and gets backed up to the cloud. Every other device syncs a subset of those folders using syncthing. It is fast and reliable. I had to set up some stignore files to exclude platform-specific files like node_modules, but other than that it has been smooth sailing.
It’s open source, and it purports to sync resource forks which is very important to me - but they should really sit down and figure out how to make the process easier for newcomers.
I ended up back on Dropbox which also syncs resource forks. One of the few services that does.
Also it has many options for syncing, which is something I like so I can set it up in any way I like.
Are you referring to untrusted devices? That is different than e2e encryption. Synching is e2e encrypted by default. Synching relays are only used when a direct connection with a peer is not possible. When a relay is used the data is encrypted. The relay cannot read it.
https://docs.syncthing.net/users/relaying.html#security
Furthermore, it prevents its use as a public bulletin board where the server can share a read key and allow anyone to keep a copy of the data. I am developing an E2E evoting app where that would have been useful.
You can also define that one folder on a given device (say a server) never accepts remote changes from anyone else, or never propagates local changes to anyone else. Combine this with encryption (provided by syncthing if you so desire, or your own) and versioning (also provided by syncthing if you want) and you have a pretty good backup endpoint.
I invite you to try out syncthing deeper, the doc really doesn't do it justice. However keep in mind that it's supposed to be used on devices that will be manually deployed. It's not made for large scale deployments.
I was impressed with syncthing when I used it ~2 years ago and I assume it's matured since then.
I use iCloud sync for things I want to eventually access on my phone, but I see it as "eventually consistent" as sometimes things just don't show up for a while.
I can highly recommend Syncthing if you don't need to access on mobile but only between computers.
iCloud is extremely slow. Updates in files can take 10 minutes or more to propagate, especially if two or more people have been editing them. If you’re the only one editing a file, on multiple devices, it’s still slow but much less so.
It also tries to be clever about what it syncs and when, with no options (that I’m aware of) to force it to simply fetch local copies of everything. This makes it unusable for files that you want to access in a terminal as the terminal is, for some reason, not part of the clever sync on demand system.
However, if you want to get fancy with sharing stuff with applications on iOS, such as, for example, an Obsidian file directory or some other set of markdown files to view and edit on the go, you’re pretty much forced to do it in iCloud as the Dropbox file provider on iOS is extremely unreliable and prone to locking up, even if you’re the only one editing the files. For this use case you’re pretty much condemned to iCloud.
And we're in South Africa, so not even as close to iCloud's main servers as you are (presumably).
Often she's typing additions to the list as I'm using it, which is a cool feature. Not as rapid as e.g. Google Docs would be, I think.
This is not on WiFi as I just use 3G, 4G or 5G (whatever is available) when doing shopping.
I’ll tap on it and it will only open like 50% of the time.
System Settings > Apple ID > iCloud > Optimize Mac Storage = Off
You need enough disk space to store everything in your iCloud storage or this will fail.
This. I think Apple gets the most benefits of doubt when things dont work. And for 99% of the time it works fine. It is that 1%, when it happens, how long would it be fixed, is it actually better than M$ or Google questions pops up.
Basically just stay away from iCloud. You get far less headache.
When it works.
Sometimes it won't even sync files between two devices in the same room, and just show an infinite progress bar. And I'm using the latest OS versions in all devices.
Unfortunately there's no perfect solution yet across all platforms
I switched from iCloud to Nextcloud, but Nextcloud will also be moving to a file provider extension, not for sure how it will work with their current sync client.
Ultimately I left macOS and don’t have any problems on Linux with Nextcloud.
Synchting will also beat them. Could be on an always-on MiniPC or PI with external drive.
It works really, really well and at this point is much better than the Dropbox app.
[0]: https://www.maestral.app/
For example, an executable script synced with Maestral will lose the executable permission.
The killer feature for me is probably the iCloud shared album that allows me to share family photos with my whole family without having to resort to e.g. Facebook or Google.
The cloud is someone else's computer. And none of the big providers is known for customer service.
Apologies in advance but...
...you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem.
idk, daily driving postmarketOS makes those kinds of things easy
Just remember it’s not a backup it’s a convenience.
Nextcloud (open source) works well in terms of performance, but their phone app crashes with directories full of files
Not had any issues with performance or reliability at all (except with synced Calibre folders, but that's been the case with all the others too). Gigs of stuff are moved around in single digit hours at most; usually less. Smaller changes are almost instant across my Mac, Linux, and Windows laptops.
I don't like their pushing for lifetime plans though - I'd rather they didn't frontload their income as I want them to stay around.
I have 1500 mbps down/1000 up and with nextcloud these are transferred within 5 seconds, with pCloud it would take even 30 minutes.
But even when downloading large amount of data, it would use at most 90 mbps in terms of bandwidth, while my internet is clearly capable of more.
They reported it could be my setup, so I followed everything they said, but nothing changed. Every other service is OK, so I'm just a disappointed lifetime customer.
It has also a series of glitch that are incredibly annoying:
My usage of it is now long term storage and light files (text+images documents)I usually have a lot of files but most of them are single to tens of megs at most, so it works for me and I've never had the sync issues and upload failures you describe despite using it for years.
But my experience with other providers means I don't question your own experience here at all, and maybe others thinking of trying them out should consider which of our use cases more closely matches theirs and proceed with appropriate caution.
Price of could storage has not really been dropping over the years either.
Syncthing works quite well on Android. On iOS you must bridge it with Mobius, but it kinda works.
For those reading this looking for alternatives: nextcloud-aio docker image on a NAS or small server works well for syncing files across machines. It's overkill, so I turn off most of the features, but I find the clients reliable across OSes (mobile and otherwise).
I do not put Nextcloud on the internet -- my use case does not require changes away from home to be live synced to others before returning. By the time I've walked in the door and put stuff away, changes + photos are synced.
They also have a nice iOS client which integrates well with the iOS Files app.
When Dropbox came out, many people LOL'd (especially here on this site where most people could build Dropbox in a weekend) because it isn't that complicated. It was just pretty and targeting the less-technical.
But now here we are, on the same site where people used to be able to build this in a weekend, asking how to find an alternative because (presumably) nobody can build this in a weekend.
99.99% of the time only a single file changes at a time, which is the use case here.
But you’re right that there are many such error cases to handle if you want a real iCloud / Dropbox alternative.
Installing on a desktop, laptop, and mobile device would bring 3 clients into the mix right away.
So the user’s first use is likely to be one of the more complex operations, and the one they absolutely needs to work, as a failure here will lead to the user looking elsewhere for a solution.
You are almost guaranteed that the first sync results in zero conflicts. It's just a mass-upload. Even if you bring other clients in, there is still a very low chance and "last-one-wins" is a pretty decent policy for who gets the original filename and then other gets a " (copy)" suffix or something. Doesn't really matter as long as it's documented and intuitive.
JQuery was still the way we did things during those times.
So, yeah, I guess back then, things were relatively straightforward to build something like this. Today, there are many OS’s, file systems, ipv6, shitty wifi, and a whole host of problems that didn’t really exist back then. Heck, back then, most people didn’t even have laptops so you didn’t even need to worry about your programs going to sleep in the middle of processing.
The original Dropbox could be a viable product to disrupt today's Dropbox for many of the same reasons Dropbox originally achieved success.