Uppy: let’s teach an old dog some new tricks
uppy.io
uppy.io
However, sadly, I've discovered that in Chrome when a tab does not have focus, upload speeds dramatically go down, probably because of some scheduling policy in the browser.
If you want to programmatically address uploads (i.e., not with a simple PUT request), you have to somehow face this issue. I'm not sure if Uppy has this same problem or not (or if it even allows bandwidth shaping).
( And he ran away after learning how to open the previously dog-proof garden's gate... It only took him 16 years. )
Great to see progress. Even though I would prefer if resumable uploads were part of the browser.
We ended up plugging in the AWS JavaScrpt S3 SDK. We trust their uptime much more, and browser support is pretty widespread. It came with it's own headaches (namely, client side clocks being out of sync, and AWS rejecting uploads due to some security checks), but once we got everything figured out, it became incredibly stable.
It works by uploading files directly to your S3 bucket. Setup wasn't seamless (notably, setting things up with AWS Incognito), but in the end, we're incredibly happy we went this way.
We still use 3rd parties for resize images that are uploaded (namely, Cloudinary, which has been fantastic), but decoupling the upload logic from the usage logic has helped tremendously, and affords us reliability in that we control where the file is stored, how it's name, and are not tethered to a 3rd party (other than AWS).