One of the coolest implementations of WebRTC is a project my friend launched called PeerCDN (https://peercdn.com/) - basically allows you to reduce bandwidth costs by leveraging the resources of active users on your app.
I remember looking into the feasability of something like this about 3-4 years ago when I was working on a social game with ~10 million DAU. Our bandwidth costs for static files were really really high even with a big discount from S3 because we were a heavy user. It's awesome to see that it is finally a reality.
With things like this, getting exposure isn't a matter of having the money to host your content, but simply a matter of being popular. The more popular you are, the more likely that you can offload static file hosting to those consuming your content.
As soon as I saw the WebRTC demo I went looking through the bittorrent spec to see how that was done, to then see how I could do something similar. Looks like you beat me to it, but it's a powerful tool nonetheless. Just imagine Reddit only hosting their database and a single server for master replication.
Allows active users of your app to spy on each other, seeing who connects and when.
Or maybe DOS your site, by pretending to be a PeerCDN participant but instead sending large chunks rate limited to 0.5Kb/s. The SHA1 hash check will stop them being used, but only after a long delay. People could be having a bad experience and you wouldn't even know by watching server stats.
This is neat. I've been meaning to do something like it myself for fun. I'd be far more interested in one that just let's you drop a file and gives you a URL for your friend to visit with no other steps. Having one of these services that does the transfer directly peer to peer without accounts or setup steps would be great.
As ianlevesque mentioned in the link below, http://peerjs.com/status is a good overview of current state of data channels. As Firefox stabilizes their WebRTC data channel support, I will implement it. Hopefully there will soon be cross-browser support as well for data channels.
It's true that it supports binary / reliable transport already but there are some very annoying not-to-spec issues. As a library developer, if I added code to support it, it would just go to waste because in BugZilla they've already patched but not pushed changes to these issues.
-Data is transmitted here without encryption, directly to the other users in this WebRTC room. Use caution if sending sensitive files and communicate file passwords through a more secure channel.
When I was initially developing this a month ago, I used the Chromium nightly build on Ubuntu on my laptop. Since then my laptop's video card died. I'm going to probably roll out a linux VM soon to make sure this works with Chromium nightly still.