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

Sqwiggle: How we JavaScript

awsmsrc
January 17, 2014

Sqwiggle: How we JavaScript

awsmsrc

January 17, 2014
Tweet

More Decks by awsmsrc

Other Decks in Technology

Transcript

  1. A LITTLE BIT ABOUT ME • Luke Roberts • Sheffield,

    England (Yorkshireman (hate tea)) • Ruby Developer • lukeroberts1990 twitter/github etc etc • Team VIM • OSS, Guitars, Cars + Travelling
  2. WHAT IS SQWIGGLE? • Instant Chat • Video Presence •

    File Sharing • API programmable • The end of the commute (not such a problem with the U-Bahn) • A cure for loneliness in remote workers?
  3. WEBRTC - AT A GLANCE • Audio Communication • Video

    Communication • Peer to Peer • No bandwidth costs • NO PLUGINS • Arbitrary data transfer (soon!)
  4. NODE WEBKIT • Apps written in modern HTML5, CSS3, JS

    and WebGL. • Complete support for Node.js APIs and all its third party modules. • Good performance: Node and WebKit runs in the same thread: Function calls are made straightforward; objects are in the same heap and can just reference each other; • Easy to package and distribute apps. • Available on Linux, Mac OSX and Windows • These points were totally stolen straight from the Node-Webkit Github ;)
  5. AWS S3 • DataChannel isn't ready (and behind a flag)

    • S3 provides persistence (duh!) • Encryption
  6. WEBRTC: SIGNALLING • ICE (Interactive Connectivity Establishment) servers • STUN

    (Simple Traversal of UDP through NAT) servers • TURN (Traversal Using Relays around NAT) Servers • SIP, JSEP, JINGLE • XMPP • SSE • HTTP Long Polling • Websockets (Pusher)
  7. WEBRTC: THE PROBLEMS • Reliance on 3rd party implementations •

    Moving Target • Bugs • A BILLION different network configurations (Is UDP traffic blocked?) • Browser Support • Bandwidth Issues on larger calls • iOS implementation was supposed to be ready before xmas…
  8. WEBRTC: WHATS NEXT? • Screen Sharing - behind a flag

    in chrome :( • Data Channel to actually work • A stable implementation in Chromium ;)
  9. HOW WE WORK • Sqwiggle • Email • Daily Standup

    • Github • Trello • Travis CI
  10. WE’RE HIRING • TDD the whole way down • Service

    Orientated Architecture • Remote Work (wherever you want) • Flexible Hours • Company Retreats • Travel Allowance