I think most of the people who are full-time are more dedicated to the projects. They are more focused to think on how to solve a problem better, sometimes even when they are off shift.
It depends (sorry :) what uploader you want me to compare with, there's different differences with different uploaders. I think we tick all the boxes feature wise though. And Uppy is modular so you can easily leave out what you don't like (e.g. just use Core and roll your own UI, or just use Webcam support, or not at all). If you build with e.g. Webpack, that makes Uppy a lot smaller too.
One big differentiator with other open source uploaders is that we go above and beyond to get higher degrees of reliability, to the point of ridiculousness, maybe:
- We use https://tus.io under the hood for resumability to make file uploads survive bad network conditions (train enters a tunnel, you walk to the basement, share something from a club, switch cell towers, walk in range of wifi, have spotty wifi, are in rural areas). Tus is an open standard with many implementations.
- Our 'Golden Retriever' plugin can recover files after a browser crash or accidental navigate-away (full post + video from our hacking trip where we built this: https://uppy.io/blog/2017/07/golden-retriever/)
The reason we obsess over this is that Transloadit (our company) was getting complaints about files not making it to our encoding platform, even though the platform was stable. We realized one out of maybe every thousand uploads just fails due to bad network conditions. Something you don't notice when you either have a very stable connection or don't upload so many files. But it's wild out there, and if you handle 150.000 uploads a day, you can see how many complaints you might end up receiving. So we got a bit frustrated with the state of uploading (downloading had been resumable since HTTP/1.1) and that's how we ended up creating https://tus.io (, and then Uppy)
Amazing advice! This will be my blueprint! Thank you :-)
Just a clarification with (6): I experience this a whole lot. The client always changes scope. Are you suggesting that I don't budge and be firm about the scope agreement?
Also RE:elementary customer service. From what I understand is communicate with the client well (update them always and be responsive so that they won't be in the dark). Is that what you meant?