Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> make it better/simpler than WebRTC

This certainly looks simpler than WebRTC, which is absolutely impenetrable.



What do you find impenetrable about WebRTC? In most cases I have found the complexity necessary. When you find yourself in unique situations it’s a protocol that gives you the knobs.

I created https://webrtcforthecurious.com to try and solve the accessibility/education issues around WebRTC


Let me open the first page of the guide for example.

> https://webrtcforthecurious.com/docs/02-signaling/

The moment I open this page, which is ostensibly the first on the way to understanding WebRTC, it slaps me over the head with hundreds of terms I’ve never heard before. More importantly, I don’t understand why I should care about them.

I just want to do Server.serve(5648), and Client.connect(server, 5648) and then pass binary messages back and forth. This is the mental model I already have, and works fine when I’m anywhere other than a browser, and even for websockets (mostly, except no UDP) and whatever website explains WebRTC will first have to explain to me why such a simple thing cannot work.


To me the issue is that any real-world deployment of this is going to want some form of encryption, or you are just leaking the poor user's data to a ton of random people. In addition to encrypting the data, this means you are going to need to build in a key sharing mechanism. Like, this is table stakes: anything less is unacceptable, and is a complexity you don't escape even with a native app. I think you then rapidly discover that just satisfying that one need causes most of the complexity of WebRTC (and to the extent to which it isn't documented well enough to show that that doesn't mean the protocol or even API sucks and should be replaced: it just means we need better documentation for people who don't care enough to learn how it all works and how to bypass the issues).


The oblivious mental model was something like `WebRTC.send("12.34.56.78", "hello world!"); WebRTC.addEventListener("text", function(e){if(e.ip==="12.34.56.78"){ /* do something */ }})` not that I expected it to be that easy (it isn't php) but it turned out to be (ehm) slightly more complicated than that.

Thanks for writing the book.


Exactly. Having worked with plain tcp/udp sockets, and then trying to understand WebRTC is like trying to run a marathon after winning the 100m sprint.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: