Ask HN: Interesting WebRTC projects to work on?

6 points by joshux ↗ HN
I'm attending a self directed learning programming school this summer and I'm focusing on WebRTC. I've already have an app idea to work on but I'm also interested projects related to the infrastructure (like peerjs or webTorrent). Any advice? Thanks HN.

11 comments

[ 4.4 ms ] story [ 36.9 ms ] thread
This is the perfect example of what worries me about WebSockets and WebRTC, that people use it for data better served over HTTP. "But it's faster and purer, with less overhead!" I hear you say. Sure, but that overhead is very useful, guaranteeing things like on-the-fly compression, caching, data integrity, and so on. The only time you should use WebSockets/WebRTC is if you really need Real Time Communication (really, it's in the name). A real-time game doesn't care about data coming in the right order exactly, and a video call can lose a couple frames before people notice. But the web has a protocol, and it's the HyperText Transfer Protocol.
it opens new possibilities that http does not that is the main idea here. Who cares about the web and it's protocol... this thing enables new things not seen before and that it enough.
What are some good resources for learning about WebRTC? I'd like to figure out how we could use it to stream video from a quadcopter to our website and/or a mobile app.
WebRTC based BBS software. :)
"Loop server allows firefox users to call each others via WebRTC. It is a rendezvous API built on top of an external service provider for NAT traversal and supplementary services."

https://docs.services.mozilla.com/loop/

The webp2p mailing list is doing some interesting stuff about creating P2P apps using webrtc: http://joincollage.com/webp2p (The site is now down, but the mailing list is somewhat active).
Using WebRTC datachannels for p2p networking in games is challenging and fun.

I am personally using it for networking in a WebVR side project (which is far from finished), where the challenges are the differences between clocks, interpolating between received positions, and more. You can try the current version here http://guido.io/WebMetaverse/ (open it multiple browsers and observe).

I ended up implementing a signalling server (in Elixir) and client, which made me understand much more of what is going on under the hood.