<D <M <Y
Y> M> D>

(4) : An Oversimplified Cliffs Notes To Telepathy:

Lots of people have never heard of my company or its projects -- even fairly plugged-in geeks often say "who?" or say "Oh yeah, the Subversion people." (No, that's Collabnet, where Leonard used to work.) So this post is specifically for my friends, to help explain one thing my company is doing that is cool. I'm going to simplify a lot so I hope my colleagues and other hard-core geeks don't wince too much.

It is annoying to have to log in to a bunch of different chat services to reach all your friends. MSN, Google Talk, AOL Instant Messenger, Bonjour, blah blah blah. You may not think this is related, but it's also annoying that if I want to work with someone on a document and we're at different computers, I can't use my regular word processor, I have to load up a web browser with Google Docs. And it's annoying to have your cell phone text messages (SMS) in a different place from your other chats.

These are all aspects of real-time communication. As my colleague Danielle put it,

The Telepathy project is helping solve all these problems. Telepathy is a project aiming to give desktop applications (like word processors, jukeboxes, CAD programs, and games) a way to painlessly integrate instant messaging and VoIP (voice over IP) telephony features. In more technical language, in Telepathy, Collabora aims to develop a real-time communications framework for the desktop and embedded devices.

My boss, Rob McQueen, was one of the Telepathy inventors, and I work for Collabora, the company he co-founded. We hope programmers will use Telepathy to improve your computer and cell phone and get rid of the annoyances I mentioned above, and create neat applications and services. We've already gotten started.

Here's one way of viewing the Telepathy framework. It has three essential parts:

  1. a bunch of Connection Managers, each handling the interaction with a protocol, such as Google Talk, XMPP, various VoIP (internet phone call) services, or AOL Instant Messenger
  2. Mission Control, managing accounts and channels (the individual protocol-bound pipelines that your messages go through)
  3. a specification, telling all the parts how to interact (very technical)

This design gives Telepathy a lot of flexibility. If a new interesting service comes along, like Facebook chat, we can just write a new Connection Manager for it and bam, anything that uses Telepathy can now interact with it. And there are a lot of text, voice, and video chat networks! Who knows what other interesting collaboration or communication networks might hook into Telepathy someday?

Another important aspect of Telepathy's architecture is D-Bus. Telepathy is primarily a project for the open source Linux operating system. It's built on D-Bus, a piece of Linux infrastructure that lets applications, frameworks, and low-level system components talk to each other. So that means Telepathy can act like a wormhole, not just between two different people's computers, but between unassuming regular ol' apps on their desktops. You and a friend can collaborate on writing a paper together right in your word processor, or play a game against each other. And you can do it without having to deal with a slow, limited web app in a web browser.

In case you are a geek and find this interesting: There's an entire online book with more detail, and a system overview with a pretty graphic. And of course we're an open source project and you're welcome to join us.

In the real world, even regular folks like you and I are getting the benefit of Telepathy with (for example) the new N900 smartphone. Evidence of Telepathy's awesomeness is in the addressbook -- it combines your friends' various text chat, phonecall, and other contact info in the same screen, rather than making you use separate programs.

I use Telepathy every day, because I use the Empathy chat program to talk to my AIM and Google Talk friends all in one tidy window. Telepathy has made some other cool applications possible; I wrote about them for the new Collabora website, and if people want, I'll post a little about those.

Note to self: in future posts, explain GStreamer, Farstream, WebKit, Electrolysis, and how we make money.

Filed under:



[Main]

Creative Commons License
Cogito, Ergo Sumana by Sumana Harihareswara is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.
Permissions beyond the scope of this license may be available by emailing the author at sumanah@panix.com.