We initially built Pipes to address a simple problem. We've been a full-remote team since 2017, and we want our computers to talk directly with each other. We don't need centralized services to manage this for us: if they can talk to each other, we can get our work done.
In the process we created the Pipes platform, and a collaboration tool that uses (and tests) the platform APIs. The result is a rough UI but great user experience. Our collaboration tool is a Python+Cocoa (MacOS) tool that gives us:
- Crystal-clear, reliable VOIP: our team hasn't had a dropped call or VOIP problems for over a year -- can you say that? This was one of our primary motivations for building Pipes, as Slack was having regular VOIP problems, with our backups Skype and Facetime Audio typically doing no better. We use the crystal-clear, open-source OPUS 48k codec, with sound quality that blows away all other providers we've tried.
- "Livestream", an innovation we've been recently enjoying. This opens an audio connection between all participants, muted (listen-only) by default. When nobody's talking, our 496code radio station kicks in -- our favorite MP3s, and everyone is listening to the same station. But then push-to-talk, and you are live on the mic. This gives our full-remote team a "same office" feel that we really enjoy.
- Chat -- of course. Multiple channels, file transfer/sharing, all that good stuff.
- Screen sharing and "Screen Grab", a format we've been enjoying: with a keystroke, the presenter's screen is shot and shared as a realtime-markup-capable canvas with all participants. Works great with VOIP, and code in particular: screen grabs are nearly instantaneous and always full-resolution, whereas all live screen sharing inevitable has quality and lag issues.
- Port forwarding: one of our favorites, and one of the original motivations for Pipes. We can SSH into each other's machines as necessary, or forward a port for an in-development web service.
- Share repo: what's GitHub? It's git with a server. Well, git doesn't need a server -- git is P2P already. Our machines can talk, our repos now live on our machines. Life is good.
- CodeNav: another internal innovation, for when we're doing code reviews or walkthroughs. Our editors are connected (via Pipes messaging) so that when one person hits a keystroke, everyone else's editors are taken to the same repository/file location. We've never had better code discussions -- and are never going back to the old way.
- Distributed Filesystem: this works as you'd expect for a P2P system -- including fine-grained control over where files are kept, how they're broken up and distributed through the network, how and with what keys they are encrypted in-transit and at-rest, etc.
No more Slack, no more Skype, no more Google Drive or Github. One micro AWS instance (~$10/month) that routes our packets for us -- but doesn't get any encryption keys. Our code, our files, all on our own machines. Escape the tyranny of the man, man!
But even better are the new tools we've developed, such as Livestream and CodeNav. They are why we decided to create a P2P development platform out of Pipes -- when the complexities of P2P communication and data synchronization are taken care of, the creation of innovative new P2P applications becomes easy. We're excited to see what people will build.
Interested in using tools like these, or developing your own? Let us know!