Introducing Otalk, an easy and open way to build collaboration apps
Building collaboration apps has always been too hard, especially when audio and video are involved. The promise of WebRTC - building audio and video support directly into the browser - has been that it would make collaboration as easy and open as the web itself. Unfortunately, that hasn't quite happened yet.
A big part of the problem is that we lack the kind of open platforms and frameworks that have made the web such a success - things like, say, express and hapi in the Node.js community. Instead of open standards and open source, web developers coming to the collaboration space find themselves faced with a plethora of proprietary platforms tied to specific vendors.
Don't get us wrong: some of those platforms are excellent. However, if you're dependent on a particular service provider for the platform that powers your entire real-time collaboration app then you've taken on some significant risks. Vendor lock-in and high switching costs are two that come quickly to mind. Not to mention the possibility that the startup service you depend on will go out of business, get bought by one of your competitors, or be taken off the market by an acquiring company.
That's not a recipe for happy application developers.
We're working to change that by creating a completely open set of front-end libraries and back-end services we're calling Otalk. The goal is to create a "soup to nuts" technology base that we can run for ourselves (since it's the basis for our Talky videochat service), that we can offer to organizations building their own realtime applications, and that other organizations can take in-house at any time (since it's completely open-source).
Why would we do this? Why not build yet another silo and reap the benefits?
First, we care deeply about the open web and we have a long-time commitment to open-source technologies because we believe they're more sustainable and more secure. Openness is at the very heart of our values as a team.
Second, we're a fully bootstrapped company and we don't have any investors to please, so locking in developers isn't something we need to do for the next funding round or to sell the company.
Third, we tend to make money through consulting, training, and custom app development. The more that folks use the Otalk platform, the bigger the potential market for our core services.
Fourth, we're running Otalk anyway as the foundation for collaboration apps like Talky. Why not offer it to the world so that web developers everywhere can more easily build their own applications?
Right now we're using a particular technology stack:
- XMPP over WebSockets for signaling using Prosody on the back end
- along with JS-friendly code like stanza.io for the web,
- and libraries that we're working on with Steamclock for mobile;
- and media bridging for improved scalability using the Jitsi Videobridge;
- also STUN and TURN for NAT traversal using restund.
(More about those pieces and how they fit together in future blog posts.)
Much as we like this approach, we recognize that not everyone is sold on XMPP or the particular implementations we use. Thus we're also actively investigating ways to make Otalk more modular, so that you could use, say, SIP for signaling, your preferred STUN/TURN server, or a third-party media bridging service. Just want to use our developer-friendly front-end libraries like SimpleWebRTC with your existing platform? Let's make it happen! Oh, and we're working to standardize a few XMPP extensions for multi-party signaling and such, so that the entire XMPP community can play in the realtime collaboration space.
As you can see, we're already working with with multiple teams to make Otalk a reality. But we need your help to make it a real success.
Of course, developers are welcome to contribute via the Otalk org at GitHub. Dive right in!
Perhaps even more important are organizations who require realtime technologies they can build upon in a sustainable way over the long term. Together, we're stronger than we could ever be apart. If you would like to partner with us or if have any questions about the emerging Otalk coalition, please drop us a line and we'll get right back to you.