So I've spent essentially the past year building the server engine for a system called ASAP. On the surface, it's an Instant-Messenger package, sort of like MSN/Windows Messenger, AIM, Yahoo! Messenger and that ilk. But it's aimed at a much more serious business audience: this is IM grown up, with the sorts of features you need if you're going to use it to really get things done. Here's an overview of some of the cool stuff in the system.
Stand-Ins: It has a couple of new ways of finding people. On the one hand, there are "Stand-Ins". Say that I'm a developer, and a salesperson needs to ask a question about my area of the code when I'm not around. I can desigate another developer as my Stand-In for sales -- someone who might be able to help if I'm not available. So when the salesperson tries to get a hold of me, it will suggest this other person as a possible alternative. I can specify different Stand-Ins for managers, other developers, friends -- basically, any group of people can be assigned a customized list of Stand-Ins who might be useful for that group.
Lifelines: On the other hand, it has "Lifelines". A Lifeline is basically a group of people, any of whom can be accessed through a single contact. So for example, you could create a Customer Support Lifeline for your company, and make that available as a contact to your customers. When a customer needs help, they double-click on that Lifeline, just like you would normally double-click on an individual to start chatting with them. The system automatically picks the least-busy member of that Lifeline, asks them if they're willing to help out now, and sets up a chat between the customer and that person.
Meet ASAP: As with ordinary IM systems, we provide simple chatting -- you select some people and say "Meet Now", and you get a meeting with them. But we also provide a really useful variant of this: "Meet ASAP". This is my personal favorite feature. Say that you need to meet with four people, but only two of them are around right now. You could plan a meeting by sending emails around and finding out everyone's schedule, but that's a hassle. Instead, we let you just select all four of them and say, "Meet ASAP". Whenever everyone in the meeting happens to be online and available, the system pops up a little message telling you that your meeting is ready. Click on it, and you get your meeting. This frees you from having to try and manually figure out when all of the people you need are around: you just tell it who you need to meet with, and it does the legwork of telling you when you can meet.
VIPs: It provides a bit of intrusion filtering. In most ordinary IM systems, you can say, "I'm busy", or in some just declare "I'm pretending to not be online". We support that, but we also allow you to designate specific other people as "VIPs", who get to see what's really going on. So I could, for example, declare that the other engineers are VIPs, so that they can contact me even if I'm pretending to management that I'm not present. (Okay, the theory is that you do it the other way around. But get real...)
Integration: It provides a good deal of automatic integration with other IM systems. I'm running MSN and AIM on my desktop right now. ASAP will automatically read my contact list in from both of those systems, and show me the combined presence of all three, so I can see my AIM, MSN and ASAP contacts all in a single interface. Moreover, it will use whatever mechanism someone is available on to send chat invitations. So if I pick one of my MSN buddies and start a chat with them, they'll get an MSN chat with a link in it -- and all they have to do is click on that link, and *poof*, they're in an ASAP meeting with me.
No-download meetings: Which brings us up to the idea of instant meetings. To use the system completely, with a buddy list and everything, you have to download a client, same as for everything else. But the people you chat with don't have to download anything! If I invite my MSN buddy above to a meeting, and he clicks on the link, he simply pops into an ASAP meeting -- no download required.
The magic here is Flash, which is installed on damned near every browser on Earth. Our UI is written in Flash, so if you have a decently recent version of that (and you probably do), you can just join right into meetings. This means that, while the buddy-list stuff is Windows-only for the moment, you can invite most people from the Mac and *nix worlds into meetings with you.
We even have a concept of "email contacts". If I know someone's online, and they don't have any IM system, I can add them as an email contact, and start a meeting with them that way. The email contains a link -- they just click on the link, and enter right into the meeting with me.
Flash also gets us some other really interesting goodies. For example, it supports most audio and video systems right out of the box. So if you've got a webcam, it will automatically detect that; you can just press a button, and start having a video meeting. (And Flash just looks so good. Our UI is really slick.)
Presentations: For the serious business types, we've also got a "presentations" tool built-in. You can take a Powerpoint slideshow, and import it right into a meeting. Once you do that, you can draw circles and arrows and stuff all over it while you're talking, to show folks what you're talking about. And we've also got a screen-sharing component, so someone can show everyone else exactly what they're looking at on their screen -- if you're talking about a program of some sort, this can save a huge amount of confusion.
There's lots more, and we've barely scratched the surface -- we've got all sorts of ideas about how to make the IM concept more useful. But that's most of the interesting high points so far.
Mind, it's still beta software, and there are definitely still plenty of bugs to fix before the real release. But it's good enough to play with now, and pretty neat. If you want to come see what it's like, go to the Convoq Homepage, and click on the ASAP Beta picture there. We're looking to get more people playing with it while we're in beta, so come have fun.
Feel free to ask questions -- it's remarkably pleasant to finally be able to blather about this, after fifteen months in stealth mode. And spread the word...