This article is a humble opinion piece of a GNOME user who wishes to stop using communication software and just be in touch with people. I want to write mail to, chat with, talk to, and have video conferences with real people without worrying about applications and technology. All my suggestions are doable with existing technology in GNOME, no extra magic is required. I write as a user, not as a developer, just in case maintainers and developers of relevant software are in need of ideas, as well as to discuss this issue with interested people.

If it ain’t broke, don’t fix it!

Sorry, but I do think our current comms gear is broken.

I guess it is not a big secret that I am a strong advocate of task-based approaches when it comes to using computers. I don’t care what my web browser or my text editor are called, but I do care a lot about browsing the web and editing text files. In the GNOME menu, the Gedit text editor appears as “Text editor”, and at least in the past, the Epiphany web browser appeared as “Web browser”. On Ubuntu, it seems to appear as “Epiphany web browser”, probably because it is not the default browser in Ubuntu.

GNOME apps in general are quite well behaved in this respect. I do not like selfish applications which make a big noise about their own excellence. In fact I don’t even want to know they exist. What I am interested in is the document I am working on, not the software. Selfish apps distract users in two ways: branding and design. By renaming Slashdot to “Slashdot – Mozilla Firefox”, Mozilla does get a point across, as well as with trying to make the user use Firefox as much as possible. The point being, “look at this awesome application! we are mozilla! you are user!” Tabbed browsing helps: the whole web is just a feature of Firefox! The huge number of extensions is another: want to play a game of Tetris? No need to leave Firefox, your web browser is advanced enough to provide you with games, media players, blogging tools, whatever you need!

What I actually wanted was just a web page. Thank you.

The worst area of task-based computing on the GNOME desktop is currently communication. You choose your email, instant messaging, VoIP, and IRC software very carefully, and spend your evenings debating their excellence on various forums and group chat spaces like IRC. Few seem to be happy with the defaults and applications get much more attention and affection and antipathy than they deserve. We must put an end to that. The Telepathy communications stack is becoming mature, and we have a great opportunity to upgrade the way we communicate with fellow humans and forget applications.

What do we have?

The ingredients of my communication heaven are

  • The Telepathy framework
  • The Evolution data server
  • D-bus

Telepathy handles all Instant Messaging protocols, IRC, and VoIP (both Jingle/Google Talk and SIP) already. The Evolution data server does a very good job at handling not only calendar and tasklist data, but also your address book, and most relevant GNOME apps can talk to e-d-s. All GNOME applications communicate nicely through D-bus, and if i understand correctly, Telepathy is in fact not much more than d-bus calls, protocol handlers, and Mission Control for handling presence information.

What do we need?

If we can telepathize the Evolution-data-server, the world will immediately gain the potential of becoming much less annoying place to be and to communicate with friends in. I see no reason why e-d-s could not poll Telepathy for the presence information for people in your address book – should be easy through d-bus calls. Your address book could, and should, always show you all the communication options available for each person, at any given time. Is this person taking SIP calls? Is she available for IM chat? Is she logged onto any of the same IRC networks with you at the moment? Perhaps she is offline and your best option is to send email.

To handle the actual message, we need simple, task-specific user interfaces, each doing one thing only.

The central hub for all your communication and people-related activities should be a simple Presence applet in the panel. It would offer an option to set your own presence to Available or Busy, perhaps separately for voice/video communication and text-based chat. (Setting your status as Away and Offline have never made any sense to me, since while at your computer you obviously are neither.) The Presence applet would also present you with presence information of all your online friends, much like Instant Messaging and VoIP applications do now. Offline contacts could be accessible through clicking a “Show all contacts” button, like in this mockup based on the current Empathy roster window:

The button should not bring up Evolution, but a simple address book similar to the Contacts app in the Pimlico suite, with presence information added:

The chat, call, and email buttons should be real buttons of course :)

The Email button should not bring up the whole Evolution either, just a simple mail compose window. Ultimately, I would like to see email handled with only message windows and a “mail browser”. Also, the rest of Evolution might as well vanish altogether as a monolithic application and be replaced with something like the little Pimlico applications.

Empathy is well on the way to become a good, simple tool for person-to-person communication (IM, VoIP, video). Group chats on Jabber and IRC need a better UI, similar to IRC clients, but the actual communication and presence information should be handled by Telepathy.

What would we gain?

An approach as described above would have the great benefit of letting users concentrate on the task: “contact this person”. Instead of fiddling with several applications, each different, and each more complicated than the other, we would in effect fiddle with zero applications. We would end up doing the two essential tasks that actually are of interest: handling our own presence, and communicating with people we care about. The units of operation would not be applications, contact lists, account settings and so on, but people and messages.

I would like that.


14 Responses to “The telepathic desktop: apps are out, people are in”

  1. Stefan Nuxoll on November 21st, 2008 21:23

    Nicely written, and I agree wholeheartedly, obviously, we were tossing these same ideas around on IRC a few weeks ago, eh :)

  2. topyli on November 21st, 2008 21:46

    @snuxoll: Indeed we were. Together we’ll eventually fix everything and be left with perfect desktops!

    What will we do after that? :-O

  3. Dread Knith on November 22nd, 2008 02:28

    Great post! : )

  4. Arno Breedt on November 22nd, 2008 12:59

    I completely agree that communication should be a task-oriented activity and not an application-oriented one.

    Taking a step back here, it sounds like you’re advocating this for everyone, as long as they’re using GNOME (sort of like Henry Ford said you can have any colour of car as long as it’s black). That approach is not the flavour du jour, people want platform-agnostic applications.

    For instance, what is the viability of implementing Telepathy stacks in Vista and Mac OS X? I don’t foresee the jump to KDE being a large one, and AFAIK KDE4 is to include a communications abstraction layer as well.

  5. topyli on November 22nd, 2008 13:14

    @Arno: Thanks for the insightful comment. This post is indeed specific to the GNOME desktop. Even there, there is no reason to take away choice from users. Not all GNOME users use the default apps as it is today, and I don’t expect forcing them to do so in the future would be a success either.

    As for Telepathy, it works on KDE and the Maemo platform (wherever d-bus does), but I have no idea how to save Windows and Mac users. :)

  6. Peter Whittaker on November 22nd, 2008 14:57

    Interesting idea. If it were available, I would be interested in trying it out. But only if it didn’t break how I use the computer now.

    I’ve noticed recently too many places where Gnome apps – specifically Evolution – expect me to interact with the application and the computer in one and only one way. Unfortunately, it isn’t the way I’m used to or that I prefer. Call it “too many clicks”.

    There are times when “contacting” someone is what I want to do: Reach them by whatever means possible. Your ideas are interesting for that context.

    There are other times when I know specifically and exactly what I want to do: Send an email. Leave a voice mail. Whatever. When I want to do one of those things, just get it done: Don’t put more extra clicks (Contact list, choose method, etc.) in my way.

    The computer should get out of my way and let me get my work done. Not assume that it knows better than me how I should go about my work.

    Send an email instead of IM? Yes, because a) I need more than a few words and b) I want the email filed with other communication (threaded, preferably). And don’t give me a Journal a la Outlook, what a mess that was.

    Leave a voice mail? Yes, because I want the subtleties of tone but perhaps I really don’t feel like talking live at the moment.

    Accessibility is about choice: Allowing me to work the way I want or need to at any given time. Not about making me conform to someone else’s vision of how a computer should work or how a human should use a computer and certainly not, perish the thought, about having current behaviors replaced with the latest “that is so cool” HMI fad.

  7. Anonymous on November 22nd, 2008 16:40

    I also share this dream of yours and have for a long time now. As for the address book a small single address book app for e-d-s exists, it calls itself contacts and lives here:

    The real issue for me with social comms apps are non standard proprietary protocols, I’m off course talking about skype and msn …
    Now the issue is I want to use ONE chat audio/video conferencing client for everything. I don’t want to have to have skype, amsn, pidgin, ekiga and gyatche all running at the same time to keep in touch. Nor do I want to have to tell my technologically challenged friends to open this other client here, jump through this here hoop, just to have a conversation and have to justify it with a “Your using non standard non free telco geer and should be ashamed of yourself” arguments, cause none cares.

    Well, good post and I’ll be waiting in the corner hoping for sip and h.264 to conquer all …


  8. topyli on November 22nd, 2008 18:10

    @Peter: Thank you for pointing out a very valid issue in my people-centered thinking. You do quite often have a more detailed task at hand than “contact Peter”, you might specifically want to “send email to Peter.”

    Hopefully this could be solved in the UI, for example by adding direct “email”, “call”, “chat”, and similar options to a right click menu in the “people browser”. Dunno, needs atttention.

    @Anonymous: Thanks. As for Contacts, I’m aware of it and I’m in fact using it every day, along with it companions Dates and Tasks. One of the mockups above is even based on a Contacts screenshot :)

    WRT protocols, Empathy (Telepathy) already supports Jabber/Jingle, SIP and MSN natively (no voice/video for MSN yet), and all the same protocols as Pidgin through the haze plugin and libpurple. Proprietary protocols will always be a problem, and I’m afraid Skype in particular is a lost cause.

  9. cccady on November 22nd, 2008 18:44

    >> (Setting your status as Away and Offline have never made any sense to me, since while at your computer you obviously are neither.)

    You need to take human nature into account. If one marked oneself as “Busy” that is rude because you should be able to take time out to talk to people. But if one marks oneself as “Away” obviously there is no hard feeling intended.

  10. txtechdog on November 23rd, 2008 00:34

    Yet another idea that dumbs down the interface.

    I don’t agree with this approach because as others have stated, when I want to contact someone, I want to do so in a particular way. I choose the contact method based on a multitude of factors, including the personality, ethnicity, and comprehension level of the person I am trying to communicate with. I work with many people in India and often have a hard time understanding their voice because of accents. Most of these people are highly intelligent and we can communicate effectively in e-mail or IM, but because of the difficulty I have with their accents, not over the phone. So if I am going to contact a person who I know has a thick accent, I choose either e-mail or IM depending on the content to be communicated. On top of that, there are certain people who I just don’t like to talk to because their personality rubs me the wrong way. I can communicate with them politely and effectively in non-verbal ways, but if I speak with them on the phone, my dislike of them might be conveyed in my tone, impeding communication.

    While I respect your opinion that communication should be people centric and not application centric, your opinion is just that, an opinion and in my application centric opinion, the approach you advocate would make me less, not more productive.

    I also think that the rant about Firefox including the application name in the title bar is too cynical. I believe that the reason it is there is just as likely to be the following. Because not all browsers are created equal and there are rendering quirks with each of them, web developers often need to check their pages in multiple browsers. So by tagging the title bar with the browser name, it make it immediately obvious which browser is rendering a particular page. It may be also there for the reasons you stated, but I find it unfortunate that you automatically ascribe negative motives to it without considering that the programmer who added this bit of code may have just been trying to help people like me to work more efficiently.

    I am not opposed to having an option to use a computer in the method you describe as long as you make it optional. I like Evolution the way it currently is. The beauty of open source is that you could implement your idea with a Evolution-lite that is independent of Evolution and we can both be happy.

  11. topyli on November 23rd, 2008 01:06

    @txttechdog: Thanks for your throrough and well written reponse. Your concern seems similar to Peter’s above. However, my suggestion was not about forcing you to use a method of communication pre-selected for you by the system. It is about making your address book (or “people browser”) aware of people’s presence and making appropriate communication methods available to you at any time. You could choose to send email even if the person is available for voice calls.

    I don’t think you would lose anything if your evolution data server talked to Telepathy and told you whether or not people are online. It would not dumb down your interface, it would make it richer.

    The graphical interface itself being Evolution or a set of separate mini-interfaces would hopefully remain a matter of choice, even though something does have to be the default option.

    Realistically, Evolution is not likely to go away any time soon. My hopes rely on enriching the Telepathy-based apps such as Empathy by making them and e-d-s talk to each other and extending the telepathic interfaces to email and complete address databases, not about removing existing options.

  12. GoblinX Project » Newsletter Issue 175, News & Note on November 23rd, 2008 14:18

    [...] The telepathic desktop: apps are out, people are in [...]

  13. Boycott Novell » Links 24/11/2008: Compiz 0.8; Ubuntu 9.04 Alpha; Fedora 10 Coming on November 24th, 2008 12:28

    [...] The telepathic desktop: apps are out, people are in [...]

  14. BceмиpныйAнгeл on July 3rd, 2009 07:24

    Интересно. Вообще чтение вашего блога это не просто глупое просматривание разных тем или чтениевсякой ерунды про то, чем человек сегодня занимался, а нахождение реально занимательной информации.