S3 is an incredible offering, but since I'm working on tus.io, I'll focus on what's wrong with it : )
- Multipart chunks need to be 5 MB at least. An interrupted part cannot be resumed. This kills the mobile use case.
- Throughput to S3 is bad from outside of EC2, uploads often start at very slow speeds and won't reach the capacity of the connection in many cases.
- S3 does not let you stream/access an upload in progress easily, so you can't start to transcode a video while it's still uploading.
- The S3 API is the opposite of RESTful.
- S3 is a proprietary service, their protocols are not intendent/documented for adoption, and IMO they don't deserve great people like you making free contributions to their ecosystem.
edit: I'm not trying to say S3 isn't a good choice for many people. But our goal is to bring resumable file uploads to every iOS, jQuery, Wordpress, Drupal, Rails, etc. application in the world - S3 is not the right starting point for that.
I realized my comment sounded overly negative, so I added a clarification to my comment: Our goal is to bring resumable file uploads to the entire planet, S3 or any other proprietary protocol should not be the base for that.