Felix Geisendorfer - tus.io - Squeezing Cats Through Tiny Mobile Tubes
JSConf US 201329 May 2013
File uploads 1971 - FTP Predates TCP/IP by 3 years
1995- php, IE, JS, HTML2, form based file uploads
RFC1867 form upload
Complexity was perfect level but features were lacking (progress indication etc)
Flash started being used because of progress indicators :(
2008 - XHR Level 2 (Ajax unable to do file uploads before this)
2009 - file API
2013 - no resumability. Today file Sizes are huge.
How to resume http upload? Rfc 2616
- can be used for resumable uploads
S3 proprietary - not ideal Bad for open web
resumable.js - splits file in to fixed size chunks Best available open source solution Not defined as a standard
Vision: low complexity to add resumable file uploads
Enter: tus.io Informal working group Open to all to join Goal to publish as RFC
Content-Length and Final-Length http headers on POST request - tells server we intend to upload file of size final-length
PATCH http header Upload whole file, 200 returned if successful, if not do a HEAD against file we created and see content-length
brewtus - node server for this
Also: upload acceleration Eg parallel requests/connections per upload etc
This is a quick summary of a talk I attended at JSConf 2013. You can see a list of all those I've summarized notes from here. There's also a General thoughts during JSConf 2013 post for all the non-talk bits and pieces.
There were 3 concurrent tracks at the conference, so only those I attended myself are summarized here. Other attendees have summarized some of the talks I didn't get to due to scheduling conflicts - you can find those at jlongster.com (James Long) and Toby Ho's github repo.