Skip to content

Instantly share code, notes, and snippets.

@balupton
Last active May 17, 2016 00:33
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save balupton/8817654 to your computer and use it in GitHub Desktop.
Save balupton/8817654 to your computer and use it in GitHub Desktop.
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?
@KasperTidemann
Copy link

+1

@tonycaputome
Copy link

+1

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