Slide 1

Slide 1 text

felixge tus.io Resumable File Uploads Felix Geisendörfer ?

Slide 2

Slide 2 text

@felixge felixge File uploading sucks

Slide 3

Slide 3 text

@felixge felixge HD cameras everywhere HD Cameras Huge file sizes Example: 45 second video on iPhone 5 = ~100 MB

Slide 4

Slide 4 text

@felixge felixge Slow uplinks • Wifi: ~2.5min (~5000kbsp) • LTE: ~10 min (~1300 kbsp) • 3G: ~40min (at ~330 kbps) • Edge: ~66 min (at 200 kbps) Average upload speeds for 100 MB* * sources: Apple Network Link Conditioner and http://www.lte-anbieter.info/presse/12/analyse-speed-lte.html

Slide 5

Slide 5 text

@felixge felixge Unreliable Networks

Slide 6

Slide 6 text

felixge 99.9 / 100 MB upload, 2 seconds remaining error: connection lost, please upload again!

Slide 7

Slide 7 text

felixge resumable file uploading

Slide 8

Slide 8 text

felixge possible today, but very hard

Slide 9

Slide 9 text

felixge the tus resumable upload protocol

Slide 10

Slide 10 text

felixge simple, open, free https://github.com/tus/ tus-resumable-upload-protocol v0.2 was released today!

Slide 11

Slide 11 text

felixge POST /files HTTP/1.1 Host: tus.example.org Content-Length: 0 Final-Length: 100 HTTP/1.1 201 Created Location: http://tus.example.org/files/1

Slide 12

Slide 12 text

@felixge felixge PATCH /files/1 HTTP/1.1 Host: tus.example.org Content-Length: 100 Offset: 0 [file data] HTTP/1.1 200 Ok

Slide 13

Slide 13 text

@felixge felixge HEAD /files/1 HTTP/1.1 Host: tus.example.org HTTP/1.1 200 Ok Offset: 70

Slide 14

Slide 14 text

@felixge felixge PATCH /files/1 HTTP/1.1 Host: tus.example.org Content-Length: 30 Offset: 70 [remaining file data] HTTP/1.1 200 Ok

Slide 15

Slide 15 text

felixge clients and servers for all platforms

Slide 16

Slide 16 text

felixge tus-ios-client https://github.com/tus/tus-ios-client by Alexis Hildebrandt

Slide 17

Slide 17 text

felixge upload acceleration

Slide 18

Slide 18 text

felixge checksums, meta data, streams, etc.

Slide 19

Slide 19 text

felixge

Slide 20

Slide 20 text

@felixge felixge tus.io