2. About me
• Developer, designer, thinker and entrepreneur
• Co-Founder / CTO at MogiMe Inc, San Francisco and
PicoCandy Singapore :)
3. My iOS
Story• Bought iPhone 1st gen in 2008. Started
playing with iphone sdk 2.0
• Developed first iOS game, smackBOTS
using UIKit !!??!!, 500K downloads in
the first month, Top100 Overall
• First PvP multiplayer iOS game, super
hackery implementation in 2009
• Partied with the Woz at WWDC2009
• Aspired to be an entrepreneur
15. It's possible, but way too hard for a
mobile-first and cats-focus startup
• Flash?? Not possible + it sucks.
• HTML5 ?? Not great on mobile safari
• Native?? AFNetworking? HTTP?
18. What is the TUS protocol?
• Simple, open and free
• HTTP-based ( POST, HEAD, PATCH )
• Split file into chunks
• Send smaller pieces, server keeps track of
chunks / offset
19. What is the TUS protocol?
POST "/files" HTTP/1.1
Host: tus.example.org
Content-Length: 0
Final-Length: 100
RESPONSE:
HTTP/1.1 201 Created
Location: http://tus.example.org/files/1
20. What is the TUS protocol?
PATCH "/files/1" HTTP/1.1
Host: tus.example.org
Content-Length: 100
Offset: 0
[file data]
RESPONSE:
HTTP/1.1 200 Ok
21. What is the TUS protocol?
HEAD "/files/1" HTTP/1.1
Host: tus.example.org
RESPONSE:
HTTP/1.1 200 Ok
Offset: 70
22. What is the TUS protocol?
PATCH "/files/1" HTTP/1.1
Host: tus.example.org
Content-Length: 30
Offset: 70
[remaining file data]
RESPONSE:
HTTP/1.1 200 Ok
23. Awesome! What about the
servers and the clients?
• tusd - reference server implementation
using Go
• tus-ios-client, native objective-C client
library
• rubytus, ruby em-based server
implementation, work in progress
24. Use with caution
• Young protocol, 0.2.1, still changing
• New features in planning
• TUSKit - iOS client needs work, we're working
on it
• Need more support from OSS
• RFC? Not ready but is the goal for the
protocol
Probably ok for cat-focus mobile-first startups
25. Where to find more
info
• Official site http://tus.io
• Github: http://github.com/tus
• IRC: #tusio freenode
• Duh... It's open source