Hacker News new | past | comments | ask | show | jobs | submit login
The new Dropbox (dropbox.com)
458 points by yarapavan on June 12, 2019 | hide | past | favorite | 574 comments



I've been a Dropbox user for many years but I'm looking for a replacement. What drives me nuts and hasn't gotten better over the years is their truly awful Python-based macOS client software.

It is constantly burning a ton of CPU/battery. It's always at or near the top of Activity Monitor's list in the Energy tab. It seems like their app constantly reacts to any file system activity, even if that activity is outside the Dropbox directory. My file system is busy all day long from building in Xcode and other things.

What I need is for Dropbox to improve that by making an efficient, battery-saving, native macOS client. What I don't need is what is announced in this post.

The two other things that I hate are the fact that they don't support symlinks and that they use a kernel extension. All of these things together made me start the search for a replacement.

Does anybody know how the CPU/power impact of Microsoft's and Google's offerings are on the Mac?


After receiving an email like: > This is all for just $20.88 more a year

1. I never asked for anything more 2. you still charge me for more at a higher price

I just bought 2TB data on iCloud, moving everything there. Now I will have good photo application with face recognition which is awesome. Do not expect any move from Dropbox to make your personal life better, they won't. They are going towards enterprise customers.

Use iCloud that's it if you're in the apple word.


I self-hosted a Nextcloud installation and used 2x 4TB drives. The first is full dedicated to the Nextcloud use while the second is rsync-ed to the first every night. Then I deleted my 8 years old Dropbox account. Currently my only cloud provider is iCloud just for the photos, contacts, iwhatever backup.


This is a timely post. I just set up NextCloud myself, to sync my external HDD to my own managed cloud storage service. I've got NextCloud running on a VPS, and linked to a series of storage buckets on Wasabi.

Sometimes all I want is a quick and easy replication of local data to an off site storage facility, and also an easy way to share links with third parties who need access to certain stuff. I am getting tired of storage providers who started off by doing these two things really well, but then decided they wanted to add a ton of bells and whistles that are really of no value to me as a user.

(To be fair, I think Box.Net is the only cloud storage provider I've used over the past decade that still retains their original premise).


Looks like HN is going full circle: https://news.ycombinator.com/item?id=9224


Assuming the second drive is always connected to the machine & on, why are you opting for that nightly sync vs. mirroring the two disks in raid1?


It's been a stupid decision at the time of the setup. Now its already there, and any attempt to change it will have to erase the drives, and this is a huge pain in the arse.


You can "convert" a single HDD drive into a RAID1 (mirror) online, without data loss or backup/restore.


I recommend Nextcloud as well. For anyone interested but without self-hosting a server, I've had great experience hooking it up with my Disroot (disroot.org) email account which offers 4gb (free) storage.


Some while back Seafile looked more promising than Nextcloud to me. Never got around to actually using either though. Not sure how things shape up now.


> 1. I never asked for anything more 2. you still charge me for more at a higher price

They were going to raise their rates anyway, this is just an attempt to make it look like you're getting something more in exchange.


They also finally added shared folders to iCloud drive, which was the last major feature preventing me from switching


> Use iCloud that's it if you're in the apple word.

Does iCloud automatically save versions yet? One of the default features, IMO, of the Dropbox/Box/WorkDocs/OneDrive world is that a history of saved versions is easily accessible for a single document. Last I checked, iCloud didn't have this one feature.


I think this may be something that needs to be exposed at the application level, e.g., iWork's "Browse All Versions" feature:

https://support.apple.com/en-us/HT205411

I see this in other apps as well; I just checked iA Writer, for instance, and it shows me versions on iOS. (And, of course, if you have Time Machine enabled on your Mac, you can browse versions for everything on that system, but I don't know how that interacts with iCloud: I suspect it's doing local versioning of your cloud drive!)


That means it's a local, Mac-only feature. I like having access to old versions in the cloud, partially because my other computer is a desktop PC.


The support note that I linked about iWork says that with iCloud, "versions of your documents across all devices are saved periodically as you work on them," which is why I suspect there is a versioning feature exposed at the application level. As I noted, I see this in iA Writer, too. Unfortunately this doesn't help your use case, though.


Yeah, they fucked me when they restricted free accounts to 3 devices. As someone who spent years preaching the gospel of Dropbox to my non-techie friends and family, the number of angry phonecalls I received was more than enough to never recommend them to anyone ever again.


Who called, and why were they angry (at you)?


Did I miss where they're charging existing customers more? My account page still shows $99/yr.


The features are added to your account at no additional cost for your current term. However the renewal of your yearly contract will be at the new price.


I got a this mail:

> Dropbox Plus just got an upgrade. And a new price—starting on [xxx] , 2019 (that’s your next billing cycle), Dropbox Plus will be $119.88 a year (plus any applicable taxes).


Ah I see, that is quite unfortunate. I'm guessing the changes are mostly a cover for inevitably having to raise prices.

Also, I've been watching their stock price, so presumably they have been too.


Glad I'm not the only one that thought this. I just want a folder on my computer I can put stuff in and have it backed up / synced automatically. I don't use/want any other features.


I still use dropbox right now for YNAB4 (The nYNAB offering is terrible and expensive), but this looks enticing. I haven't looked into using iCloud but the prospect of syncing during power nap and not having to use burn my VPN quota for dropbox (GFW blocks dropbox now, super annoying) is really interesting.

2TB with iCloud also applies to a family, and serves as iOS backup storage as well.

$10 for 2TB is great compared to what Dropbox gets you. I'm guessing no notification spam for upgrading too...


I use MacOS at home and Windows 10 at work. I find iCloud access from Windows to be pretty awkward. Am I missing something?



I had the same inclination as you. Dropbox was cooking my 2015 Macbook Pro. What I can tell you might reduce research time.

Google Drive has no differential sync. Any changes you make re-upload the whole file. This is a hard no for me. Also Google.

I moved to Sync[0]. The pricing tier was more what I wanted (500GB). They support symlinks, differential syncing, selective sync as well as a 'Vault' for storing files in the cloud but not on your machine. I think it's end-to-end encrypted as well, not going to commit to saying anything specific in that regard. The Mac app is also a lot better, I find it spinning up a lot less for me and its a lot lighter in general. To be fair though, even with iCloud I get my fans whirring up when I start uploading lots of changes.

I've also heard good things about pCloud[1] but I don't see any reason to change my workflow now after have to already change it.

[0] - https://www.sync.com/ [1] - https://www.pcloud.com/


In addition to all the benefits listed above...

Sync claims that, if you have the Sync setup create your own encryption key on your device, files are end-to-end encrypted. I believe them. Moreover, Sync support confirmed that they do not have access to meta-data about your files either. Thus, their admins do not have access to your unencrypted files or information about them.

They support all the usual devices both on the desktop and mobile apps.

Their servers are located in Canada, not the U.S., if geography matters to you from a privacy perspective.

I will also second that Sync seems much speedier than Dropbox. Startup / connection time is maybe 50% faster on my dated machine. (Dropbox seems to say Connecting... forever!)

You can run both Dropbox and Sync.com at the same time if you want to migrate slowly. I use Dropbox for non-sensitive files (e.g. rando family pictures) and Sync.com for sensitive files (e.g. birth certificates, financial files). With Sync.com and their more thorough end-to-end encryption, I feel safer that my file data cannot be used for random studies or anything else Dropbox feels like they can justify [0].

[0] https://www.wired.com/story/dropbox-sharing-data-study-ethic...


Seconded. I can't put too many files in Dropbox, and additionally it burns power even if files are changed outside.

In general, it is a CPU catastrophe, a penalty I have to pay in order to use file synchronization. I really hope that a better competitor appears.

Additionally, the software pesters me with annoying popups pushing me to upgrade.


At what piont do you see issues? I'm on the free tier and only have about 3GB of files and have never noticed any CPU usages issues with Dropbox on my Mac


Perhaps you haven't looked? Try cloning a git repo, or unpacking a tarball with many files (doesn't matter if it's inside Dropbox or not) and observe the CPU usage of the Dropbox process.

I checked right now and the Dropbox process on my machine has consumed a total of 39 minutes CPU time. That's 39 minutes of full-scale CPU usage. Even their "web helper" process (whatever that is) consumed two minutes and 41 seconds.


(Google) Backup & Sync currently shows 2:04.46 in CPU time on my Mac. I'm guessing that means 2 hours and 4 minutes. The machine was shutdown overnight and booted this morning. Is this something that resets with each boot?


I don’t have a use case for cloning a git repo to Dropbox


the parent mentions in parentheses that the dir doesn't have to be in dropbox because it appears to monitor all files.


Sounds broken on user end. Never seen anything like this when using Dropbox on several versions of Windows and Ubuntu, on both low-end and high-end machines.


> on several versions of Windows and Ubuntu

This discussion is about performance of the macOS client. Saying that clients for other OS work well doesn't really contribute to it.


dropbox, considering their size, is really in a position for a solid rewrite.

ocaml ? http://roscidus.com/blog/blog/2014/06/06/python-to-ocaml-ret...

nim ? rust ? go ?


DropBox is the Electron client of file sharing. They could make native apps that use native apis and get vastly better performance in time, power, cpu, and probably memory — but then they’d have to create and maintain a bunch of native apps. I know it’s common to hear HN comments like “they have the money/skill/opportunity to trade up to a better platform for more effort”, but everything I’ve seen says that it’s much harder to make that choice than to stick with the tech-debt you already have.

Note: I’m not saying it’s literally an electron client. It’s an analogy. :)


It does bundle Chromium so it isn’t far off.


I get it don't worry. Maybe they'll do it later when it will be an obvious advantage for the company.


It's particularly funny because they hired Guido (GVR) who is supposedly helping them migrate a million(s) lines of code py2->py3. Whereas a better solution in the long run would have probably been just rewriting the whole damn thing in Rust for all platforms.


Rust doesn't sound too unrealistic, given that they were one of its first big commercial users.


they do rust ? fun


They use Rust in the datacenter. The layer that actually writes bits to disk is written in Rust. I don't know why they haven't yet deployed a native desktop client that's a Rust core with a thin platform-native GUI wrapper.


Jamie Turner from Dropbox gave a talk at a Rust meetup in 2017: https://air.mozilla.org/rust-meetup-may-2017/

Edit: at 30:05 in that video, he briefly talks about a forthcoming (as of 2017) "full redesign + rewrite of Dropbox's 'sync engine' in Rust." He claims it will use 10x less memory, and be 50x faster on key operations.


The also mention it here https://news.ycombinator.com/item?id=14926851

strings /Applications/Dropbox.app/Contents/Frameworks/libdropbox_watchdog.dylib | grep -i rust shows some hits:

  __ZN14rustc_demangle8demangle17h2ad719809986c0fcE
  _rust_begin_unwind
  /Users/vagrant/client-dropbox-python/dropbox-virtual-env-3985da1e510f-mac-x86_64-10.14/rust/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-f10e664516557f83.rlib(compiler_builtins-f10e664516557f83.compiler_builtins.7wkmozn8-cgu.0.rcgu.o)
  ___rust_probestack
  /Users/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.5/src/probestack.rs
  ___rust_alloc
  ___rust_dealloc
  ___rust_realloc
  ___rust_alloc_zeroed
  /Users/vagrant/src/client/rust_vendor/hyper-0.10.13/src/buffer.rs
  /Users/vagrant/src/client/rust_vendor/serde_json-1.0.33/src/read.rs
  ...
Looks like they use it fairly lightly though.


Thanks for the link, missed it


My previous experience with Google Drive was that it would chew up CPU and memory a lot more than I liked.

I've been pretty happy with iCloud Drive since I switched to it. Works seamlessly and effortlessly on my Mac and iPhone, affordable pricing fo storage which can be shared with family, and also solves my photo storage needs with Apple Photos. The only drawback is the lack of shared folders, but they just announced that is coming soon.


As soon as Shared Folder is released on iCloud, I'm moving everything out of Dropbox. I already pay for iCloud for my photos but have tons of unused space, that just makes more sense to consolidate, especially since Apple cares about optimizing for battery and CPU usage.


Yeah, I've never had a good experience with the Google Drive client. Heck, I remember when the Windows version would suck up all available file handles and basically make the machine unusable.

That being said, the whole point of Dropbox to me is that its cross-platform. iCloud Drive is basically worthless for the Dropbox use case unless your entire computing universe is on Apple equipment.


Apple just announced a new iCloud app for Windows (distributed throught the Microsoft Store): https://www.microsoft.com/en-us/p/icloud/9pktq5699m62

Apparently this iCloud client uses the same file system integration APIs as OneDrive.

Source: https://www.zdnet.com/article/use-iphone-and-windows-10-micr...


Funny enough just yesterday they announced a completely redone Windows client that they built collaboratively with Microsoft to use the right APIs etc. There’s a bunch of news chatter about it right now.


After reading some of the comments here I decided to give the Google Backup & Sync client another go on my MacBook Pro. The CPU fan has been blowing at full speed for the last 15 minutes. It's still terrible, extremely resource-hungry and slow.


My perception is that this happens every time the app starts. After it scans everything the CPU/MEM/IO consumption goes down to reasonable levels.


(I work for Google, not on drive. Opinions are my own).

Have you tried the newer drive client? Backup & Sync[0] replaced the old client and I believe is a bit better than the older client. If you are on GSuite, there is the Drive File Stream[1] that is a lazy-load of resources from a drive folder (which is why it's targeted for businesses only).

[0] https://www.google.com/drive/download/backup-and-sync/

[1] https://support.google.com/a/answer/7491144?utm_medium=et&ut...


Backup and Sync for MacOS at least is a disaster. It locked me out of my account because when backing up photos, if it can’t figure out how to convert files to normal quality JPEGs, it uploads them anyway and your quota is charged. Then a month later when you start wondering why nobody sends you email any more you might figure it out.


I posted above, but can elaborate in some more detail here.

I used the new Backup & Sync tool for the first time and had a poor experience.

Context: I have a paid MS OneDrive account but maxed out my storage and was seeking alternatives (specifically ones with easy family sharing). It turned out my wife was already paying for Google One so we just used that. I downloaded Backup & Sync just to transfer my photos from my local PC into Google Photos. Backup & Sync's UI is terribly sluggish on Windows. Clicking the system tray icon renders a blank dialog and then a second or two later the dialog is rendered (Surface Book 1). The UI responsiveness was a turnoff but not my primary concern.

In the sync tool and the Photos webapp preferences there are two checkboxes that affect syncing:

  * Backup & Sync client (upon upload to Drive copy photo to Google Photos)
  * Google Photos web app (automatically index Drive and copy images to Google Photos)
As an end user I liked the separation of Drive and Photos from the user experience. I do not want to upload photos to Drive and have them sync to Google Photos. And I definitely don't want Google Photos to index all images on my Drive account.

Simply using the Backup & Sync tool forces you to upload photos to Drive and have them sync over to Photos ruining that separation. And unfortunately in a case of bad timing there was some server outage on Google's end that affected the syncing of files from Drive to Photos. My photos successfully uploaded to Drive but did not appear in Google Photos web app, but no error is displayed to the user. I contacted Google One support and they informed me there was a problem they were aware of but also that I had to enable the latter checkbox in Photos webapp (have Google Photos index and parse all of my Drive images). I was incredibly hesitant to check that since I have a massive amount of images (not photos) in my Drive account (paper scans, tons of small icons, etc) and I don't want any of those appearing in Photos. I listened to support regardless, enabled that checkbox, and of course it did not work due to the server outage.


And I definitely don't want Google Photos to index all images on my Drive account.

I've had this happen and it's a nightmare to fix. Once I accidentally had a node_modules folder sync to Google and it had images in some of the subdirectories for some reason, another time I had something else with third-party resources like an HTML eBook and ended up with random images of charts and graphs all over my Google Photos.


Too late to edit, but I just read the announcement about the changes to Drive and Photos which directly addresses my confusion.

https://www.blog.google/products/photos/simplifying-google-p...


I'm pretty sure Drive photos are still added to Photos though, which still is an annoying behavior.


It’s still terrible. Actually Google Drive (or Backup & Sync) client hasn’t improved one bit in the last 4 years. The only update we saw was “material design” revamp that was about it. It still spends 15 minutes “preparing for sync” every time I restart and consumes considerable CPU while doing that too.


As siblings say, it’s still terrible. I installed the business version on my Mac to give a look, I have zero files synced with it. After a few days I checked activity monitor and it had used tens of minutes of CPU time. For zero files and zero activity.


Backup and Sync is not so great. I wish the Photos backup client was still available, and I'd use that together with InSync.

InSync is great and works on most platforms. I've been using it since dropbox lost a bunch of my important files in 2014. (I have multiple backups now)


Yes, their symlink handling is absurd, and they have the usual sanctimonious defense when questioned about this. To be fair, most commercial cloud services overthink this, and also get it wrong.

A symlink is just a file, like any other. It is a user's responsibility to insure that a symlink will work elsewhere; cloud services should just copy the file, just like any other. The users who expect a symlink to trick a cloud service into special behaviour (like syncing folders elsewhere) are also wrong. You no more want a cloud service going off and "thinking" about a symlink, than you wanting it going off and "thinking" about porn it finds on your computer. These are just files; their contents or meaning are absolutely not any cloud service's concern.

For example, a MacOS application bundle typically includes internal symlinks that most users are unaware even exist. Yes, DropBox breaks these, too. They tell you that their service is not intended for synchronizing entire file systems, as if properly handling an arbitrary file is somehow rocket science. I'll grant them that this is over their heads, but it's not hard.

There's exactly one sync program that gets it all right: Unison, written by Benjamin Pierce, a world-famous computer scientist. Yes, he actually thinks about this more clearly than any of the programmers of commercial services, and the best community ideas are adopted.

Unison handles symlinks properly.

Atomic directories are a relatively new feature in unison: One can declare a directory atomic, forcing the user to choose at the directory level when there’s a conflict.

I declare .git directories atomic. A better example: A MacOS .sparsebundle disk image file appears as many files (bands) inside a directory, but is intended to be seen by the user as an atomic file, not a directory. This has the advantage of more efficient backups: If one makes a minor change to a large mounted disk image (say, a few MB to a multiple GB disk image) then backup software isn’t forced to make a new copy of the entire multiple GB disk image.

If one makes minor changes to the same mounted disk image on two machines, and then does a two-way sync, one could buy the farm. Most likely, there will be a conflicting root file alerting one to the problem. Far cleaner to simply be forced to choose one disk image directory over the other. Functionally, the entire disk images are in conflict, not specific files within.

The ability to declare atomic directories is not a feature of any other two-way sync software, and it should be. A good heuristic: If a naive user can’t easily open a folder to reveal its contents (say, a Mac application bundle, or a sparse disk image) then the supporting directory should be treated as atomic by default.


You are taking strong positions on what is right or wrong when there is no objective answer and tradeoffs both directions.

> It is a user's responsibility to insure that a symlink will work elsewhere; cloud services should just copy the file, just like any other. The users who expect a symlink to trick a cloud service into special behaviour (like syncing folders elsewhere) are also wrong. You no more want a cloud service going off and "thinking" about a symlink, than you wanting it going off and "thinking" about porn it finds on your computer. These are just files; their contents or meaning are absolutely not any cloud service's concern.

Unison seems to be more designed for personal sync'ing than collaboration. That informs decisions.

First off, Unison cannot sync symlinks to Windows (or at least WinXP since they didn't exist until Vista) (http://www.cis.upenn.edu/~bcpierce/unison/download/releases/...).

If you take your position that symlinks should be sync'd opaquely (as a file with a symlink target), collaborative relationships that involve symlinks are broken without much warning when a collaborator uses windows XP (the most popular OS when Dropbox came out!).

At least following them (which Unison does allow with a setting) ensures Windows collaborators can see them.

Dropbox could probably make the change now (few XP users remain), but you have legacy issues of existing users relying on the "follow" behavior to sync content outside of their Dropbox.

> One can declare a directory atomic, forcing the user to choose at the directory level when there’s a conflict.

Not forcing users to make choices before upsync occurs is an explicit design decision of Dropbox. It ensures that if I power on my computer after being offline, things will quickly sync to the cloud -- I don't need to spend time making decisions.


>symlinks to Windows (or at least WinXP since they didn't exist until Vista)

The version of NTFS in windows xp and the version of windows explorer both supported symlinks just fine. There was just no user-mode api to create them. You could use a kernel driver to make them, or even mount the disk offline and make them


Great point (found tons of resources here: http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext...)

Still a lot of restrictions here that would make in Dropbox's shoes circa 2008 not attempt to support them:

1. Kernel driver requirement requires admin rights which hurts installing ability

2. General instability (looks like applications might not respect symlinks right -- e.g. deletes could recursively delete contents within the symlink)

3. Won't work with users running older NTFS or FAT32 (e.g. XP upgrades) -- not sure how common that was in 2008 though.


> windows XP (the most popular OS when Dropbox came out!).

Symlinks actually worked in Dropbox when I used to use it in 2012...


Define "work"? Dropbox has never sync'd a symlink as a symlink - it follows then on the client machine and a copy is created on the server.

(Source: worked there)


When did you work there?


Hmm I'm pretty sure it used to. I used it and if it had followed symlinks that would have broken things for me and I wouldn't have used it.


"To be fair, most commercial cloud services overthink this, and also get it wrong."

  ssh user@rsync.net ls -asl some/dir
... looking good ...

"There's exactly one sync program that gets it all right: Unison, written by Benjamin Pierce"

  ssh user@rsync.net unison

  Usage: unison [options]
  or unison root1 root2 [options]
  or unison profilename [options]
(Ask about the HN readers' discount)


I tried to use unison for serious production work a few years ago, and it fell short. It would fail or become incredibly slow with large (but not huge) amounts of data. A pity because the concept is great. I wonder if it has improved since.


"I wonder if it has improved since."

Unison is very interesting and it is, indeed, very special in that it solves the very specific use-case of my parent post.

However, my own opinion, and that of just about everyone who cares about backup tools is that 'borg' is the "one true way":

https://www.stavros.io/posts/holy-grail-backups/


I played with borg some in the early days and was unimpressed with some of the methodology and code quality displayed on public forums like GitHub. This is kind of archival work MUST be correct and carefully designed due to its sensitive nature. I hope I'm not giving the project an unfair shake here, but I checked it again recently and the first several lines of the GitHub page list 3-4 fairly recent versions that have caveats around data corruption and the like ...

This is not really isolated to borg, so I don't want to pick on them too much (plz shield your eyes in the direction of rclone...), but calling it the "holy grail" is a bit rich IMO. This kind of stuff is simply not industrial grade software.


Any idea if this benchmark is still accurate? https://github.com/gilbertchen/benchmarking

('attic' on there is actually borg)

Borg has a lot going for it, but I'm hesitant to call something a holy grail or one true way if it can't do compact diffs. Especially when it needs active server software, which makes pruning much easier.


What about restic?

https://restic.net/


Yes, we support restic. I don't have anything interesting to say about borg vs. restic ...


You can work around failures of large initial unison syncs by creating a partial directory tree on the target manually.

It treats the creation of a new directory as an atomic operation, and rolls it back on failure.

(So, if the initial sync will take a week, then precreate the top level or two of the directory hierarchy...)

It’s an annoying problem, but after the initial sync, partial syncs are fast and reliable.


I have always been intrigued by your service, and will probably try it at some point for a smallish setup for important data, but whenever I think of backups in the TB range, it gets way out of budget (even after accounting for borg or other discounts). Do you have any plans to compete on pricing with other popular cloud/storage providers? I understand that this is a different product for a different audience.


"Do you have any plans to compete on pricing with other popular cloud/storage providers?"

We try to keep out pricing very roughly inline with Amazon S3. If you know to look for the discount signup rates it should be very slightly cheaper than S3.

We can't promise customers support from real UNIX engineers and also match B2 pricing. I'm happy with that and plan to continue on that path ...

We would be very happy to have you.


> If you know to look for the discount signup rates it should be very slightly cheaper than S3.

I'm interested. Do you mean the special borg account or should I look more? Thanks!


> The users who expect a symlink to trick a cloud service into special behaviour (like syncing folders elsewhere) are also wrong.

I use neither Dropbox nor Unison, but on the treatment of symbolic links, every program that somehow manages files have some sort of configuration option to decide whether or not to follow symbolic links. It's not about tricking a service into special behaviour. It's just that either handling by following or not following the links are both appropriate behaviour in different situations.

In the case of Unison, it chooses not to follow by default, but it also can be configured to follow as described here:

https://www.cis.upenn.edu/~bcpierce/unison/download/releases...

Furthermore, when the destination host is a Windows system, Unison refuses to not to follow a symbolic link, since Windows doesn't support symbolic links.


"symlink is just a file…"

A file for which you exclusively use lstat() & readlink() instead of all the other usual functions in the standard library you use for regular files. What about named pipes? Or sockets? Or whiteout? Are they too just files since they have a filename?


"Please wait: backing up /dev/urandom - 0% of NaN"

(To be fair, anyone who tries to backup /dev deserves whatever they get...)


  $ echo /dev/urandom | cpio -o | xxd -a
  1 block
  00000000: 3037 3037 3037 3737 3737 3737 3030 3030  0707077777770000
  00000010: 3031 3032 3036 3636 3030 3030 3030 3030  0102066600000000
  00000020: 3030 3030 3030 3030 3031 3737 3737 3737  0000000001777777
  00000030: 3133 3436 3430 3530 3035 3730 3030 3031  1346405005700001
  00000040: 3530 3030 3030 3030 3030 3030 2f64 6576  500000000000/dev
  00000050: 2f75 7261 6e64 6f6d 0030 3730 3730 3730  /urandom.0707070
  00000060: 3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
  00000070: 3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
  00000080: 3030 3130 3030 3030 3030 3030 3030 3030  0010000000000000
  00000090: 3030 3030 3030 3030 3133 3030 3030 3030  0000000013000000
  000000a0: 3030 3030 3054 5241 494c 4552 2121 2100  00000TRAILER!!!.
  000000b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  *
  000001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  $ echo $?
  0


I chuckled at the "TRAILER!!!". I wonder what other file formats have silly things like this.

From `man 5 cpio`:

> The end of the archive is indicated by a special record with the pathname “TRAILER!!!”.

This makes me wonder if this means that the cpio format can't reliably be used for files with the path "TRAILER!!!". Why would the format even need a special record to indicate the end of the archive? Is there any reason why one wouldn't be able to rely on the end of the file to indicate the end of the archive?


Seems cpio really can't deal with "TRAILER!!!" files:

  $ cd $(mktemp -d)
  $ echo foo > 'TRAILER!!!'     
  $ echo bar > barfile
  $ echo 'TRAILER!!!' | cpio -o | xxd -a
  1 block
  00000000: c771 2a00 31cc a481 e803 e803 0100 0000  .q*.1...........
  00000010: 025d ef8c 0b00 0000 0400 5452 4149 4c45  .]........TRAILE
  00000020: 5221 2121 0000 666f 6f0a c771 0000 0000  R!!!..foo..q....
  00000030: 0000 0000 0000 0100 0000 0000 0000 0b00  ................
  00000040: 0000 0000 5452 4149 4c45 5221 2121 0000  ....TRAILER!!!..
  00000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  *
  000001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
  $ echo 'TRAILER!!!' | cpio -o | cpio -t
  1 block
  1 block
  $ echo barfile | cpio -o | cpio -t
  1 block
  barfile
  1 block
  $ echo barfile | cpio -o | cpio -i --to-stdout barfile 
  1 block
  bar
  1 block
  $ echo 'TRAILER!!!' | cpio -o | cpio -i --to-stdout 'TRAILER!!!'
  1 block
  1 block


tar has two blocks of zeros at the end.

GNU tar uses entries where other tar implementations will overwrite previous files on extraction, AIX tar uses special four character names for binary blobs (plus xattrs as names, both after the affected entry), Solaris cpio uses another mode bit for sparse files, ACLs, and xattrs (I actually really like this, it extracts as a simple to parse text file[0] on other implementations), and most pax commands on Linux can't read/write PAX archive files.

FWIW I make use of TRAILER!!! to let me know in a pipeline that everything worked (imagine a command earlier in the pipe fails early and not every entry is processed but ends on a boundary), but here the two pages of zeros that tar uses makes more sense (about the only thing tar does better than cpio).

0: https://www.mail-archive.com/opensolaris-arc@mail.opensolari...


How does this work? Looks like a bug in xxd for me (o.O)


Nope xxd is fine, read the man page.

  $ PAGER='col -bx' man 5 cpio | awk '$1 == "mode" { print; while (getline) print }' | head
  mode    The mode specifies both the regular permissions and the file
          type.  It consists of several bit fields as follows:
          0170000  This masks the file type bits.
          0140000  File type value for sockets.
          0120000  File type value for symbolic links.  For symbolic links,
                   the link body is stored as file data.
          0100000  File type value for regular files.
          0060000  File type value for block special devices.
          0040000  File type value for directories.
          0020000  File type value for character special devices.
  $ echo /dev/urandom | cpio -o | dd bs=6 skip=3 count=1 | od -tc
  1 block
  1+0 records in
  1+0 records out
  6 bytes transferred in 0.000025 secs (239675 bytes/sec)
  0000000    0   2   0   6   6   6                                        
  0000006


SyncThing also gets this right.


Yes, I love syncthing for many reasons. Those complaining about UI support will not love syncthing any more than other replacements. Also, setting up ST on phone, AWS, and my desktop was an exercise in patience. I now have a config I'm happy with, but it took a lot of effort that I wouldn't expect from just anyone.


So a file structure of a cyclic graph of symlinks is wrong and shall simply just break and blame the user?

Or one where you have one large file and symlinks of it all over the place? Should it just explode in size unexpectedly?


I totally agree with this. Perforce gets it right for what it is worth.


I'll take "sentences I never thought I'd read" for $800, Alex!


This is a perfect description of my issue with their symlink handling, and their arrogant response to the complaint about it.


Ideally all these choices you mention would be configurable settings...


Is this really true? wow. I'm shocked that a company of Dropbox's size hasn't built native clients for each platform (or rearchitected the core to be based on something like Go or Rust that is fast and cross platform, and just building the UI parts in the native frameworks)


From their POV whatever is in their data centers will be microscopically optimized and written in carefully handcrafted Rust and then later covered in blog posts.

For clients their unspoken answer is 'upgrade hardware and stop whining' or 'we have strategic direction to deliver uniform client experience across platforms' which would just mean write some JS/Electron crap.


I'm guessing you never used Google Drive's Backup and Sync on Windows. I used it for the first time a month or two ago. Simply clicking the system tray icon brings up a blank dialog that takes seconds to render. Both Drive and the sync tool have been around for quite some time so I expected it to be a polished experience.

I also expected the integration with Google Photos to be excellent since Photos is a major Google service, but in a terrible case of bad timing I just happened to attempt to use it when Google had a Drive -> Photos service outage.


The client used to be great when it was "Google Drive" but of course they had to rewrite and rebrand it to make it unbearable. Enterprise users, IIRC, still get to use the good client though.


Google's much larger and they moved away from some excellent native clients like Google Talk, which IMO took the crown from MSN and other chat clients a decade ago. It's the same story for photos and other apps. They've consistently killed native apps and replaced them with poorer-UX pure web apps.

Meanwhile Slack is happily sticking with their Electron app and wasting the resources of hundreds of users machines and who knows how much electricity in total.


For reasons I cannot fathom, it seems like bigger companies are far less likely to justify the resources to build multi-platform native software than smaller ones.


Seems logical (if depressing) to me: companies that do less work to customize their product to their target customers will find it easier to get big in the first place. Companies that care about craftsmanship above all else have to deal with being small. The violinmaker down the street from me does excellent work but he's never going to be as big as Toyota.

Companies like Dropbox tend to make the bulk of their money by selling to other businesses, as well, which by definition is the set of customers who care more about volume and price than craftsmanship.

Pretend you're a Dropbox salesperson, and your job is to go to other companies to sell them on enterprise Dropbox. How many times do you think you're going to hear someone challenge you on what version of Python the Mac client uses? It just doesn't happen.

There's many small ("indie") companies that make great Mac software, and do it by being Mac-only. That means they'll never be huge, but it also means they're never going to have a second-rate Mac client.


My experience disagrees. I have a bunch of electron apps installed that single dev companies wrote


Does anyone still build native clients for anything?

It seems no one bothers anymore, no matter the size of the company.

Any native clients we have now were built years ago and now they are only maintained.

I think nowadays even Audacity would be an Electron app.


Yes, a company of dropbox's size definitely has an iOS team (not 1 iOS developer). They absolutely have the resources to do this.

But I suppose you're right. Even true of Slack. It's totally a meme that Slack's electron client is horrendous and bloated, but it probably hasn't stopped their growth, so where's the incentive for them to improve it?


What sucks is that server-side performance is their problem, and client-side performance is your problem. It becomes their problem if growth slows or if users leave, but it's often too late.


I'm starting a company and writing native clients. There isn't any reason not to. There are lots of cross-platform GUI libraries that are fine for business applications, you get native speed, there are plenty of languages that are both safe and fast. You get full access to the full power of the OS if you need it. I think the current craze of non-native clients is because of web-developers who don't know how to do anything else, so they just mimic a website on desktop.


>There are lots of cross-platform GUI libraries

In what sense is an app native if it uses cross-platform GUI libraries? Ahead of time compilation alone doesn't make an app native in my view.


It depends what they're using. Often, the cross platform libraries are abstractions that just call the native functions for that platform. Even in that case it's difficult because differences to that platform can cause minor layout issues.

There are cases where a custom, bespoke application for each platform is warranted, but that is rare. It's a continuum between the custom, bespoke and a UI/color scheme completely custom to your app.


wxWidgets uses the platform native controls and windows.


That last line made me involuntarily twitch so hard I threw my phone


Well, they're probably a little biased towards using Python, since they have the former BDFL just lying around :)


The UI is, at least on Windows, using PyQt, and thus, Python, too. You can find the dlls in DropBox' installation directory.


Just use iCloud.

I switched a few years ago. It works really well. Unless you are using Dropbox with a team or a corporate environment, iCloud is better. I use a combo of iCloud (love the desktop syncing between my machines btw), and Google File Stream for team documents.


To me, this mass exodus from platforms to iCloud is _scary_. I've been rolling my own solution for some time now based on Resilio Sync. I understand that I'm the minority and a power user, but honestly giving Apple (or Google, or Dropbox, or _____) control over my files like that does not appeal to me in the slightest.

On sort of a tangent, I'm also choosing not to use iCloud because I really feel like it gives Apple an excuse to establish anti-consumer practices when it comes to hardware repairability and data ownership. I had an amazingly terrible time at the Apple store recently and an employee tried convincing me that Google will sell my photos that I've uploaded to my G-Suite account. I believe what he said was "I just pay the $x/month for iCloud, because 3rd parties can't be trusted sometimes". To me, that is an amazingly terrible attitude that sounds like it came straight off the page of the language guidelines. As far as hardware repairability, Apple recently has moved to either soldered-on or proprietary connectors for their storage devices for most of their devices. In the 2016 MacBook Pros, they made an assembly to recover data via the lifeboat connector so if you had a logic board swap (which is what you get because they'd rather landfill/grind down than repair) your data could still be recovered.

https://9to5mac.com/2016/11/24/apple-special-cdm-tool-macboo...

This has disappeared on the latest models. Finally, Apple in the past year has discontinued their Time Capsule product and has not made any large improvements to Time Machine. It is still a nightmare to use with SMB environments, which seems to not align with Apple's silent killing of AFP in favor of Samba.


> control over my files like that does not appeal to me in the slightest.

Then self-host Nextcloud on your NAS.

> anti-consumer practices when it comes to hardware repairability and data ownership.

Hardware repairability? Agreed, but this goes hand-in-hand with security. IMO all hardware and data should be entangled with the Secure Enclave/T2 chip but Apple is a long way from that (looks, however, as if they are working towards it).

Data ownership? IMO Apple is pretty good with that. They care much more about privacy here than Google et al. If you truly want nothing on Apple's cloud, it's super easy to turn off iCloud too.

> I had an amazingly terrible time at the Apple store recently and an employee tried convincing me

I don't get tech people who do this. You go to a store, ask about a product that you are clearly more knowledgable than the employee on, and then complain that they aren't knowledgable? Unless you are lost there is zero reason for you to ask an employee about a product.

That said, I trust Apple not to datamine your photos. I don't trust Google on that.

> This has disappeared on the latest models.

T2 chip. Security/convenience tradeoff. I'll take the security every time.

Seriously, though, it looks like the only solution that you'll find palatable will be your own NAS with self-hosted Nextcloud - and, if you use a Mac, Time Machine.


> Then self-host Nextcloud on your NAS.

Nextcloud's implementation is terrible.

> IMO all hardware and data should be entangled with the Secure Enclave/T2 chip

This is an absolutely terrible implementation of security. There is no reason that your data should be tied to a circuit board that does everything. Mac logic boards are ticking time bombs.

> I don't get tech people who do this. You go to a store, ask about a product that you are clearly more knowledgable than the employee on, and then complain that they aren't knowledgable? Unless you are lost there is zero reason for you to ask an employee about a product.

We as tech enthusiasts should care. What is shown and received by all consumers is what leads the industry. I went in because the baseband CPU had flexion damage in my iPhone 7. I went in for the out of warranty repair. They asked if I had a backup. I said yes. They asked if I did a local or iCloud, I just said no, I use Google Photos. I then got this obviously scripted sales pitch for iCloud.

> That said, I trust Apple not to datamine your photos. I don't trust Google on that.

They're _probably_ datamining your photos anyway. This trust that people have in Apple seems to be pretty blind.

My entire comment was lead with yeah I'm a power user and a different case. My comment was tackling how Apple's attitude is anti-consumer.


> Nextcloud's implementation is terrible.

Please explain more


I have two major problems with it, what it's written in and how it manages files.

It's written in PHP. I'm not complaining about the language... I started as a PHP dev and fully recognize why an establishment might use it. The issue I have is PHP is always a pain in the ass to get configured properly. Of course there's always docker implementations, but even those haven't been constructed well imo.

Secondly, the way it manages files is absolutely terrible. Now I haven't really used it in about a year so I don't remember the specifics, but I now have a folder on my NAS that is pretty much not removable due to what I believe is an abuse of ACLs. What I really need is just something with a web interface that can sync with my other devices without imposing its own file/folder structure. At least with my experience in the past, this is a pain with Nextcloud.


Can't speak to your first point, as my only interaction with Nextcloud php configuration has been to comment in/out various php modules. I don't have too many modules though, so maybe that's why I haven't had any configuration issues.

Regarding file management, the working solution for me has been to mount any external storage with a fuse mount ( NAS, dropbox, etc. ), and then just use the Nextcloud "external storage" option. Other than Nextcloud's general slowness ( I'm running on an underpowered server ) I haven't had any issues.


I assume you're only using Mac devices though right?


iCloud for Windows was recently revamped after collaboration between Apple and Microsoft [0].

[0] - https://support.apple.com/en-us/HT204283


No Linux support besides a web browser interface though...any alternatives in that realm? (iOS <--> Linux)


Where did you get this info from? That link says nothing about a Microsoft and Apple collaboration.


Microsoft blog: “The new iCloud for Windows app introduces a new iCloud Drive experience for Windows 10 users powered by the same Windows technology that also powers OneDrive’s Files On-Demand feature, enabling users to be more productive offline on mobile devices and quickly share files on iOS.”

https://blogs.windows.com/windowsexperience/2019/06/11/apple...


The parent poster should've made it more clear! Because the Apple Support link posted does not mention this collaboration anywhere, unlike the Microsoft blog.

Edit: I'm trying the "updated" app now. No changes appear to have been made. It is still slow and buggy as hell, it still installs a ported and outdated version of half of the frameworks of OS X, as expected.


Collaboration has been heavily implied in all articles I've read about this. That Microsoft made a blog post[1] about it, saying "Apple and Microsoft", must mean something.

[1]: https://blogs.windows.com/windowsexperience/2019/06/11/apple...


Really limited on features no? No smart sync, revisions, or easy link sharing.


If you're on Mac, smart sync is available, it's native.


At least when I tried it a few years ago, the Windows client was also a crappy Python app that ate CPU and disk for around an hour after every startup.

Why? To detect changes, they were storing a snapshot and comparing everything on disk to the snapshot. Which is madness when Windows has methods that don't require reading every damn byte on the disk - at the least, they could use a filesystem minifilter driver, or the NTFS USN change journal.

As if that wasn't enough, after the startup scan they were using an unreliable method to detect further changes (same one as dotnet's FileSystemWatcher, I forget the name of the underlying Windows API).

And to top it all off, even with only 2 systems sharing the data, there were conflicts all the time that required manual resolution (and I seem to recall Dropbox wasn't very good about surfacing these when they happened). Then there was a data loss incident, I presume due to some kind of conflict snafu - Dropbox only support at the time was a forum, and they were completely uninterested in even acknowledging that there was an issue.

I switched to Seafile after that, and haven't looked back. I honestly don't understand why people would put up with that crap, but given the size of Dropbox they obviously do...


MIgrating to NextCloud, I'm pretty happy with it. It has many extensions, plugins, and helper applications. Say no to centralized web :)


I've been hosting NextCloud on a $10/month Digital Ocean VPS for maybe 8-10 months now, and I've been super pleased with it. I'm not much of a devops person, but I found it fairly easy to set up and configure, and it runs smoothly enough that most of the time it's indistinguishable from using third-party cloud file sync service. I occasionally ssh in to apply updates (and renew the Let's Encrypt cert, since I've been having trouble getting it to renew through cron and haven't spent much time debugging why), but that's about it.


How big is your sync folder? I have around 25GB I'd like to get off Dropbox.


Fairly small; it's only about 5 GB, so I can't say for certain how well it would work with something that large. At least at the size that I have, changes propagate across my devices pretty much instantaneously .


Sounds not too big magnitude in difference -- I'll give that a try


Mine is 5,1 GB; I've started more serious deployment for collaborative work and have set up a 20 TB shared folder, no problem. :)


Mine is 2TB (capacity), because I mounted my ZFS array at home via SSHFS as the data directory on my droplet.


I've used Dropbox since the beginning, and Nextcloud for the last few years. Nextcloud client seems to use %10 of the memory of Dropbox on my machines. I'm now in the process of switching to SyncThing. The advantage of Syncthing over Nextcloud, is you can used it centralized or decentralized (without a server), I dont need to manage SSL certs and I dont have to poke holes in my firewall. Syncthing client also uses very little memory (a bit more then Nextcloud, but hey Syncthing is both a client and a server). Each of these services have their own strengths, so it depends on the features you want.


The greatest power of Syncthing I've found is that once you get two devices to handshake, you're done.

Laptop, meet phone Id, phone, meet laptop Id. Laptop, meet desktop, desktop meet laptop. Oh I've got my server, server meet desktop meet laptop and vice versa.

Want some files to be available on all devices at once? Put it in the Bank Cannister folder which you've set as active for all devices.

Want to drop airdroid or plugging in your phone's internal storage to transfer media files to/from the phone? Setup phone<->laptop<->desktop folder named PhoneMusic and tell the syncthing app to store the contents of that file in the same directory as your already existing music root.

Want off-site backups but too cheap to pay for backblaze like me? Backup to Blu-ray, local external drive, and sync to off-site location (my dad's PC or DO droplet).

And when I say sync, I mean setup the syncing folders then let it background P2P sync on its own time. Eventual consistency might as well be instant for all but 1% of the time where you look for the file then see it written to the 'local' drive before your eyes.


I had a lousy experience setting syncthing up for the first time, but then a really pleasant experience using it. I would recommend it as a decent sync option


For those on Windows, I recommend the SyncTrayzor Syncthing wrapper. Made the thought of getting Syncthing initially configured a lot less daunting and made getting off Dropbox much easier.

https://github.com/canton7/SyncTrayzor


Have you considered Keybase KBFS for this? You get 250 GB for free, public/private with not too much metadata getting leaked, FUSE for desktop and also access on mobile devices.

I haven't actually moved over to this myself yet, but it does look much better than Dropbox or Sync.com (which I stupidly am still subscribed for despite their client being even worse than Dropbox - but at least it's encrypted...)

Nextcloud mentioned previously is the obvious choice for the privacy-conscious, but does take some further responsibility to ensure integrity and availability.


I like KBFS a lot, but you have to be careful about trying to use it as a Dropbox-alike. KBFS is always-online. If you have no network connectivity, you have no files.

It's also not particularly fast.


They have been working on this and you can actually do it today even if it's not very well documented (again, haven't tried myself):

  $ keybase fs sync --help
  NAME:
   keybase fs sync - Manages the per-folder syncing state

  USAGE:
   keybase fs sync <command> [arguments...]

  COMMANDS:
   enable       syncs the given folder to local storage, for offline access
   disable      Stops syncing the given folder to local storage
   show         shows the sync configuration and status for the given folder, or all folders if none is specified
   help, h      Shows a list of commands or help for one command


Interesting - I haven't seen this before. Thanks, that's awesome.


If you don't mind getting your hands a little dirty, you can basically just rsync a given local folder with your `/keybase` folder on a cron every so often.

It's obviously not a right-for-everyone kind of solution, but it does get you fast local offline sync functionality with very little effort.


> Nextcloud mentioned previously is the obvious choice for the privacy-conscious, but does take some further responsibility to ensure integrity and availability.

I'd recommend ownCloud over Nextcloud as Nextcloud doesn't have file checkumming during transfer.


Because it's web-based, I had huge difficulty getting ownCloud to sync web files like .htaccess. I ultimately abandoned the effort, and I don't know if that has improved any.


Google's is much worse for any significant number of files. It burns a bunch of CPU/battery like you described for Dropbox, but it also freezes eventually and has to be force-killed. I gave up trying to sync my former Dropbox files to Drive.


When was the last time you tried Google Drive?

I had the exact opposite experience. I tried to sync about 700k files to Dropbox and it chewed up CPU for hours, never got past "Preparing to Sync" (or whatever is the equivalent), then crashed. I tried a number of things. Circa about 2 years ago.

Google drive does annoy me when it decides to do a "full scan" and won't sync anything new until it completes, BUT, it does sync all my data, and it doesn't crash or use tons of CPU.


I tried deleting a few thousand files from Google Drive and they just got stuck in the trash...had to manually select them all a screen at a time and delete them from the trash, since "empty trash" didn't work. I also ended up with several thousand "unorganized" files at one time--files that are visible to search but not shown in any folder.


Drive does seem to run into their own API limits which is kinda dumb for a product targeting business use.


  > Does anybody know how the CPU/power impact of Microsoft's and Google's offerings are on the Mac?
It doesn't matter, because from your stated issues with Dropbox, neither OneDrive nor whatever-google-is-calling-it-this-week will provide a suitable replacement for you. They both suffer from the same (and worse) shortcomings as Dropbox.

Neither competitor qualifies as "a folder that syncs" and they both install all kinds of junk to your system.


Maybe this is heavily dependant on the file structure of what's being synced, but I've tried Google Drive, iCloud, OneDrive, and Dropbox, and all but Dropbox have exhibited the CPU melting issue you describe.

Dropbox was the only one that managed to sync 10s of gigs in a timely manner, without spending hours "analyzing files" before starting to upload.


I would do selfhosting:

big with https://www.freenas.org/

small with https://freedombox.org/

scaling with https://nextcloud.com/

If you cant do any self hosting https://nextcloud.com/ can be paid for. THere is a demo here https://demo.nextcloud.com/


Seafile is a wonderful Dropbox replacement:

- https://www.seafile.com/en/home/

Open-source and all. :)


Hmm, it is made by a Chinese company. That gives me pause.


Seconded. Significantly better than Nextcloud for file syncing. Nextcloud syncs over Webdav which can be pretty painful.


> Significantly better than Nextcloud for file syncing

Can you share numbers?


Only the community edition is open source. Nextcloud has no "Enterprise" edition.


the windows client constantly keeps a 3d rendering context (chrome) alive preventing my gpu from downclocking.

as long as the client is running, my GPU is tacted at 1.6 GHz, if i kill the client GPU settles at around 0.14 GHz. this makes quite the difference in power consumption of my machine when left idle for multiple hours the day.

nowadays i only start the client when i want to sync files or expect to receive some uploaded by my peers. after thats is done the client gets killed immediately.

but why does it have an 3d context running you ask? for the small notification window where i can track the sync progress. i still remember the "native" solution they used few years back, did not have drop shadows, but the entire functionality was present via an WinAPI menus. Considering one can, with some OwnerDraw work, put progress bars and scrollable lists in Menus, i don't get the point of using an whole web browser to display a 600x200 popup.

They really should take a look at bvckup2, how fast and efficient a backup/sync tool could be done in native way


At my small startup we tried using Google Drive as a Dropbox replacement a year or two ago. We are paying for Google apps so it made sense to try they're Dropbox-like service, and it had some seeming advantages too. We found it to be a lot less reliable than Dropbox in most senses. UI is worse, error handling is poor, you may easily end up losing data. Not worth it. Now we pay for Google apps for gmail, and for Dropbox for file sharing. Which btw has become a lot better now that there is cloud sync available in the pro subscription (not only in the business subscription), they raised the price from $10 to $12, but I'm so happy that I have been able to recover some much needed disk space in a convenient way!

I agree with the issues with the Mac OS client burning too much CPU/battery, I've learned to live with that as an inconvenience, since otherwise, it works great by fulfilling the top priority you want in a service like this: it is reliable.


Get your own NextCloud instance; you'd need to pay for some Linux VPS (<$5/month); installation takes 5 minutes and you have clients for all major desktop/mobile platforms.


Ultimately, after that $5/month plus storage costs, you still have to handle security patching, DR, and everything an infrastructure engineer does all on your own.

Not to knock it, I think it's a great option. It's just not for everyone, not for the dentist next door or anything.


There are oodles of managed nextcloud providers too, their pricing generally matches up favorably with standalone VPS pricing: https://nextcloud.com/providers/


Hetzner provides nextcloud storage for €3. I have used their storage boxes before and they were good.


I think it's a great idea for somebody that already runs their own VPS for their own homepage etc. Once you install NextCloud, you can continue by installing ActivityPub-based decentralized apps, replace most cloud offerings, and be happy about it ;-) I did that; arguably I am not a dentist but if some friend asked me to, I'd have done that for them.


Symlinks in general suck on OSX. Try symlinking a file from an NFS mount onto your desktop and see if you get a thumbnail for it in Finder. In Finder, you won't. Now you might think, "well that's NFS, it's probably not thumbnailing those files because the latency exceeds some timeout." That's what I thought. However if you add that same directory containing such symlinks to your dock, you will see thumbnails for symlinked files when previewing that directory from the dock. If MacOS can thumbnail those symlinks when previewing the directory from the dock, then why can't Finder thumbnail those same symlinks?

(Also in third party Finder alternatives, like Commander One, you will typically get thumbnails for symlinks.)


They suck on Windows, too. I've tried using junction points more than once to share a common library directory among several different projects, and have always ended up in makefile hell when some projects 'see' changes to files in the library directory while others don't.

I can understand why Dropbox doesn't want any part of the dumpster fire that is symbolic linking. Maybe they work great on Linux, where they are a core aspect of how the filesystem works under the hood. But Dropbox has to present unified behavior across all supported platforms, and the last thing they want is to be put in the position of providing tech support for filesystem bugs and quirks and race conditions.


Yeah, when it comes to cross platform stuff I'm pretty forgiving with this sort of thing. Finder botching it sends me up a wall though. It's probably only a few lines of code at most to fix it, but Finder is closed source so I can't investigate it myself, let alone fix it, let alone send my fix upstream.

(And frankly I'm hesitant to even report it as a bug, since for all I know Apple will decide that NFS/symlinks getting thumbnailed in the dock preview is the real bug, and "fix" that leaving me worse off than before.)

Edit: Also sort-by-kind also fails in Finder when symlinks are involved. When "keep folders on top" is set, symlinks will still sometimes (but not always) appear above folders.


They also just put the price up of the plus plan $20 a year. I already pay for iCloud so I don't know why I'm still a customer really. Laziness I suppose. I trust Apple with my data a lot more also.


iCloud doesnt offer file history though. Once you accidentally delete a file, it’s gone.



That’s only for deletion, not when you accidentally overwrite something. Or a file got overwritten by something else or got corrupted etc.


Good point. Luckily I make encrypted backups to an external drive with timemachine, but you bring up an important detail when considering options.

I use the 'Drive' app of my Synology NAS and I am very happy with it.


I've also been in the process of moving off both Dropbox and Google Backup & Sync because they are such resource hogs on the Mac. iCloud drive isn't perfect, especially when it comes to sharing, but I'll accept that if it means my fans aren't going to be on full blast when it's running.

I can't remember a time when I've had Dropbox open and not found it at the top of the CPU tab of Activity Monitor. This may be because I have a couple symlinks (not many, just some dotfiles) or because I have a large number of files (nothing ridiculous, ~100k photos backed up) but the fact is, it's been long enough for Dropbox to have figured this out and fixed it.

It's bad enough to where I now leave Dropbox off all the time, then only turn it on when I need to sync something. With iCloud sync I don't even think about it, which is the way it should be.

I opened Dropbox before starting this comment to see the new UI and even after giving it enough time to catch up, it' still using between 48 and 127% CPU. It makes even Outlook feel breezy.


Might not be right for everyone, and it's certainly not the best thing for this, but it's cheeeeap and practical... I use AWS S3 for sending files to others. Basically no file size limits, and you just pay for what you actually use, which is typically less than a few bucks/month for me.


I feel like this is going to be some huge electron-type update. Anyone know?



I've used Dropbox quite a bit and over the years via various promotions they ran worked up to over 8 gigs of space while still remaining on their free tier. A few months ago I switched from a combination of Dropbox and Google Drive to SpiderOak which has end-to-end encrypted storage. Been pretty happy with it thus far.


Agreed. Their iOS client is a huge pain too. Finding files is a bear. It’s so bad that Apple’s “File” app is a much better way to browse and search Dropbox files. I suspect in macOS Catalina we’ll be able to search files through a similar way.

Also, Dropbox Paper shows the same lack of attention to detail. The iOS client has all sorts of really stupid basic bugs like undo and copy & paste not working properly. It’s nuts.

It feels like Dropbox’s culture is to ship a product and not do the hard work that it takes to make the core basics rock solid on all devices and platforms. It’s really hard work, but it’s essential for a user base as large as theirs.

The even harder part is for their leadership and PMs to say “No” to new features until they hey the basics right; otherwise they are going to find themselves in the position of doing a lot of things not very well.


No battery issues with google filesync on my mac. I do wish however that they'd spend some time improving it. Sometimes files never leave the cache which end up taking up a lot of space.

Solution of course is to just use rclone and mount Google drive directly.

For the price Google beats everyone.


Resilio and folder sync are popular p2p options if you don't need a web interface


Also, Syncthing if you want something open-source.


When you say 'support symlinks' what behavior would you expect the service to have with them?

I run a company with sync software, we treat them same as any other file so if you have one in a folder set to sync, we sync it, we don't follow the link and sync the linked file (as the link could go outside of the configured sync folder).


I guess you're doing it the way liyanage prefers. Dropbox, on the other hand, follows symlinks: https://aurelio.net/articles/dropbox-symlinks.html


Yes that's exactly what I need. Just sync the symlinks to the server and back down. Don't follow them.


I wonder how much of it is Pythons fault, how much is the way they designed it, and how much is the problem domain.


A well-written Python app using the respective platform's native events through say, watchdog[1] performs perfectly fine for huge numbers of files[t]. The language used isn't at all the problem with Dropbox's performance which has been a problem for as long as they've had a desktop app.

If there's one specific bottleneck (ex: hashing files) then that's a prime candidate for Cython[2] or the plain CPython C-API.

Even when you have dropbox restricted to a small folder with _no IO events at all_ it's still constantly working, which is the real problem and entirely an optimization/design problem.

[1]: https://github.com/gorakhargosh/watchdog

[2]: https://cython.org/

[3]: https://docs.python.org/3/c-api/index.html

[t]: ... except when forced to use kqueue or polling


Agreed, and I'm a big Python fan myself, I didn't mean to bash the language.

Somewhere between cool MIT dorm room side project and serious company there is a point where it's time to ditch it and reimplement it in in something that performs better.

Another drawback of it being Python is that when it is causing the fans to spin, I can't inspect what's going on with Activity Monitor's sampler. It's all opaque nameless Python stack frames.


I highly recommend Tresorit. I've been using it for just over a year and couldn't be happier. Simple interface and the app seems very performant (macOS). At least I haven't noticed it hogging resources.

https://tresorit.com/


Pretty happy with OneDrive for Mac these days. They've been investing in improving it, and it shows.


Now try to have a Windows machine with Dropbox, Microsoft One Drive (very hard to turn off) and Google Drive! I've saved a lot of Windows machines just telling the owners to uninstall these services.


Why not just get your own box and put NextCloud on it?


Just use iCloud instead of Dropbox.


It’s a cautionary tale about Python. If you start there you will never get off of it. You can hire Guido but you still won’t be able to go from 2 to 3.


I find this sentiment amusing but inaccurate. going from 2 to 3 isn't that hard and going from python to something else also isn't that hard either. If there are tests that should handle all of the compatibility checks for a full rewrite.


> going from 2 to 3 isn't that hard

That's true now, 6 months from EOL of Python 2, where all the common dependencies have upgraded, and there finally is agreement that Python 3 is the way forward.

That should have been true on the day Python 3 was released.


Going from 2 to 3 isn't that hard because Python 3 was released ages ago with the expectation that the changeover would be gradual.

The only ways I can see to make it that easy on the day Python 3 was released are (1) no backward-incompatible changes (but enabling such changes was the whole point of Python 3) or (2) doing all the preparatory work before "releasing" Python 3, which in practice would have taken just as long and required there to be a pre-release Python 3 to work with.

#1 misses the main point of having a Python 3 at all. #2 basically looks just like the way things actually are, except that Python 3 is labelled "alpha" or "pre-release" or something for years longer.

People like to complain about how slow the Python 3 changeover has been, but it seems to me that it's worked. The obvious point of comparison would be Perl 6, which hasn't exactly been a triumphant success. (Though there are many other differences between Python 3 and Perl 6, and it's not at all clear that Perl 6 would be widely used if they'd adopted a model more like Python 3's.)


Not to mention that just about all of the changes I've heard about in Python from 2 to 3 are changes that Perl5 has already handled in a backwards compatible way. (In at least some cases the changes happened more than a decade ago.)


I strongly feel this is a bad direction for Dropbox. Many companies have tried to integrate tools together. It's always half-baked simply because those tools aren't designed to be integrated. I find it kind of odd Dropbox would be bragging about a dropdown menu to create a Google doc. Surely if that's important to me I get Google drive - the integration will be better because the same company makes the different tools and you can actually stay within the eco-system. If Dropbox are planning to compete with this it's very difficult to see how they win over Google.

The integration with Google makes sense because they already own the tools that you're moving between. It seems really funky to have Dropbox crash that party. If you're trying to integrate with tools outside of the Google eco-system maybe dropbox atleast tries to allow it, I just can't see how it'd be anything other than clunky though.

Personally what I value is just basic cloud storage with a decent automatic sync. Obviously storage has turned into a commodity and dropbox are trying to compete on a new level, it just seems boggling to me that this is the direction they've taken.


> Personally what I value is just basic cloud storage with a decent automatic sync.

That reminds me of a pretty famous Quora answer (here https://www.quora.com/Dropbox-product/Why-is-Dropbox-more-po...) that described why Dropbox succeeded:

> Well, let's take a step back and think about the sync problem and what the ideal solution for it would do:

There would be a folder. You'd put your stuff in it. It would sync.

They built that.

Why didn't anyone else build that? I have no idea.

"But," you may ask, "so much more you could do! What about task management, calendaring, customized dashboards, virtual white boarding. More than just folders and files!"

No, shut up. People don't use that crap. They just want a folder. A folder that syncs.

"But," you may say, "this is valuable data... certainly users will feel more comfortable tying their data to Windows Live, Apple's MobileMe, or a name they already know."

No, shut up. Not a single person on Earth wakes up in the morning worried about deriving more value from their Windows Live login. People already trust folders. And Dropbox looks just like a folder. One that syncs.

"But," you may say, "folders are so 1995. Why not leverage the full power of the web? With HTML5 you can drag and drop files, you can build intergalactic dashboards of statistics showing how much storage you are using, you can publish your files as RSS feeds and tweets, and you can add your company logo!"

No, shut up. Most of the world doesn't sit in front of their browser all day. If they do, it is Internet Explorer 6 at work that they are not allowed to upgrade. Browsers suck for these kinds of things. Their stuff is already in folders. They just want a folder. That syncs.

That is what it does.


>No, shut up. Most of the world doesn't sit in front of their browser all day.

well, I've got bad news for the guy. Just being a data storage company is probably not a great business strategy because the web and competition have become ubiquitous.


I disagree. If you have a niche, and you do it WELL, you can do that. And Dropbox did.

But now they are messing that up. And not just this. They implemented a 3 device limit, and the next level is super expensive. Unlike any of their competitors. I'd say that is not a great business strategy.


Doing well in a small niche is fine for a lifestyle company - for a public company like Dropbox expected to keep growing? Not so much.


If it's staff that is expected to keep growing, then yes.

Reminds of Evernote which eventually had 50:50 management/development split


That answer is 8 years old. Files seem to be disappearing from a large number of problem domains, in favor of webapps. That doesn't bode well for Dropbox if it is a trend that continues.


Hiding file systems is both en vogue and maddening for people who actually work with files. Which is everyone, even if they don't know it. The amount of assistance I've had to give even technically-competent users when it comes to even finding where the heck their data even is has skyrocketed over the past couple of years.


!!! I have experienced this. It's primarily people with shiny new macbooks who can't figure out where any of their files actually are even though they are constantly editing them!

Eventually there's going to be some serious blowback. You can't expect people to efficiently use their computers if they can't even find their godamn files!


Interestingly enough, Dropbox is/was popular on iOS because of being the closest thing to a filesystem.

With iOS13 this also erodes, but going against the trend was beneficial for them up to this point.


I've looked for Dropbox alternatives, and none of them match up in ease of use or features. A folder you put stuff into and that syncs to everything else (with optional selectivity so that your 250 GB music library isn't synced where you don't want it) is amazing, and that it works on everything from iOS to Windows to Linux is amazing.

It'd be great if the clients were native and faster or whatever, but shipping beats perfection.


> Personally what I value is just basic cloud storage with a decent automatic sync.

Similarly. That was the biggest appeal to me back when I first discovered them and they were giving out bonus space for their free plan depending on the number of people that any one user referred. On top of this shift, didn't Dropbox just limit the number of computers one could have their data synchronized between? These moves seem bad overall.


The limit on number of syncing devices has me exploring other options - I'm an oldschool Dropbox user, I got most of my storage space with referrals years ago, and I consume about 6GB on the free plan. I don't need 2TB. I don't really even want 2TB, and I'm certainly not going to pay over $100 a year for 2TB. I'd pay some smaller amount of money for the ability to sync additional devices without storage that I'll never use nor need, but nobody does a-la-cart pricing.

Apple will sell me 50GB on iCloud for $0.99 a month. That fits my needs much better, I just need to go through the exercise of making sure their web interface isn't horrible on my one remaining Linux system.

In fairness to Dropbox, I'm probably not the kind of user they want at this point. They got their mileage out of my early referrals, and I've never paid them a cent.


You (and I) were definitely part of the problem, but limiting the number of devices was brilliant on their part as it forced me (and many others) to think hard about my options. Unlike you however, I came to the conclusion that 1) Dropbox are far superior to the competition for me (eg., I regularily build and test out of a Dropbox folder), 2) I actually get enormous value of it. $120 (they raised the price) is worth it.

I am also unimpressed with this new desktop app which solves a problem I don't have, but as long as their core syncing tech. remains functional, I just want them succeed.


> ...as long as their core syncing tech. remains functional, I just want them succeed.

I feel likewise. But I'm afraid their core tech will slowly fall into neglect as they cast about for new revenue streams - and in this particular case that core tech does too important a job for me to tolerate even moderate neglect.


The limiting isn't really the problem, because its smart like you said.

The problem is free -> $120 a year is a big jump. I don't need 2TB of space. I probably don't even need 10GB of space. But I would pay $50 for more space and more devices.


I don't need 2TB either, but I do need a cross-platform solution where the incentives of the company are aligned more or less with mine in providing the service.

iCloud will always primarily be about Apple devices, which I like well enough and have several of, but maybe won't always. Microsoft's offering will probably be the same from the PC side of things. Google will offer me the world for free but data mine the hell out of it.

Dropbox seems to really care about cross-platform experience. Except in rare cases, it just works. It's just folders from my POV. And so... I pay them about $100 a year and they provide this service. Seems to have worked out pretty well for me.


No idea about linux users, but onedrive on mac is virtually indistinguishable to dropbox, but with more function with ms product integrations.

These days it's been apple being lazy with cross platform, not microsoft.


There are no official OneDrive client for Linux.


The dropbox linux client works, but it's not great.

It's recently stopped syncing for me because it now only supports ext4 filesystems, for some reason - and I currently have everything on btrfs.


You can use a loopback file to work around that, e.g. see https://metabubble.net/linux/how-to-keep-using-dropbox-even-....


Thanks, didn't know that. I think I'll just stop using Dropbox, though.


When I had to renew my Apple developer account for PhotoStructure to sign binaries, I tried to log in on my Linux desktop and was getting back http 500 server errors. On a whim, I tried on my Mac and the same URL stream worked.

Realize they aren't prioritizing cross platform testing or support. I found that other people had reported the issue a while ago.


Look at things from another perspective: this drop-down menu that gets extended with all these “pluggable capabilities” is the very same menu, conceptually, that you get when you right-click in the empty space of a folder in Windows Explorer or the macOS Finder.

As far as I can tell, Dropbox’s vision is of having the same sort of thin-client experience of having an app that represents “your files” and lets you do things do those files like an Explorer or Finder would—but with this app providing these integrations regardless of your platform (Windows/macOS/Android/iOS/ChromeOS/Linux) or cloud provider.

This is already the play that Slack used: despite Google Hangouts being integrated better with the Google enterprise ecosystem, people still use Slack instead, and take advantage of its integrations with Google apps instead. Regardless of platform or ecosystem, Slack supports your use-case, such that it’s easier to get everyone in an organization to agree on Slack than to get them to agree on a platform/ecosystem. Dropbox thinks it can pull off the same play, for the “file explorer” use-case. Dropbox wants to add enough functionality that the “best-practice workflow” for an enterprise—the one that onboarding docs get written about, the one they train people in—will involve using Dropbox to move files around and open them in various apps, because that’s simpler than the docs they’d have to write to explain how to do the same thing in the different paradigms of each platform the enterprise supports.

It’s an enterprise B2B play, though, and sadly, there’s already a neutral third-party “Windows Explorer in the cloud” that has beat them to capturing this market: Box. They’re definitely trying to fight Box over market-share here, and I’m not sure they’ll manage it; Box focused much more on things enterprises really want from the start (like document security—IBM can put its customers’ data in Box without worrying, etc.)


if that's important to me I get Google drive - the integration will be better because the same company makes the different tools and you can actually stay within the eco-system. If Dropbox are planning to compete with this it's very difficult to see how they win over Google

I agree with you completely, Google should have squashed Dropbox like a tiny, helpless bug that it is in comparison. Yet reality disagrees and they haven't.

Google can't even deliver a proper client for Google Drive on Linux which is a system many Googlers use. It all remains a mystery to me.


> Google can't even deliver a proper client for Google Drive on Linux which is a system many Googlers use. It all remains a mystery to me.

Despite it being promised at the launch of Google Drive, several years ago. I finally moved off of Drive to nextCloud as a result.


If you can use nextCloud at all, as a substitute for Google Drive, then Drive isn't the product you wanted in the first place.

The strength of Google Drive is in the collaborative document editing. Not the "drive" aspect of it.

Today anyway. It didn't start out like that.

As a sort of global filesystem, it fails miserably IMHO and always did. Even if it were available on Linux, I wouldn't use it for that purpose.


I use Google Docs / Sheets both at work and for some personal stuff.

I would never use Google Drive because it's a piece of shit. Whenever I used it I ended up with data being corrupted and this happened for both the standard Backup and Sync and the new Drive File Stream. Files being corrupted or missing is the worst scenario possible for a file sync service. Not to mention it's really, really slow and inefficient.

I keep using Dropbox because it's the only one that works.

Also I don't get what the point of the Google Docs integration is, but who knows, I might end up using it.


I can see the integration as being useful in your not having to remember what service your files are on.


I agree. Looks like retreat to me.

Previously when they bought Mailbox or when they introduced Paper (which I never used...) I thought they are up to something exciting and innovative regarding how we work/do common workflows. Now it looks like they outsource the most important parts to others and accept being the glue in between. Integrations are just not that exciting


I might not be fully understanding your point but I would disagree with the idea that just because many companies have tried to integrate tools together and failed that it must point to some inherent flaw in the idea itself. Instead it should just point to inherent difficulties in executing the idea.

All of our tools having silos of data and only having difficult to implement one-to-one integrations seems broken- it does not feel like it has to be this way as part of the nature of the software.

Here are two reasons we have not yet seen this executed well:

1) If you're Atlassian or Microsoft it's likely perceived that it's not in the best interest of your business model to spend a non-trivial amount of resources on deep integrations with 100's of popular 3rd-party apps but instead it's much easier to see how it is in their best interest to just clone those popular apps and deeply integrate them into your suite. This way they keep users using their software and are able to charge for the new app (or eventually charge more for the suite).

2) So then there's space left for a software solution to enter the market that does world-class deep integrations with the 100's of popular SaaS api's and a great UI/UX that makes working across all of these apps intuitive- potentially an entirely new level of usability in modern productivity workflows. But as a startup idea this actually does tend to fail and I think it's primarily because it's a non-trivial engineering problem to build these integrations and a startup, with scarce engineering resources, is forced to choose ~1-3 integrations to start with as their initial customer-facing version. This then results in a product that is not compelling and just seems like yet another one-to-one integration solution.

It seems that if a new level of software interoperability enabling a new level of user experience is to happen the startup would have to be very well funded with a decent "stealth mode" runway. Or a large software company would have to throw a decent chunk of resources at the idea (not PM's convincing the business case for an integration piecemeal).

And then there's one other way this could happen:

If you look at Android and iOS you see that they already have thousands of productivity apps integrating deeply with their native API's. And already this has enabled things like iOS Actions Extension API where you can send something like a pdf to any app you have installed that registers its ability to handle pdf's. On Android features like Slices allow an app developer to put a "slice" of their UI into other apps based on the intent or action happening on the other app. I can see a future where Apple and Google increasingly push their mobile operating systems to the desktop-size screen and the productivity user base. While it may seem unlikely now it may be that iOS and Android are best positioned to introduce a new level of software interoperability to the modern enterprise productivity market in the form of a better desktop experience.


> All of our tools having silos of data and only having difficult to implement one-to-one integrations seems broken- it does not feel like it has to be this way as part of the nature of the software.

The problem is completely self-inflicted and caused by greed. It isn't difficult to make software interoperable - you actually have to work hard to make it non-interoperating. Which is precisely what aforementioned companies did by creating data siloses exporting just tightly-controlled APIs, guarded by ToSes preventing interop from happen organically. SaaS companies broke interoperability on purpose.


Looks like Zawinski's Law is still 100% true:

“Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.” Coined by Jamie Zawinski (who called it the “Law of Software Envelopment”) to express his belief that all truly useful programs experience pressure to evolve into toolkits and application platforms (the mailer thing, he says, is just a side effect of that). It is commonly cited, though with widely varying degrees of accuracy.

http://www.catb.org/jargon/html/Z/Zawinskis-Law.html


So why are there no really good email clients?


Because email clients can only be as good as email itself, which isn't really good. ;)


I know you're being facetious but email clients fail to satisfy me primarily when it comes to search and organization, remaining performant when dealing with large archives of mail, good UI/UX and robustness / reliability. None of these are really problems inherent to email, though they are perhaps inherent to software.


I think the same problems appear in other domains with large libraries. Music players have also been historically terrible with bad UI, slow searching and many of the same issues you mentioned.


surprisingly I have found rhytmbox by the gnome devs to be pretty good. It does what is supposed to very well and it works which is all I want out of a digital music player.


Back around 2000 programs were instead expanding until they were able to burn CDs. And apps a few years ago - until they included Snapchat-like stories.


I've never heard of this, thanks for sharing. So true.


Whatever happened to the philosophy of “do one thing and do it well”?

I use Slack and Zoom often, but I have never once thought — gee I really wish I could just open up this presentation in Dropbox directly into my Zoom meeting. I just don’t see the integration working in that direction.

Sure, Dropbox should make sure that it’s available as a provider to save/open files for other programs — that make sense. The integration with MS Office makes sense — where Office is aware when you’re working on files that are stored in Dropbox.

This just seems like they are trying to do too much. I can’t see the strategy...


> Whatever happened to the philosophy of “do one thing and do it well”?

When you're a startup, you do something new and (hopefully) do it well. You get customers and you grow.

Eventually you become an established company. You do your thing really well, and customers are happy to pay you the price you ask. You make a healthy profit margin and times are good. Competition takes notice.

You keep doing things well, but your competition has a second-mover advantage. They get to work with newer tooling, no legacy codebase, all the benefits of a fresh start. They start to win your customers away from you.

You're doing things well, but it no longer really feels well, because your success in the marketplace no longer correlates with the maturity and quality of the product you're offering. You may have an incredibly mature and well-supported product, but it feels stale. It turns out that customers appreciate qualities like "refreshing" and "modern" that your product seemingly lacks.

As you start to lose customers, your declining revenue forces you to lay off employees and your stock starts to decline. Without a big change, you go out of business and shutter your doors for good. The executives are forced to sell the IP for pennies on the dollar to some patent troll as part of the company's bankruptcy and liquidation proceedings, and might open-source the IP if no buyer can be found.


> You keep doing things well, but your competition has a second-mover advantage. They get to work with newer tooling, no legacy codebase, all the benefits of a fresh start. They start to win your customers away from you.

... so you're saying the first-mover begins coasting and fails to invest in its product, while the plucky upstart puts in novel research and development.

That might be common, but it hardly seems inevitable. If anything the 'old guard' should have a relative advantage from better know-how, including knowledge of what pitfalls to avoid.

The true underlying issue might be the false assumption that market position is durable, rather than purchased with a depreciating investment in tooling, process, and technology.


> That might be common, but it hardly seems inevitable.

You have circularized the discussion. Solatic's post is not suggesting that it is inevitable, as it is a response to the question "what's wrong with doing one thing well?"


It's called the Innovator's Dilemma.[1]

[1] https://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma


I agree - grow or die. “Do one thing well” might work well for open source Unix CLI tools, but not for companies with shareholders expecting dividends. I wish it wasn’t that way, but that is how it is.


That's the issue with taking too much funding or going public. You become beholden to the profit margin and the quality of the product is completely irrelevant if it still prints money. You turn your company into a metastasis, demanding exponential growth, market share, and profit as the only metrics of success.

What ever happened to just doing well enough to pay the bills, your employees, and a touch saved for a rainy day? Thousands of companies operate like this: restaurants, shops, trades, nothing you'd find on the NYSE of course. Why do you need to double in value every few years? Expand exponentially like a cancer? As your company grows and you wrangle more engineering talent into your directionless product, how much innovation are you stifling in the process? These engineers could be founding their own private companies instead of working for your public monstrosity, they could be working on products that are good on merit and bad on profit. We could be years ahead if corporatism didn't invade engineering and silo the best talent into contracts of secrecy, shattering open communication on technology in the process.

Take self driving cars. Quite a few companies are working on the same goal, repeating the same work. In an ideal world these engineers would all be in the same building, sharing notes, running joint experiments, and the end product would be sponsored by all the companies funding the endeavor. But instead we live in a world that values getting there first and 'beating' your colleagues in other companies, even if it takes longer than if everyone was collaborating. We value the dollar more than the technology.


I agree with a lot of what you're saying, but I think with the self driving car example having diverse competing approaches helps avoid stagnating on a local optimum.


Right, but whats the point if you can never learn about these different approaches and freely discuss them and improve them? I mean there could be two people in an apartment building in the valley banging their head on their desk over the same issue and they could never talk to each other about it due to NDA.

We all learn about collaborating and helping people with their issues——really just teaching each other, the best way to learn imo——with capstone projects in engineering schools, then we forget it all when we enter the workforce and sign our NDAs and suddenly gag ourselves from talking about our work to other people in the field.


The open source world really kills your argument. Red Hat is on the stock exchange and it is fairly happy to work on a product for long time periods (rhel and related products) without it turning into a gigantic blob. I feel it just depends on the industry. Some industries want rapid development while others (like the enterprise) value stability.


> Whatever happened to the philosophy of “do one thing and do it well”?

It's simple: no company wants to pour money into bugfixes. Managers / PMs / "product owners" who advocate for big, new changes (something like "integrate services" to "drive user engagement") get funding.

In a business view, if you're standing still you're at risk of being left behind. As long as software is tied to a company, it will never remain simple and do just one thing. The incentives are simply not aligned.


> In a business view, if you're standing still you're at risk of being left behind.

On a related but perhaps off topic note; Is that wrong?

I agree with everything you've said. Yet, I do wonder, is that business decision wrong? I've not spent much effort on the business side in my life, but from the outside I feel like I agree with their statement. Maybe not so much as in the "left behind" mantra, but more specifically I feel once a business reaches "success" (however you want to define that), your next objective should be maintaining/expanding the core product, and diversifying entirely.

It seems to me that being a one product company runs a risk of another company choking you out in various ways.

As an end user I of course love my products to say solely focused on the thing I want. I want Spotify to be my music app, nothing more. But I can sympathize with the decisions to diversify a companies offerings even if unrelated to the original core product.

Thoughts?


I agree. I know why humans must diversify, to avoid having all their eggs in one basket, but why is it obvious that companies should? Their owners should invest in other things, but maybe it's better to admit that a given company is a bet on a particular niche, and if it dies, it dies.

In fact I'd go a bit further, and say that if every company seems to become a conglomerate, that's a sign that something is broken in how a country works. If it's advantageous for two companies doing completely different things to be under one name, one roof, then it's likely that their real skill is in something else, like political connections, not in making whatever products it is they make. And that's unhealthy.


I agree in the frictionless vacuum sense, but I think you're missing an element of how firms work.

Just spitballing, but it's incredibly non-trivial to both aggregate skilled labor and organize them into an effective entity. Being eager about tearing down and spinning up these organizations to keep each entity single-purpose seems like it would be a lot less efficient (and competitive) than taking advantage of an existing well-run organization to do things that are somewhat related.


> It seems to me that being a one product company runs a risk of another company choking you out in various ways.

One possible solution then is to change your company to be a multi-product company, instead of adding new-product features into your one product.


> As long as software is tied to a company...

I hope you're wrong, or at least wrong enough to leave room for a few "small is beautiful" outliers.


They need to hit their growth numbers. Either they come up with something new ( which is really hard) or they keep expanding their current main product. The latter is much easier.

In my view a lot of products could be frozen once they are mature . MS Office could have stopped most development a decade or more ago, Gmail could have stopped years ago. Windows could have stopped UI changes with XP or 7. But what are all these people supposed to do if not tweaking their product?


Such a good point. I think MS Office peaked with Office 2003. Most changes since have made the product slightly worse in my opinion.


> Whatever happened to the philosophy of “do one thing and do it well”?

Investor demands for growth. Dropbox already did one thing well. But they took money on the promise that they'd do more things and make more money than they could with that one thing they did well.


I wish more companies would take the Craigstlist model. There are very few posts they charge for and it's enough to keep the company totally doing. Even when Backpage was around to compete with them, they still were able to do that one thing well and keep going.

The constant demand for growth is not a good thing. You can only sell so many eyePhones or Intel CPUs before people just would rather keep old things working longer or recycle or not consume things and save their money for travel/experiences.


Lots of companies have probably attempted to achieve Craigslist-levels of simplicity; we never hear about them because they have mostly ended up on the ash heap of failed businesses.

Craigslist won big early on because they took the personals and ads business away from broadsheet newspapers. That's pretty much it; they didn't try to go beyond that, and they're completely justified in not wanting to. Airbnb came in and pretty much took all of CL's short-term rentals business. CL is a small company and Craig Newsom (sp?) probably didn't even care.

He had the advantage of getting there first, and making a ton of money as a result. That is not the case today, so to expect newer companies to follow in CL's footsteps is unrealistic.


Stock market doesn’t work that way. You are legally required to grow, forever until the end of time (or your business). I think it’s one of the most toxic forces that leads to pollution, over-consolidation, etc.


As I understand it, corporations are not legally required to "grow, forever until the end of time", they are required to act in the interest of shareholders. Typically, that means returning value to shareholders of the company.

Growing the company is one way to achieve that. Other ways include paying out a share of the profit the company is making via a dividend or using share buybacks to reduce the number of outstanding shares.

There are plenty of examples of companies doing all of the above on various public exchanges. For example, utility companies often don't grow very much (if at all) but they do have consistent cash flow which they pay out as dividends.


Don’t utilities grow as we generally consume more and more resources?

In the Caden of dividends, wouldn’t they also need to increase over time to act in the best interest of shareholders?


> Don’t utilities grow as we generally consume more and more resources?

Yes, you are correct. Most utility companies do grow to some extent, just very slowly. You also have to compare the rate that they grow against other metrics like GDP. If a company is growing slower than GDP you could make an argument that they're actually shrinking.

> In the Caden of dividends, wouldn’t they also need to increase over time to act in the best interest of shareholders?

Yup. In theory, if a company does not grow sales at all then their dividend should be able to grow at the same rate as inflation. Most companies do grow sales to some extent and thus are able to grow their dividend more than inflation.

For example, Coca-Kola has grown their dividend on average 7.46% per year. AT&T on the other hand has only grown theirs 2.26% per year which is closer to inflation.

https://seekingalpha.com/symbol/KO/dividends/dividend-growth

https://seekingalpha.com/symbol/T/dividends/dividend-growth


There is no legal requirement to grow.

There is no "fiduciary duty", it's just unwitting HN folk pretending to be business savvy.


The first statement is true. The second sort of misses the point. "Fiduciary duty" isn't a moral obligation or a social norm, it's a darwinian thing.

Publicly traded companies are controlled by whoever wants to buy them. If a company has assets that could produce a profit of $N, but it's currently not doing so and only making $M (and its share price reflects the lower revenue), it will be in someone's interest to buy the company and rework its priorities so it makes them more money.

So... the grandparent was effectively right. Over time, all public entities will act to maximize profit.



I was going to point out that you're missing (or intentionally ignoring) the very next piece in that debate series[1] linked at the bottom of your link, which takes the view that this requirement doesn't exist. But it's not a very good-quality piece, which is presumably a function of the article format (short-form debate aimed at unsophisticated readers).

The flipside of that is that I don't think your original linked piece makes much of a case at all either.

[1] https://www.nytimes.com/roomfordebate/2015/04/16/what-are-co...


“Modern corporate law does not require for-profit corporations to pursue profit at the expense of everything else, and many do not.”

We aren’t talking about corporations, but rather publicly traded companies. As the previous article pointed out you do have an obligation to your shareholders, and that obligation is to somehow act in their best interest.

Certainly the stock market price goes down if you aren’t growing. And prices going down means you’re not doing right by your shareholders.

I’m happy to be wrong here (I hope it’s true) but whether law or not it seems to be an immutable force.


The stock price does not have to keep going up. Dividends and buybacks are another option based on cashflow which doesn't require growth.


And can they remain flat without impact stock performance?


Maximizing shareholder value is not the same thing as perpetual growth.


Where are you legally required to do that? What law is that?


I don’t think fiduciary duty is the right word for it. But there is some Supreme Court ruling (dodge bros. Vs Ford?) that seems to imply (or so people interpret) you need to make money for share holders.



Fiduciary duty to shareholders


I don’t think that’s actually true. Your original statement. The duty is just to behave how a reasonable or prudent person would behave. I doubt there would be a lawsuit case against Craigslist that would win if Craigslist was a public company.


“do one thing and do it well” - I've liked that approach, but being on the buying side and as the number of solutions needed keeps on increasing, I'm getting second thoughts.

Like what you might end up with with this approach and selecting best of breed: Dropbox, Slack, Zoom, Office 365 desktop, Google Apps (email), Some CRM solution, Github, client security solution, VPN solution, Jira, Confluence (wiki), Zendesk (helpdesk).

If you want things like single-sign-on and some additional security and management capabilities then you typically need to pick some higher pricing tier for each service. The price per user per month adds up. And as a added bonus, you also need to spend time managing all these and handle the monthly invoices/receipts.

What Dropbox is now doing is of course not solution to my problem. The only solution to the issue I'm having is consolidation of the services or smaller players teaming up and giving me unified package (like Dropbox+Slack+Zoom). Fully integrated packages like Microsoft 365 are quite tempting, even though I know the individual pieces are not "best of breed".


This is the problem with VC funding: any simple utility will inevitably become a confusing tangle of services that nobody wants. Dropbox became ubiquitous because it was a dead-simple folder that automatically synced, but that just doesn't rake in the big bucks. So they're forced to glob on pointless features until the whole thing collapses like a flan.


For me, the "killer" feature of Google Docs/Sheets is the ability of multiple users to be in the document at the same time, all making changes, and all those changes being seen by all in real time. I don't think that shared Dropbox files can replicate this same functionality, so maybe apps on their side is the way to bridge the gap.


This is also possible with Sharepoint from Microsoft, but you can open them all up in the desktop versions of those apps which I prefer.


Kinda sorta. Yes the MS applications are more powerful, but the collaboration tools still are not as real-time as Google. My work was forced to switch from Google to MS, so I have years of experience with both. People often have to reopen files to see other people’s edits or there’s a huge lag that we never had with Google. We’re in SF, CA with a fast fiber connection. There’s also not exact parity between the desktop versions and the web versions of the applications. It’s easy to start to try to do something only to discover that, for instance, you can’t group objects in web PPT. Granted, with Google, while it’s pretty much always the same experience, but there are the long tail features which are missing.


My experience has been with Excel and it wasn't all that slow, but I have not used it extensively as you have. I am over in Maitland, FL not sure what our speed is tbh.


They were losing ~$500m a year (and growing) doing one thing and doing it well.


I don't think Dropbox ever lost that much per year. $200M was lost in 2016 (once Dropbox decided to not burn money like crazy); $300M in 2015. Source: S1 (https://www.sec.gov/Archives/edgar/data/1467623/000119312518...). In general losses were shrinking, not growing.

(Don't believe the 2018 annual numbers; something like $450M of that "loss" is the result of accounting issues where RSUs converting to stock at IPO is considered an expense)


I have long thought that one of Steve Jobs' biggest errors was in telling Dropbox "that's a feature, not a company." It sure seemed like he was really wrong, but if Dropbox can't make money, maybe he was right after all.


Well it is now a feature in iCloud.

Perhaps those original comments on the DropBox launch people keep referring to were right all along.


And it doesn’t work nearly as well. He underestimated how hard it would be to solve it properly.


iCloud is great for Mac/iOS users. I never felt it worked well on Windows. It never felt right. So yes, Apple still has work to do if they want wider iCloud use. Maybe they don't want to?

But Microsoft and Google are creeping up. Their file sync is almost there with Dropbox.

OneDrive works on Mac and Windows, supports Files on Demand (similar to Dropbox Infinite - essentially placeholder files, very useful for small SSDs), and are working on differential sync for 2019.

The kicker is that OneDrive costs $99 as part of Office 365 Home, and gives you + 5 family members each 1TB storage, GBs of Outlook storage, the desktop Office apps for all devices including Android (they run really well on Android-enabled Chromebooks). And access to phone-based support. What's more, many people can get Office 365 discounted to $70 via the new Home Use Program, or even free if they're students or teachers[1].

Google One (one.google.com) is also a pretty formidable offering where available. File storage via Google Drive, a great photo storage service, tons of Gmail space, and access to Google's support teams.

So yes -- file storage is becoming a feature and the Google & Microsoft offerings will end up tempting many customers. Dropbox still does sync really well and has the best app, in my opinion -- including the only one that works on Linux, but I'm not sure that'll be a massive concern for the average customer.

[1] https://www.microsoft.com/en-us/education/products/office


> The kicker is that OneDrive costs $99 as part of Office 365 Home, and gives you + 5 family members each 1TB storage, GBs of Outlook storage, the desktop Office apps for all devices including Android (they run really well on Android-enabled Chromebooks)

For those who haven't looked at Office 365 in a while, it should be noted that Office 365 Personal was upgraded a few months ago. It used to be that Personal was for 1 person, with at most 1 Mac, 1 PC, and one mobile device. If you wanted to put the Office applications on more devices than that, you needed Home.

They removed that limit a few months ago. Now Personal lets you install on an unlimited number of computers and mobile devices, with the only limit being at most 5 can be signed in at the same time.

So now it essentially is if you have more than one person in your household who would like an Office 365 account, get Home. That covers 6 people, each of whom gets 1 TB of OneDrive, and can be signed in on up to 5 devices simultaneously. If it is just you, get Personal, which is $30/year less.

I've not figured out if it is possible to buy additional OneDrive storage if you need more than the 1 TB that is included.


> Dropbox still does sync really well and has the best app, in my opinion -- including the only one that works on Linux

That used to be true, but Dropbox decided they no longer wanted that market-advantage.

I’ve uninstalled Dropbox from all my Linux machines because it no longer supports ZFS (or any other file-systems except ext4).


I still use it with btrfs with the aid of this fix: https://github.com/dark/dropbox-filesystem-fix


Onedrive at least works great in my experiences. I bave a dropbox account, but my uni supplied me with a huge onedrive allotment. I sync every user file on my computer and I can access it anywhere with an internet connection. The msoffice integrations are great too, and ms office online is pretty feature rich.

Dropbox had a great idea, but it's not hard for a large company to copy it like microsoft did. Apple just does a lot of things half assed if it's not a priority to them. Nothing stopping iCloud from being better than dropbox in a couple years if apple one day decided they gave a damn about it.


OneDrive and OneDrive for Business (which is really the Sharepoint thing) really has turned out to be good. We’ve been using it for about 3 years now in our small business which is mostly a Mac + Office365 + Azure AD shop.

We have a mix of iOS and Android, and some physical and virtual Windows 10 PCs.

The macOS sync client is generally very fast and keeps out of the way. It gets tripped up occasionally, but no more so than any other. It was really clunky when we first started using it for Sharepoint, but they seem to be iterating fast these days and we see very few issues at all.

For Sharepoint365 the sync client means our people just treat it as our “cloud network drive” with selective folder sync options (we don’t use any of the other Sharepoint stuff).

If you’re an Office365 shop, the integration is incredibly nice. I can start work on a Word doc on a PC and save it in OneDrive or Sharepoint365, and then on my iPad open Word and the document is sitting right there as the last file I worked on in the File>Open screen, with a “Go to where you left off” marker when the file is open.

We tried Box and liked it initially, but it became hard to justify it in the face of easy functionality and pricing from Office365+OneDrive. iCloud isn’t flexible enough for most of our business use cases. DropBox performance was always an issue and we didn’t want to saddle our dev laptops with that performance hit.


What's more, you can likely (depends on country etc) use Office desktop apps and your OneDrive storage on any supported device, including native apps on Android-supporting Chromebooks, for free as long as you have your student ID, as part of their Office 365 for Education programme -- see my other comment (works for teachers too).

They're really competing hard in this space, and I suspect they're trying to get ahead of Google One here. They've already left Dropbox far behind.


Only major thing missing was folder sharing, and it's coming later this year:

https://9to5mac.com/2019/06/11/share-icloud-drive-folders-ip...

Perhaps it won't be as polished as Dropbox, perhaps it will. Either way, Dropbox is playing defense versus Apple/Google/Microsoft.


Maybe it's because they were expanding too much and hiring too many people


I'd be curious if they simply couldn't compete, and they recognized that. Ie, their competition is heavily Google, Microsoft, Amazon, etc which offer competing products as part of their suite. Yet, Google/etc doesn't really care about file sharing/storage. It's just one component in a much larger model.

I'd be curious if, due to cloud prices/etc, Dropbox didn't feel they could actually sustain a competitive price and become profitable. So they're trying to expand to other avenues and find something that works.


Who provides dropboxes actual storage? That provider could just keep squeezing dropbox until the provider creates a copy of dropbox or has them bent over just to the point of them switching to another provider. Maybe dropbox should have been building their own data centers in the mean time, cutting their overhead. That idea of restraining growth in favor of long term stability probably wouldn't sit so well with the shareholders who want their pie tomorrow.


I believe they have migrated most (if not all) of their storage off AWS to their own infrastructure [0].

[0] https://techcrunch.com/2017/09/15/why-dropbox-decided-to-dro...


They do have their own storage infrastructure now. It's just a very low margin business and newer entrants like Wasabi are constantly pushing the edge in raw pricing.


It's a lack of focus on increasing sales throughput. They should have looked to resolve bottlenecks between when a lead first hits their website and when a sale is finalised.

There's always something along that process that is poor and holding back the rest of the process. An increase in throughput = increased sales.


You don't think their funnel is optimized already? The truth is that Google and Microsoft have the mind shares and products that integrate well with their respective eco systems already. Google Drive and OneDrive just work and are highly affordable already.


I agree with the sentiment that dropbox is doing too many things that don't make the most sense but sometimes the company doesn't have a choice but to try new things to extend the userbase into different markets because that's what VCs are demanding and expecting them to do. VCs want a 10x return and not a 2x return on a lifestyle business.


> Whatever happened to the philosophy of “do one thing and do it well”?

This relies on composability, integrating together several such components into a coherent whole.

Users don't understand composability or want to do it. They want the integration to already exist and just work.


Right. Imagine teaching most people to pipe "ls" into "grep", even without any flags. You've already lost double digit percentages of people.


to be fair not every developer likes it either. Not to start the traditional flamewar but I've always been a much bigger fan of emacs than of vim precisely because it gives me a powerful, integrated environment rather than a set of distinct tools.

You could also compare wechat to traditional isolated apps, and in my opinion well integrated platforms trump collections of tools almost always.


> This just seems like they are trying to do too much. I can’t see the strategy...

I work at a place with enterprise O365. When you've got things like Teams, well, you might argue that Teams isn't as good as Slack, you think Dropbox is a bit better than OneDrive, and so on, but it's really hard to argue paying for all those things is worth it when you've got something that e.g. lets you record your Teams meeting, run it through voice recognition, and turn it into a OneNote transcript to sit alongside your repo of project docs for the same meeting.

Sometimes well-integrated solutions are more than the sum of their parts, and that's the problem Dropbox is facing.


Well-integrated solutions were simple until SaaS companies purposefully broke it. There's nothing in software that would make it impossible to have an arbitrary calendar app work well with arbitrary file browser, file syncer, text editor, document editor, etc. A bit of system-level tools (that's kind of what the OS is for), a bit of common protocols. But when each of the above became redone as SaaS, interoperability became a matter of service providers signing agreements with each other, and not something end-users could set up.


> Whatever happened to the philosophy of “do one thing and do it well”?

Turns out that it dies if you try to grow it near walled gardens. The soil doesn't suit it.


> gee I really wish I could just open up this presentation in Dropbox directly into my Zoom meeting.

Do you ever right-click a file on your desktop and expect to be able to do an “Open With” action to open it in a Zoom meeting?

Dropbox is trying to recreate/recapitulate that functionality—the functionality of OS file-explorer GUIs, and how they act as a launchpad for feeding files to third-party intent providers.


>Whatever happened to the philosophy of “do one thing and do it well”?

It was seldom the thing users wanted and could use, and ended up being relegated to the dev-oriented UNIX userland.


>> Whatever happened to the philosophy of “do one thing and do it well”?

VC Money.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: