Upgrade to Pro — share decks privately, control downloads, hide ads and more …

tus.io - Resumable File Uploads (Lightning Talk)

tus.io - Resumable File Uploads (Lightning Talk)

Lightning Talk given at UIKonf 2013 preparty about tus.io - resumable file uploads.

Felix Geisendörfer

May 01, 2013
Tweet

More Decks by Felix Geisendörfer

Other Decks in Technology

Transcript

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

    View Slide

  2. @felixge
    felixge
    File uploading sucks

    View Slide

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

    View Slide

  4. @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

    View Slide

  5. @felixge
    felixge
    Unreliable Networks

    View Slide

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

    View Slide

  7. felixge
    resumable file uploading

    View Slide

  8. felixge
    possible today,
    but very hard

    View Slide

  9. felixge
    the tus resumable
    upload protocol

    View Slide

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

    View Slide

  11. 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

    View Slide

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

    View Slide

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

    View Slide

  14. @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

    View Slide

  15. felixge
    clients and servers
    for all platforms

    View Slide

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

    View Slide

  17. felixge
    upload acceleration

    View Slide

  18. felixge
    checksums, meta
    data, streams, etc.

    View Slide

  19. felixge

    View Slide

  20. @felixge
    felixge
    tus.io

    View Slide