Create a gist now

Instantly share code, notes, and snippets.

@balupton /README.md
Last active May 17, 2016

Talk Proposal: Building an open-source Skype with WebRTC and Web Components

This is a proposal for a talk that I'd love to give. If you'd love to have me present this at your conference, please get in touch. If you'd like to attend this talk, please +1 it in the comments.

Building an Open-Source Skype with WebRTC and Web Components

This talk will be about the tech challenges and innovations of building http://bevry.github.io/interconnect/ with an extreme focus on the extreme impact this combination of tech has: Building Skype is going to become as easy as building a web form.

  • Why are we here?
    • Web RTC allows web developers for the first time to build apps that literally talk to each other
    • Web Components allows us to create and distribute re-usable components on the web with standards
    • Together, these technologies allow us to connect communities together in ways never before possible
    • Big potential for disruption, telcos are on it, business are on it, startups are on it
  • What are is Web RTC and Web Components?
    • Web RTC lets us talk to other, using these APIs:
      • Media streaming (Webcam, Microphone, Screen, etc)
      • Data channels (Sending files or chat messages to each other)
      • Peer cummunication (Communicating directly with each other, without a server)
    • Web Components is encaspulated HTML, CSS, and JavaScript widgets, rather than Frameworks
      • Bring in a calendar widget, without styling and library conflicts, built on standards
      • Micro JS movement's dream come true
      • There is no need for heavyweight frameworks, so no rewrites are theoritically needed over time
    • Both are bleeding edge tech, so can be used together without worry
      • But like all things, because of browser incompatibilities, you need polyfills that normalize the behaviour between browsers
        • RTC.io for Web RTC
        • Polymer for Web Components
  • Why do they matter? What is their impact?

    • Imagine:

      <rtc-media capture="camera" streamURI="{{myStreamURI}}"></rtc-media>
      <rtc-videoproc src="{{myStreamURI}}" filter="blackwhite" imageURI="{{mySnapshotURI}}"></rtc-videoproc>
      <rtc-room channel="interconnect">
          <rtc-person streamURI="{{myStreamURI}}" snapshotURI="{{mySnapshotURI}}">
      </rtc-room>
    • Demo of http://bevry.github.io/interconnect/

  • Where are we now? Where are we going?
    • Implemented
      • Calling
      • Snapshots
      • Rooms
    • To go
      • Communities
      • Recording
      • Profile Pages
      • Developer Documentation
  • What are the takeaways?
    • Easy peasy to create amazing interactive communicating web apps, thanks to:
      • RTC.io
      • Web Components
      • InterConnect
    • What do you think?
    • What will you create?
@sulaqo
sulaqo commented Mar 5, 2014

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment