A protocol for resumable file uploads
tl😜r: We are happy to announce version 0.1 of the tus resumable upload protocol and are interested in your feedback!
With mobile devices becoming the dominant source of user generated media files, reliable file uploading through unreliable mobile networks has become an important issue for anybody interested in content acquisition.
Reliability here means the ability to detect network errors, and resuming an upload without having to start from the beginning. In many scenarios this can mean the difference between a file reaching your application, or the user giving up in frustration.
Now, if you’re a big company like Google, you may sit down and create such a
protocol for your needs. And in fact, Google has been working on a such a
since 2010, for the now defunct Google Gears. The latest incarnation of this
are two incompatible protocols for Google
But unfortunately both of these protocols rely on a non-standard http status
308 Resume Incomplete), and are far from being generic enough for
This means that smaller companies are currently doomed to invent, implement and maintain their own incompatible protocols and solutions for something that should be a trivial component of a modern application.
We find this unacceptable, so the tus project is a community project that was born in order to level the playing field and make resumable file uploading easy for anybody to implement.
Today we are happy to release version 0.1 of our protocol. Interested developers are encouraged to experiment with it, and we are very interested in any feedback you may have.
Later this week we will also release some initial clients for jQuery and iOS, so make sure to follow this blog and these repositories for future updates!