Video-sharing giant Vimeo adopts resumable uploads by 'Tus'
At Transloadit, we love open source. So much, in fact, that most of the software we write is released in the public domain. While these case studies are usually reserved to cover our commercial products, we thought it might be fun to cover the adoption of one of our open source projects for a change.
One of our most ambitious projects is ‘tus’, the open protocol for resumable uploads. Its mission is to change the way the world does file uploading. While downloads already had resumability embedded since HTTP/1.1, nothing of the sort had ever been setup for reliable uploading. Kevin van Zonneveld, co-founder of Transloadit, explains why we felt the need to come up with a solution:
We were receiving an increasing amount of complaints about failing uploads, while our servers in the data center were stable. This increase turned out to be a result of video files becoming ever larger, while the quality of network connections lagged behind for many people. Even though this was – technically speaking – not our problem, it was nevertheless becoming a real nuisance for our customers. That is why we decided to do something about it.
And so ‘tus’ was born. In essence, ‘tus’ is a collection of rules and agreements, a document describing how reliable uploading should work. However, if we want the protocol to be of any real value – and make good on our promise to make uploading better for everyone – it is vitally important that people actually start using it. With that in mind, getting Vimeo on board as both a collaborator and early adopter was a huge milestone. Even more exciting was Vimeo's announcement of its brand new upload API with ‘tus’ as a central component. To celebrate that occasion, we would like to give you a brief overview of how Vimeo got to be involved in ‘tus’ and talk a little about their contributions to the project.
Joining the mission to make file uploading better for everyone
Vimeo is the largest ad-free video-sharing platform on the web. They have been around since 2004 and have been growing ever since. Each month, hundreds of millions of users visit Vimeo to share their creative content with friends or watch videos in eye-watering high definition.
As far as ‘tus’ is concerned, Vimeo has also been one of the driving forces behind the project’s development. Not only were they one of the firsts to announce their intention to start using ‘tus’ for all of their file uploads, they were also there from the beginning to contribute ideas and help build the protocol from the ground up. Naren Venkataraman, the VP of engineering at Vimeo, reached out to us at an early stage, while Transloadit was spearheading the project. From that point on, Vimeo and Transloadit even switched leadership roles depending on availability. It is safe to say Vimeo really helped shape the core of ‘tus’.
Naren got developers from Vimeo on board to help expand the ‘tus’ ecosystem, and their sigificant contributions really got the ball rolling. Ben Stahl wrote the ‘tus’ Node.js server and enabled HTTP hooks for upload events, and Tom Berger added support for Google Cloud Storage to the tusd server so uploaded files can transparently be saved there, as well as on local disk or S3. And that is just to name a few of their great contributions.
While Vimeo certainly shared our enthusiasm for the mission to bring reliable uploading to everyone around the world, they also saw a great opportunity for themselves in this project. Naren recalls the decision on Vimeo’s part to get involved early in the development of ‘tus’:
At Vimeo, we felt that ‘tus’ had found the right angle to attack the problem of unreliable file uploads, so we decided to collaborate on the project. We were excited about the enhanced reliability and performance it could bring to file uploading in general, and looked forward to adding support for ‘tus’ ourselves so all our customers could benefit.
Vimeo has always been an outspoken advocate and contributor to the open source community, a fact once more evidenced by their willingness to lend a helping hand on this project. Vimeo is now ready to implement ‘tus’ across the board, meaning they aim to use ‘tus’ for all of their file uploads – not only from browser and mobile to the platform, but also between their servers in the data center. ‘tus’ standardizes the process of uploading files in a concise and open manner, and that will allow API developers to focus more on their application-specific code, and less on the upload process itself.
What does the future hold for Vimeo and Tus?
With their release of version 3.4, Vimeo's upload API and resumable uploading is powered by ‘tus’ as one of its cornerstone features. As a result, millions of Vimeo users will get to enjoy the reliable and seamless uploading that ‘tus’ provides. As Peixian Wang, developer at Vimeo, puts it:
We believe that using ‘tus’ will improve our members’ upload experience and provide a standard for uploading files across any platform. Developers will be able to use any of its many client implementations in whatever language they develop their application in. Using ‘tus’ will also enable API developers to test their applications locally. Since Vimeo will be utilizing the same open source implementation of the ‘tusd’ server, API developers can run the server themselves and test their applications against it.
At Transloadit, we are very excited about our collaboration with Vimeo. It has been a pleasure to finally bring file uploading into the 21st century and we are looking forward to push the limits even further!