The Coop, AllPeers, The Browser and Its Contact List

Monday April 30th 2007, 5:46 pm Printer Friendly Version
Filed under:AllPeers, Software Development, Firefox, Social Software
Posted By: Matt

I was excited to read about plans for The Coop, a Mozilla Labs project that plans to add some basic social networking functionality to Firefox. There is obvious complementarity with AllPeers, and I’ve spent quite a bit of time discussing this with involved parties and thinking hard about how this type of system should be architected. The following is an overview of my thoughts. I’m also planning to write up a technical spec for building a generic, extensible, persistent contact list in Firefox using some components from the AllPeers platform. I hope that this will be of some use to the Coopers and help to stimulate further discussion.

Contact Lists Gone Wild

One of my very first blog posts, way back in August 2004, lamented the lack of interoperability between instant messaging clients. Even an antisocial introvert like myself had three or four contact lists floating around his desktop with overlapping but distinct contents. This was a hassle in so many ways: starting up all those clients takes time, they clog up the taskbar and/or system tray, and finding contacts requires tedious trawling through multiple lists.

If anything, the situation has gotten considerably worse since then. I did manage to get rid of some of my chat software since so many of the people I know now use Skype, but on the other hand I now use both AllPeers and IRC constantly. In addition, I belong to any number of social networking sites, each of which has kindly afforded me access to yet another random cross-section of the people I know. And of course I have two email clients (Thunderbird and Gmail) with their own address books, and the list of contacts on my mobile phone. And I’m neither a high-powered businessman nor a spotty teenager… heck, I don’t even use Twitter. So I’m quite sure that there are many people for whom this is a far, far bigger problem than it is for me.

Some sort of consolidation is a no-brainer. But the typical Web 2.0 “put everything on our server and we’ll take good care of it for you, honest” approach is not going to fly. Most of my contact lists are tied to desktop applications that would be hard to integrate with a web solution. Plus I want access to this information all the time on all devices, whether or not they’re currently connected to the internet. And I’m not particularly keen to entrust personal data of this type to a third party.

The alternative is a local application. Multiprotocol chat clients like Trillian and Gaim are good examples of desktop apps that aim to alleviate this problem. But more and more contact lists are web-based, so this approach suffers from the flip side of the Web 2.0-style solution. What we really need is a local application that provides consolidated access to both local and remote contact lists. In other words, it needs to run on my computer but have excellent web integration. Ideally it would be a extensible tool, based on our a power platform, that I already have installed on my machine. Anything spring to mind?

A Frivolous Use Case

Enrique sips his skinny mocha latte out of a disposable paper cup while contentedly scanning his morning blogroll backlog. Suddenly his browser sends up an alert bubble from the bottom of his screen with a message from his friend Anita (who is practically the last person he knows who still uses ICQ). He clicks on the bubble to open a chat window and starts a conversation. In the top-right corner of the chat window he can see Anita’s avatar, next to which is a small icon indicating that she has new items in her profile. While he waits for her infuriatingly slow typing, he clicks on the icon and a new tab opens in his browser with an overview of all of Anita’s recent output: blog entries, blog comments, Flickr photos, del.icio.us boolmarks, updates to her MySpace and Facebook pages, files shared with AllPeers, etc. The chat window automatically docks on the right-hand side of the new tab. He manages to catch up on all her blog posts and comments during the course of their conversation.

Later that day, after a lightning trip to Starbucks for his third skinny mocha latte, he is too hocked up on caffeine to work so he takes a short break to plan his evening. He thinks his friend Steve’s band (Earth, Wind and Firefox) might be playing that night so he slides his cursor over to the left-hand side of his browser window to auto-open his Firefox master contact list. Clicking on Steve’s name brings up his profile page, which includes an excerpt from his MySpace profile. Sure enough, they have a gig at a local club starting at 10pm. Another click pulls up a chat window (Enrique doesn’t even know what client Steve uses but he has so many IM connectors that he doesn’t care) so he can ask to get on the guest list. Steve starts complaining that the club owner is very strict about how many guests the band can invite, so Enrique clicks again to initiate a voice call (his contact list manager detecting automatically that Skype is the preferred client for talking to Steve) and starts pleading his case.

He finally wins Steve over, and he wonders if Steve’s friend Angelica is going to the show since he has a mild crush on her. She isn’t in his contact list so he navigates through Steve to view his public contact list. This consolidates information from various social networking sites into a single friend-of-friend list. He finds Angelica and calls up her profile page, which includes a Twitter feed. He searches for the name of the club and sure enough she’s planning to go. The profile page also include a list of all of her recent blog comments, and he notices that she’s commented on a post on a music blog that he also reads. He reads the post, her comment and follow-ups to build up some conversational material for the evening.

Possible Requirements

In essence, what this boils down to is a multiprotocol chat client with major advantages over products like Trillian, Gaim and Miranda:

  • Easy connectivity to web-based contacts lists such as those used on social networking sites.
  • Use of Firefox’s popular extension mechanism to add new functionality to the contact list.
  • A powerful, popular open source platform (Mozilla) to use when creating new extensions

The contact list would initially have limited functionality, perhaps restricted to that planned for the first version of the Coop. But any developer could implement new features such as connectivity to existing IM networks, processing of specific RSS feed formats (e.g. blog comments), support of specific websites (via XML APIs or screenscraping), etc. Possible requirements include:

  • Attractive, appealing visual look.
  • Extensibility via standard Mozilla technologies (XUL, JavaScript, overlays, etc.).
  • Display potentially hundreds of contacts with convenient access.
  • Organize contacts into groups.
  • Rich alerts (to signal incoming chat, new shared information, actions by user, status messages a la Twitter/Skype, etc.).
  • UI for rich presence (preferably with customizable icons if new extensions add new presence types).
  • Ability to consolidate multiple instantiations of the same contact into a single contact list entry (e.g. different IM accounts for the same person).
  • Local, persistent version of buddy list updated when possible from server-hosted versions (e.g. for an IM application).
  • Ability to browse cached profile information in offline mode.
  • Profile page supports modules (implemented by extensions) similar to NetVibes widgets.

I’m convinced that a consolidated contact list, hosted in the browser, would solve a real and pressing market need.


5 Comments »

  1. Unfortunately, some services will log you out if you login through another service (MSN is really bad at this, but I’d imagine there’s others). So if you would want a contact list for those services, you’d have to implement the actual client features as well, in order for it to be useful and not stop you from receiving messages or sending them while retaining your in-browser contact list.

    Comment by Gijs — 4/30/2007 @ 6:42 pm

  2. Maintaining different addressbook is certainly a big mess, and an important challenge to solve.
    Also mobilephone contacts is a issue - and not beeing forced into MS outlook to sync with PC. E.g. MyPhoneExplorer (free) for SonyEricsson phones is a great alternative here.

    I’m sure there is a big demand for the ideas presented here.

    Comment by evero — 5/1/2007 @ 10:12 pm

  3. I recently decided to try and ditch Trillian because of it’s lack of free Jabber support. But I couldn’t switch to GAIM on Windows or Miranda (which seemed buggy to me). But like you, I have contact lists on many different clients. I’ve wanted to attempt to build a XULRunner based chat client that handled all the different protocols.

    “Use of Firefox’s popular extension mechanism to add new functionality to the contact list.” Are you talking about adding “extensions” on top of extensions?

    “What we really need is a local application that provides consolidated access to both local and remote contact lists. ” I think this is the step in the right direction, and why we are seeing things like Adobe Apollo coming to the forefront. This may even be where we need XULRunner to step up and be the platform of choice. I CAN see the benefits of using something like this in-browser, but soon all my “real estate” will be occupied with these apps.

    Comment by Daniel VanMilligan — 5/1/2007 @ 10:24 pm

  4. why do we limit ourselves with an extension instead of a web app? The vision is (mostly) possible with a web app, maybe backed up by an extension, right?

    Comment by necrodome — 5/2/2007 @ 3:01 am

  5. Nice picture! And congratulations on making your way to the digital world (and the 21st century!) You’re ahead of me though, FemmeFone.nl ? The mobile fashion store, Gratis nieuwste Sony Ericsson W910i Black of Red muziektelefoon met alle mogelijkheden van een MP3 speler, Gratis Chronotech Horloge. Gratis Nokia Ladyphone

    Comment by Gratis Nokia Ladyphone — 11/5/2007 @ 12:07 pm

Trackback URL RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

(required)

(required)


 

AllPeers File Sharing



AddThis Feed Button



Creative Commons License
This work is licensed under a Creative Commons License
Conestoga Street Wordpress Theme by Theron Parlin