

Show HN: faces.io – ridiculously simple video chat - dhotson

This is something fun I’ve been hacking on recently: ridiculously simple group chat.<p>Go to http:&#x2F;&#x2F;faces.io and then get your friends to do the same. That’s it! :-D<p>Currently works best in Chrome. It’s definitely beta status at best. Audio can get weird—be ready to mute. ;-)<p>Let me know what you think!
======
dhotson
Screenshot:
[http://24.media.tumblr.com/07de3da18d8a5587d9480f42e87da8c4/...](http://24.media.tumblr.com/07de3da18d8a5587d9480f42e87da8c4/tumblr_n0rz6fkSBG1qz7eo6o1_500.png)

Bonus pro tip, add a hash target in the url to have a more private
conversation.

eg [http://faces.io/#hn](http://faces.io/#hn)

------
djoehlman
Sweet layout - love it. Also while there was no hope of any client being able
to decode that amount of video at one time I think it does show that the
overheads of a RTCPeerConnection (without media) aren't extreme. My browser
here has currently got about 60 peer connection objects open (not sure how
many actually connected), but CPU and memory aren't going too crazy...

------
djoehlman
Oh, and if you want to get a picture of what chrome (assuming you are using
chrome) is doing in the background use this url:

chrome://webrtc-internals/

~~~
dhotson
Hey cool, I didn't know about this. Thank you!

------
lars512
This is really cool, instant video-conferencing:

    
    
        sha1=$(head -c 1024 /dev/urandom | shasum | cut -d ' ' -f 1)
        open http://faces.io/#$sha1
    

send the URL to whoever you want to video-conference with.

------
podviaznikov
This weekend I made text chat with video and no voice for hackathon. Demo is
here: [http://ss14-team-176.divshot.io](http://ss14-team-176.divshot.io) Also
used webRTC like in faces.io

------
rhgraysonii
Whats the limit on concurrent callers? We have had to stop using google
hangouts for our morning standup due to more than 9 of us being on at times.

------
abimaelmartell
"This is the hackiest code I've ever written. Most of it is copy pasted from
elsewhere. ;-)"

I see...

~~~
dhotson
Isn't there a rule about if you're not embarassed about your 1.0 then you're
not shipping fast enough? ;-)

Basically I just wanted to try out some ideas using WebRTC peer-to-peer video
with some clever layout algorithms.

When I started this I was looking into libraries like Packery that are good at
arranging rectangles in the smallest possible space. But I found what I really
wanted was something to expand to fill all available space.

I ended up using D3's treemaps to arrange videos. Normally they're used for
visualising things like diskspace, but I'm using it to fill the screen with
videos.

[https://github.com/mbostock/d3/wiki/Treemap-
Layout](https://github.com/mbostock/d3/wiki/Treemap-Layout)

------
lawrencegs
"Could not connect stream" ?

~~~
lawrencegs
Nevermind, its because I was using the webcam on a different window (Google
Hangout).

------
k0mplex
it's chatroulette right now

------
taphangum
Very cool! Upvoted.

------
binaryjohn
Very, cool

------
jayrparro
good work!

