Remote Faces: Share webcam still images with PeerJS/WebRTC

A tool for remote working teams.

Motivation

Remote working is a type of working style that is enabled by computer and network. I’ve been working remotely for some years now and tools like Slack and Skype help me a lot to communicate with colleagues. While chatting and video conferencing are great communication tools, my desire is to see each other even when we are not actively communicating. One idea is to keep Skype or appear.in open all the time. There are several problems with this idea: a) the tool is typically CPU intensive, b) the video window is too big or not for many people, and c) the video is too much detailed to show everything (in terms of privacy). To this end, sharing webcam still images is a good option, which I learned from the app called Remotty. So, I developed a tool called “Remote Faces.”

Tool design

Here is the list of key features:

  • It is easily usable, just like appear.in, without signing in.
  • The image is small enough (72px x 72px), not to disclose too much of yourself.
  • The communication is peer-to-peer, so images don’t go through servers.

Screenshot

The technology behind it

This tool is based on PeerJS, which eases the use of WebRTC. WebRTC allows communication between users to be a peer-to-peer manner. Once the tool is started, it connects to all members in a team specified by the “Room ID” a.k.a full mesh network. This network topology is not so scalable, but it shouldn’t be a problem for a small team that this tool fits for.

How to use it

If you want to just try it out, visit the web site in Chrome. The good news is that you can run multiple pages/tabs in your Chrome, so you don’t have to ask your colleague for your first try. You can then invite your colleagues.

If you like it, you definitely want to install the standalone app. The download links are in the project page.

Note that to make the window thin like the screenshot above, go to the Menu / Tool / Minimize Window Width.

Questions and feedbacks

Please feel free to drop me a note in Twitter, GitHub issues, and of course Medium.