Ask HN: Is iCloud a viable alternative to Dropbox? Any other alternatives?

94 points by JSR_FDED ↗ HN
Short question: Currently I’m a Dropbox user on Mac, is iCloud a viable alternative? If not, who do you have a good experience with?

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
I’d like to stop paying for Dropbox too as I already have iCloud and onedrive, but so far I’ve had random problems with all of them (slow sync, not working download when sharing, like this), while Dropbox works consistently. It seems I’ll cancel my Office subscription sooner than Dropbox if this trend continues.
Haven't tried Dropbox, but stay the hell away from iCloud Drive. It's about the same reliability as curlftpfs[1] but with the bonus feature that it's opaque and you have no idea what it's doing, whether it's failing, and why it's failing.

[1]: https://news.ycombinator.com/item?id=9224

General reminder that iCloud is a syncing service (passable), not a backup service. So do your 3-2-1 religiously and everything is ok. I only store things that I may need on 2 or more devices and active projects, but I still backup everything to other drives.
I switched from Google Drive to iCloud in 2021. I haven’t looked back, but also, my use is neither heavy nor demanding. I just keep my documents in iCloud and otherwise use git for my heavy lifting professionally.

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.

Yeah this is my opinion too. I had a mix of Drive and Dropbox (still have docs on drive), but moved everything to iCloud because I was already paying for backups for my phone.

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.

Matches my current experience. For my personal file sharing between devices/partner, iCloud works fine and is seamless. Anything having to do with document sharing/collaboration, Google Workspace has worked fine.

My only strong opinion in this space is to avoid anything OneDrive/Sharepoint related if you want to collaborate.

> for a backup of important documents it's good

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.

And if you're not all-in I've found that using syncthing to share a subset of the icloud drive with linux hosts works fine
Search works with end-to-end encryption enabled? Even for files not available locally?
Again, iCloud is super-opaque, so it's hard to know exactly what's going on.

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.

I’ve used iCloud since it started. It has got much better in the last couple of years. I gave up on Dropbox for the same reasons as you. iCloud is good for personal and family storage - but I haven’t tried it in a company setting. It would be my first choice, based on cost, but I’d approach it with caution.

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.

Not exactly the same feature set, but I’ve replaced Dropbox with Syncthing (open source) and it has been very reliable for my intended use (sync files across my devices).

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 also am a happy syncthing user.

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.

I spent a couple days with Syncthing. The UX and general process of setup / adding devices is one of the most inscrutable things I’ve ever done. I have been using computers since the early 90s, and I have not had an experience like that since maybe setting up networking in the early nineties with no internet to help.

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.

The dialog is complex but the documentation is informative and I think all the options are important. You can setup default values in the settings section. It's more an expert tool like ffmpeg. Every folder synchronization endpoint configuration is different especially as it's distributed instead of the default clients/server.
I agree the UX for adding devices is not very intuitive, but once it's set up it works great.

Also it has many options for syncing, which is something I like so I can set it up in any way I like.

I have looked into Syncthing and I found that their E2E setup is too daunting. In contrast in Resilio Sync one can share read/write key and be settled with it easally. If security is of concern one simply puts an expiration time on the key.
> I have looked into Syncthing and I found that their E2E setup is too daunting.

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

When I last checked and started the Syncthing setup wizard, I got the impression that to set up the synchronisation between devices A and B; I would have to paste the public key of B in A and the public key of A in B, which is more complex than initialising this step with a token key as Resilio sync does it.

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.

No, to setup two devices you have to add the id of A into B (you can even scan the qr code), wait for B to be contacted, and from B accept the invitation. Repeat for each folder (there's a setting where you cao automatically accept all folders from a given peer, off by default).

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.

Syncthing for the win. Has worked fantastic for me for many years across just about an OS you want to use.
Neither are exactly a 1:1 replacement, but check out backblaze and syncthing. A combination (syncthing for device sync, backblaze for offsite backup) might suit you.

I was impressed with syncthing when I used it ~2 years ago and I assume it's matured since then.

The only issue with syncthing is that it is prone to conflicts if you modify from multiple devices (such as some notes from phone and laptop) and you don't have at least one device always online syncing. For offsite backup, Hetzner has some very cheap storage boxes.
It depends if your use case is more to sync with yourself or if sharing with other people is important to you. I feel like Dropbox that does way better, the UX of iCloud Drive is still horrible (Seeing the progress of sync, sharing with people UI,...).

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.

Once a year I do some tests to see if the wife and I, with only our grocery list shared between us, can switch. And once a year I find out the answer is “no - and it isn’t any better than last year”.

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.

Might be something wrong on your side. Reason is that I've used iCloud for more than a decade. At first it was a bit rough, but it's been rock stable the last 5-6 years. I also use it for grocery lists between my wife and I.

And we're in South Africa, so not even as close to iCloud's main servers as you are (presumably).

As far as I know Apple just uses AWS for hosting. Not sure what regions but it’s likely you’re connecting to on in Cape Town or somewhere in Europe
They use GCP as well.
We have AWS in Cape Town and GCP in Johannesburg.
Do you only update your grocery lists at home or in places with good WiFi? Because I can reliably cause iCloud to choke if network coverage is less than excellent (a plausible use case for grocery lists, I’d imagine). Dropbox, on the other hand, doesn’t bat an eye.
So she sends me a shared note on iMessage, I usually only click on it once I am physically in the store. Then I check the "boxes" and she can see it in near real time.

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.

A shared iMessage note is the scariest thing ever.

I’ll tap on it and it will only open like 50% of the time.

My wife and I found Notion works great for grocery lists or other household planning stuff.
> with no options (that I’m aware of) to force it to simply fetch local copies of everything

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.

You should seriously try Anylist — it's been am amazing experience thus far.
>and it isn’t any better than last year”.

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.

My wife and I do the same thing and there definitely is not a 10 min delay.
> iCloud is extremely slow

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.

iCloud is unreliable, Dropbox is reliable, but sometimes the connectors it uses are unreliable.

Unfortunately there's no perfect solution yet across all platforms

fyi, there is an obsidian plugin called “remotely save” that can sync with Dropbox. (It uses the plain old Dropbox API and therefore requires a separate Dropbox login from the Dropbox app on your phone.)
Having worked with the file provider API, it’s not ideal. It will automatically prune downloaded files and you have no control over it. One Drive had to do a hack of storing the files you want to always keep in a different location and then have the file provider extension copy from that location rather than the cloud.

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.

I would put a couple HDDs into a synology, and install Tailscale. The experience has been better than cloud storage.

Synchting will also beat them. Could be on an always-on MiniPC or PI with external drive.

I was having similar concerns as you until a friend recommended Maestral. [0]

It works really, really well and at this point is much better than the Dropbox app.

[0]: https://www.maestral.app/

Worth mentioning that Maestral doesn’t do an accurate sync of files, because they use the Dropbox API which doesn’t provide every detail.

For example, an executable script synced with Maestral will lose the executable permission.

iCloud is rock solid at this point. I can't even remember the last time I had an issue. I've used it for more than a decade and I sync all my devices, iPhone, iPad, Apple Watch, Apple TV, Macs etc.

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.

Switched everything to Office/Onedrive since i need that license anyways and 1TB Storage is included. And ~100€ for 2TB of which i just use a fraction is too damn expensive for Dropbox. Also, there is no less expensive or smaller storage offering at Dropbox so the decison was easy to consolidate cost and move after 14 good years with Dropbox
I use onedrive as it comes with office 365 family subscription (5 user license for all office apps plus 1tb onedrive storage for each user). If you use office paying another provider for storage makes no sense.
I got a onedrive license with a new PC. I stored a large encrypted backup there and did nothing else. Nearly a year later when the free license was about to expire I wanted to access the storage again. It told me that the account had been locked because of violation of terms of service, e.g. spamming (???)

The cloud is someone else's computer. And none of the big providers is known for customer service.

> 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?

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.

Damn it, 5 minutes too late.
Great, now how do I do that from my iPhone?
Termius?

idk, daily driving postmarketOS makes those kinds of things easy

I used to be a big proponent of Google Drive, but they have fumbled over the last years. The client is now crashing randomly and during shutdown blocks Windows erratically. Worst, they lost the ability to sync pictures to Google Drive (from mobile/Google Photos).
I’ve used iCloud for 10 years. No problems.

Just remember it’s not a backup it’s a convenience.

I used pcloud and would discourage that. They have low bandwidth, I did everything they asked me for and yet everything is incredibly slow. I do get a lot of space.

Nextcloud (open source) works well in terms of performance, but their phone app crashes with directories full of files

I tried most of them over the years. Google lost files, OneDrive took forever, iCloud is too limited. SpiderOak was massively slow. Dropbox was the best for performance and reliability but eventually I tried PCloud and have used it happily for years since (with the encryption extra, which is seamless).

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.

Single digit hours is my problem. I have videogames savefiles in there (Dyson Sphere Program especially) which are gigabytes, they should transfer in seconds.

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:

    - It says everything is uploaded, but it's not necessary true and it never says what is not correctly uploaded. Sometimes you wake up and some files have never been uploaded (this is a well known problem)
    - Every time settings are reset, it loses every information about "Sync" folders. I gave up on synchronizing multiple of them. The problem is that it's impossible to determine how it will synchronizing an existing folder that went out of sync folders, I'm always afraid it will restore old files, so I do a full download, but a full download take hours because their slow download speed (and I paid for 2TB lifetime!)
My usage of it is now long term storage and light files (text+images documents)
Fair enough - I get how with your use case these are issues.

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.

Yeah I don't understand why these lifetime plans are so popular. It is just contrary to basic business logic and feels very scammy.

Price of could storage has not really been dropping over the years either.

(comment deleted)
I've been using Synchthing for >1 year. Works really well and it is P2P so you don't need a server.

Syncthing works quite well on Android. On iOS you must bridge it with Mobius, but it kinda works.

Synchting is awesome! What kind of speed do you get with relays?
For basic stuff (I'm the only one changing files, I'm not expecting to change a file on my laptop and have it on my desktop seconds later, I'm only mirroring files between Apple devices), iCloud has worked fine for me for a very long time.

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.

Even that works well. My family phones sync when in reach of my wi-fi and if I need access from abroad with my laptop, I use Open VPN or Wireguard. I can really just recommend Nextcloud. With their virtual files feature, I can sync giant folders (10TB, 1 Million files) between three laptops.
I self-host seafile, using it to share various folders between iOS, Windows, Linux, and macOS, and can recommend it.
I set up a server with Seafile 6 yrs ago and its been running pretty solid and stable. Its free, and needs minimal maintenance. I run it using docker-compose and the only thing i need yo do is update the seafile-server every few months.

They also have a nice iOS client which integrates well with the iOS Files app.

I’ve had great experiences with iCloud Drive. Moved from Dropbox and Google Apps a few years ago. iCloud+ 2TB shared with family is quite cost-effective for our use. Mail with custom domain too. I tend to buy devices with base storage because Optimise Storage in Drive and Photos works seamlessly. To collaborate with others using Dropbox, I much prefer to use Panic’s Transmit than keep sync running (I no longer have the Dropbox app installed).
Have we come to rely on "cloud services" so much that we've forgotten how to do this ourselves?

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.

I think that you can’t build it in a weekend. Well I couldn’t. As soon as you try to rapidly and reliably sync, say, 20k+ files over 3+ clients with intermittent internet connections, it gets surprisingly complicated.
That’s a rather specific edge case and I can’t think of any sync that handles it relatively well except for BitTorrent. At that point you are limited by so many things, it’s not worth optimizing for because all the error cases you have to handle (inode exhaustion, network limits, etc).

99.99% of the time only a single file changes at a time, which is the use case here.

Hmm the macOS photos folders have this many files so I’m not sure it’s an edge case to sync this many files between at least 2 clients. And the issues you mention are real even when syncing relatively static large folders.

But you’re right that there are many such error cases to handle if you want a real iCloud / Dropbox alternative.

Is it really an edge case these days? A user’s very first sync is likely to be the largest one, to seed all the data into the could. That could easily be thousands of files.

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.

> A user’s very first sync is likely to be the largest one, to seed all the data into the could.

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.

FWIW having built a sync service I can tell you that this is an issue in practice, and you have to test for these differences in any event.
My point is that for a weekend PoC that you want to use for yourself… it’s rather a non-issue. Further, you need to create a lot of primitives before you can even tackle the problem correctly, so initially, it is an unsolvable problem until you have those primitives.
I suspect that relatively few people, even on this site, could build a background file sync application for iOS very easily.
I would agree with you there… but in 2007ish, there was no smart phone. There was basically only Windows, weird Macs, and some people on Linux for some reason.

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.

A big part of the problem is that Dropbox is a fundamentally different product than what it used to be. Today's Dropbox is not even attempting to be a tool that simply synchronizes directory contents across all of your machines. Instead, it is trying to be a network filesystem with a local cache, with various other features layered on top. It's a lot more complex, built with leakier abstractions.

The original Dropbox could be a viable product to disrupt today's Dropbox for many of the same reasons Dropbox originally achieved success.