Skype and the Incredible Power of Persistent Group Chats

What is one reason why many people continue using Skype for chat / instant messaging when so many other solutions are out there? Particularly when Skype chat is a closed, proprietary “walled garden” that doesn’t interact with IM networks?

After I wrote recently about being a huge user of Skype, Michael Graves asked in the comments why an organization like Voxeo that is so insanely devoted to open standards (and even uses a tagline of “Unlocked Communications”) would use something as closed as Skype?

It’s a great question, and while I answered his comment, it bears a bit more exploration.

In 3 words, the largest reason for using Skype is this:

persistent group chats

Being a globally distributed company, Voxeo is an IM-centric organization and we set up “group chats” within Skype for pretty much every activity we’re doing. Some of those are long-living group chats for communication within various teams or groups of people. Those chats may continue to exist for literally years and have people added and removed to them over time. Some group chats are created for short-term projects or deliverables. And some may be created ad hoc for resolving quick issues – and then disbanded as soon as the issue is dealt with. If a customer has a problem, an alert may be posted in one of our “main chats” and then a “side chat” is formed with the specific group of people who can help right then to resolve whatever the problem will be.

It’s a very effective way to work once you get used to it (and learn how to use Skype’s ability to notify you of certain types of activity in chats). I have probably 50+ chats open in my Skype client right now, most of which are having little or no traffic at the moment, but a few of which are having active discussions.

The Power of Persistent Group Chats

But what I described as an IM-centric workflow could be accomplished by any chat system… why Skype? This comes down to the difference between typical “group chat” systems and “persistent group chat” systems.

Skypechats.jpgHere’s the basic scenario of why this is so powerful:

1. I GO OFFLINE – Perhaps I’m going offline for a meeting. Maybe I’m about to board a plane. Maybe I’m shutting off my system at the end of the day.

2. PEOPLE DISCUSS ITEMS IN MY ABSENCE – The messages in the chat continue to be exchanged, discussions happen, decisions get made, etc., etc.

3. I COME BACK ONLINE – My meeting is over. I landed at my destination. My work day starts. Whatever…

4. I RECEIVE *ALL* THE MESSAGES THAT OCCURRED IN THE CHAT WHILE I WAS OFFLINE – Bingo… I can just scan through everything that happened while I was offline and get caught up on what happened while I was away. Now this sometimes may take a few minutes (for a reason I’ll discuss below) and isn’t always perfect, but most of the time it works incredibly well.

There is immense collaboration power in this capability. Given that I travel a good bit speaking at conferences I spend a great deal of time on planes. I’ll often be working at the airport prior to departure and will be interacting with others via Skype. I’ll close my laptop, fly to wherever I’m going, and then open the laptop back up either at the destination airport or at the hotel or office or wherever. Over the course of a minute or two, my Skype client automagically catches up and gives me the full history (subject to a caveat below) of all the discussions that occurred while I was in transit.

Similarly, with globally distributed teams where we may have engineers in Germany, the US and China all collaborating on a project, persistent group chats allow them to rapidly catch up on what occurred when each group was offline.

Of course, if you are offline for a longer period of time, you might come back to literally thousands of messages and want to just “catch up” and mark all old messages as viewed. This was why I was displeased that Skype removed the “Mark All Viewed” button from the Skype 5.0 Beta for Mac client (and I do hope they’ll bring it backUPDATE: Skype did bring the feature back in the production release of the Skype 5.0 Mac client).

UPDATE: – Another aspect of working offline bears mentioning. Recently, I shut down my computer and got on a flight. While in the air, I went through a Skype chat, read all the messages and wrote a whole bunch of responses into the chat. When I landed, I connected to the free WiFi at the airport and Skype went through its sync process, pulling down all the chat messages that occurred while I was in the air and posting to the chat all the messages I had written while in the air. I then shut down and traveled from the airport to my hotel, where I once again opened up my laptop, reconnected with Skype and received all the messages that people had written while I was in transit from the airport.

This ability to read and write while offline is a powerful capability. In the past I’ve had flights with a long layover and performed a similar process. Reading and writing on the first leg, syncing at the layover to get new messages, and then reading those and responding to them on the second leg of my trip.

But why Skype?

But, you say, there are other “persistent group chat” implementations out there… why Skype? Simply because it is the best implementation of persistent group chats we’ve found so far. Add to that the simplicity of usage, the fact that it has a solid Mac client (and we’re a Mac shop), the fact that it can connect from pretty much any location we’re in… and the fact that it uses encrypted communication channels.

Having said all this, we’re not wed to Skype…. we certainly keep an eye out on other communication tools and have a number of ideas ourselves… if we found something that worked as well and had an open architecture, we’d certainly look at it… but today we use what works – and works well.

The Technology Behind Skype’s Persistent Group Chats

If you are not familiar with the underlying technology behind Skype, you may want to pause here and ready my post, “A Brief Primer on the Tech Behind Skype, P2PSIP and P2P Networks“.

If you think about Skype’s P2P architecture a bit, the technology behind their implementation of persistent group chats is intriguing. In a typical client/server IM network (like AIM, Yahoo, Jabber, IRC, etc.), the clients are communicating with a server and all the chat messages are stored on the server. Other server-based systems can implement persistent group chats by storing all the messages on the server and then sending them out to clients that re-connect to the server.

But with Skype, there are no servers. Instead, the chat messages get stored in the fabric of the P2P overlay network that interconnects the Skype clients to each other – and more specifically within each of the various Skype clients participating in the group chat.

When your Skype client comes back online, it initiates connections out to other clients that are members of the same chat and requests updates for what messages were sent in the chat while your client was offline. I don’t know the exact number of clients your client will reach out to, but conversations with folks from Skype in the past seemed to indicate your client would reach out to a maximum of 15 other clients to find out what was in the chat. (Assuming there are more than 15 people in the chat. If not, obviously it only reaches out to those clients in the chat.)

For EACH group chat that you have.

So if you have a lot of Skype group chats, like I do, you can understand why Skype might trigger security systems at hotels when it goes off to do its initial sync with other Skype clients, purely by the sheer volume of network connections it opens up.

This does bring up one caveat with Skype that I referenced above. Depending upon the size of the chat and the availability of all participants, the full history may not be immediately available. If you are in a chat with 4 people, and the other 3 are offline when you come back online, you won’t see the history until others come online. If one other person is online, you will get the history from that other client… which may be the full history, depending upon whether that client was online all the time. You see where I’m going with this… it may take a bit for you to get the full history.

In larger chats, I’ve seen less of an issue with this because odds are that more people will be online at any time and so your client can receive updates (although there is an edge case that I’ll write about sometime). In smaller chats, though, I’ve seen update issues like this.

All in all it is an intriguing implementation from a technology point-of-view… as someone working with networks for years, I admit to being fascinated by it all. 🙂

P.S. It’s amusing to also look at what I wrote about Skype’s persistent group chats back in January 2007… little did I know how much I would come to use them!


If you found this post interesting or useful, please consider either:


14 thoughts on “Skype and the Incredible Power of Persistent Group Chats

  1. Nikolay Kolev

    OK, but these features aren’t supported by all clients on all OSes. There’s a huge fragmentation – Linux is many generations behind, Mac is behind Windows, mobile clients aren’t consistent either. So, not all group chats “catch up” with time for all participants – speaking from experience. Also, sometimes the synchronization breaks and not all clients in general “catch up” properly. And all these issues exist, because Skype is a closed system.
    Another issue about Skype is that its advertised number of users isn’t real – for each contact in my list I have 2-5 old that they aren’t using, so, the number of screen names doesn’t equal the number of physical users – it is in fact much lower. Skype doesn’t verify email addresses – everybody can create a million Skype accounts using the same email address and I’m sure this was done intentionally.

  2. Chris Weiss

    We used to use Yammer – essentially persistent, secure, *searchable* IRC. I’d never even thought of using Skype’s group chat functionality in that way. I was about to say they’re just missing search, but it looks like Cmd-F works. A couple of features Yammer has that Skype doesn’t – a web interface to the chat channels, and RSS feed of the channels. I never used the RSS feed, but the web interface was nice, especially when I was in a location where I couldn’t install the Yammer desktop Air client. On the flipside, having the chat built into Skype means not having to install another fat IM client (Yammer is also a “walled garden”).

  3. Ispencer

    Excellent post. But my primary knock on Skype, other than that it’s closed source and sometimes takes awhile to catch up after being offline, is that the iOS and Android clients are incredibly laggy, especially when trying to catch up on a few days worth of group chat conversations. I’m guessing this is due to the P2P nature of the chat client, but there has to be an implementation out there with a quality smartphone client.

  4. Andy

    It never ceases me how some products and companies (for example windows messenger in this case) continue to ignore the most obvious of user requirements and utterly fail to compete with a product (skype) that in this case has plenty of faults but still has the killer feature that makes it usable. (editing the last message you just sent is another such feature)
    There is one serious “bug” in persistent group chats which is that the person who started the chat can edit other peoples’ messages. I’m told that this is by design but I have no idea what design would warrant that.
    I’d like to recommend a product called “g-recorder” for anyone working in this way that also happens to use gmail. It periodically emails you a copy of your chat messages, so that when you search your email you are also searching your chat history. This is great when, like me, your audit of events and decisions persists partly in email and partly in group chats. g-recorder also has the option to record skype audio calls and send them to you as mp3 attachments but I don’t use that. I have no connection with these people and other similar (or better) products may be available, but IMHO this capability adds significant value to the persistent group chat feature.

  5. Dan York

    Ha! Yes, that was why I was a huge fan of Google Wave and had a great hope that it would give us a decentralized and distributed way to have this kind of collaboration through the federation mechanism. That still may come about in some form with the open source code being available… but if it ever does it will likely be nowhere near the scale (and the usefulness) of what might have been.

  6. Dan York

    Nikolay, my own experience has been that the persistent group chats work across all clients as the feature is rather old now, but I *definitely* agree with you on the fragmented product strategy issue. I’ve written about that many times here in articles like this one: /2010/05/13/why-im-not-excited-about-skype-50-with-group-video-calls/
    There *are* issues with persistent group chats “catching up” based on the size of the chats. I’ve seen this with very small chats in particular and then again with very large chats. I think this largely has to do with storage limitations in the overlay network and the availability of clients to store pieces of the chat… and in very large chats I know that Skype breaks it into smaller rings for shared history (the “edge case” I referred to in my post) and so you can get into update issues there.
    And yes, the number of “screen names” is rather irrelevant for the reason you mention. I have a number of Skype accounts myself. The number I find more useful is the number of online users as that does count each currently connected client. (And yes, that number could be completely made up by Skype, but I am willing to trust them on that one.)

  7. Dan York

    We used to use Yammer, too. In fact, I wrote about it at length back in October 2008: http://blogs.voxeo.com/voiplab/2008/10/21/yammer-presently-laconica-and-pushing-enterprise-microblogging-into-the-cloud/ – but then our Yammer usage faded out… eventually to zero. In talking to folks, it was largely because Yammer became yet-another-place-to-check that was not part of our daily workflow. Skype, on the other hand, *is* part of our daily workflow.
    Yes, there is an EXCELLENT search facility built into at least the Mac client for Skype. It does full-text searching across all of your chats. Now, the only “gotcha” is that it searches the history of all the chats *on the machine you are on*, so if you use multiple systems at different times, your chat history will be fragmented between machines and therefore not globally searchable. (Recalling again that Skype has no servers to store info – only has the P2P overlay network or the local client.)
    There are rumors this weekend from TechCrunch that Skype is building out a web interface… we’ll have to see what happens there.
    And yes, both are proprietary walled gardens and I do hope that eventually we have more open alternatives.

  8. Dan York

    Thanks for your kind words. Yes, the fact that I’m such a huge user of group chats has rendered the mobile versions of Skype almost useless for chats because when they come online it takes them *forever* to sync and update. I think this has to do with both the high number of chats I’m in and also the high volume of chats. I do think this has something to do with the processing power on the devices and the time it takes to sync and process all the p2p updates. I’m hopeful that eventually we’ll get a solid client on the mobile devices that will work better with chats.

  9. Petecurley

    Hey Dan, great article. Although Skype is on the right track, there are a few things missing that would make it a lot better. We started HipChat to fix what was missing and specifically gear it towards companies.
    1. Chat history is stored on each user’s local computer instead of on a central server like HipChat. This means…
    -You won’t be able to see messages sent while you were offline unless another member is signed in (Skype sends recent history peer-to-peer).
    – You can’t browse history or files from the web if you’re away from your computer.
    – You can’t delete chat history.
    2. Files are sent to each member of the Group IM individually, which means…
    -Files aren’t searchable in chat history.
    -There’s no inline file preview like here: http://www.hipchat.com/img/screenshots/chat_room.png
    -You won’t have access to any files shared while offline.
    3. Group IM administration is done through slash commands that aren’t very user friendly. Type ‘/help’ to get started.
    4. New employees will need to be added to every Group IM. In HipChat, they’ll see a list of rooms available to them in the lobby the first time they sign in.
    5. There’s no API for sending messages to rooms about software releases, code checkins, etc.
    We also have a desktop app for Windows, Mac, and Linux. We have a web version, SMS, and native iPhone app coming soon. Obviously I have an interest in more people using HipChat, but as long as more teams use group chat, I’d consider it a victory. If anyone is interested in learning more about HipChat you can check it out at http://www.hipchat.com

  10. Dan York

    Pete,
    Thanks for the reply… and though I don’t often allow such shameless plugs / advertising in the comments here, I approved yours because it does point out some major differences between Skype’s P2P implementation and a traditional client/server-based approach. 🙂
    You’re absolutely right that those are all advantages of a server-based solution. A centralized architecture definitely lets you have a more searchable and accessible chat history, more efficient file transfer, easier group chat administration, MUCH easier employee administration… and sure, an easier API. It’s long puzzled me that more server-based solutions *don’t* offer persistent group chats. I know Microsoft does in Lync (via their Parlano acquisition), IBM has some in Sametime… I’ve seen some add-ons to Microsoft SharePoint and I’ve seen some startups in the space. (And I was not aware of you all at HipChat, so thanks for leaving the comment.) But it would seem a valuable addition to other systems… perhaps there are scaling issues… or perhaps people just haven’t asked for it.
    The counterpoint, of course, is that in using a server-based system you are then reliant on the access and availability of the central server. It is a Single Point-of-Failure (SPOF) and you have to decide whether you are okay with that – or figure out an architecture that allows you to somehow remove the SPOFs. Skype’s P2P overlay network removes that dependency… although with downsides that you mention here. Any challenger to Skype also certainly needs to make the user experience as simple… and also needs to make the firewall traversal as easy as Skype does. (I can just open up my Mac almost anywhere and Skype can make a connection out… minus the random hotel here and there. )
    Thanks again, for providing the server-based counterpoint.

  11. JasperWestaway

    We have an application (http://oneDrum.com) that uses Wave-like technology to make MS Office real-time. A side aspect of what we provide is group chat. It happens to work on the same wave tech we use for the documents but the experience is mostly identical to Skype (list of messages, P2P delivery).
    The feeling I have is that it is not a structured enough approach – that it would be more productive for groups to be able to branch off specific conversations, tag those conversations, associate files with a given conversation rather than the the group etc… This would be more akin to an email chain or a product like Campfire.
    How do you feel about this approach or do you value the ‘lighter’ touch ?

  12. Gav

    Haven’t you heard of Microcoft OCS/Lync Group chat?? Cloud based solutions such as skype (and yammer) are fine but for enterprise deployments then you need an enterprise tool.

  13. Gav

    Cloud based services are fine, but for enterprise usage IMHO there is really only one option – the OCS/Lync Group chat server from MSFT.
    Jasper et all, good comments but if properly implemented group chat is a great way of distilling ‘tacit’ knowledge and distributed working.
    PING:
    TITLE: The End of the “Skype as Bandit” Era
    BLOG NAME: Disruptive Telephony
    And so it ends… Skype was always always a fun company to write about because they were always a bit of a rogue. The scrappy little startup that took on the megacorps of the telecom industry… and won in so…
    PING:
    TITLE: Skype 5.0 Easter Egg: Super Simple Way To Launch Conference Calls!
    BLOG NAME: Disruptive Telephony
    Wow! I might have just found a feature cool enough to get me to move over to Skype 5.0 for the Mac, despite my many concerns with it. Hidden among the many IRC-style chat commands (but not included on that…

Comments are closed.