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
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.