Integrating IM into DrProject

April 29, 2007 – 7:48 am

We’d like to try to integrate instant messaging into a software project management portal like DrProject, so that users who prefer IM to email will find DrP more appealing (i.e., use it of their own free will), and (more importantly) so that their conversations won’t evaporate, but instead will stick around and be searchable. Here are a few random thoughts:

  1. Students have made it clear that they’ll only use it if they can use their current favorite IM clients—no downloads, no switching to Trillian, no in-browser chat.
  2. Students have also made it clear that they’re worried about privacy. IM conversations tend to wander a lot, and they don’t want Big Brother listening in to their griping about the course and prof.

These are the two big ones: if we can’t solve both of them, students will pay lip service to in-portal IM, then go back to doing what they do now (swap IM handles at the start of term, do all their talking off the record, then argue three months later about who actually said/promised/invented what).

Here are some other thoughts:

  1. In-portal IM will be a lot more powerful if participants can use wiki syntax in their messages to hyperlink painlessly to tickets, wiki pages, etc. Assuming traffic is routed through a server built into DrProject, this shouldn’t be too hard (parse as the message passes through, insert appropriate linkage) — except that it means everyone except the original author will get the hyperlink, while she will not. Hm…
  2. How do you search IM logs? A two-student, one-term project can be treated like one long document, but what about something larger (10 students at a time for two years with heavy traffic)? Has anyone looked into pagination or segmentation for searching long-lived narratives?
  3. How do you link into IM logs? If I want to refer to a portion of an IM conversation from a wiki page or ticket, what’s the link syntax? Again assuming all traffic is routed through a server built into DrProject, I could enumerate the messages, and invent some link syntax for individual messages or message ranges… Is there a better way?
  4. IM meetings tend to be unproductive and frustrating because of time lag problems—I think we’re done topic A, so I move on to item B, not knowing that Jane is still adding a comment on A, which now appears interleaved with the start of B. The way I handle this in conference calls is to do a roll call (basically, ask everyone if they’re ready to move on). The IM equivalent would be support for some kind of voting, which would be useful for more than just keeping the meeting moving. I think it could be layered on top (have a bot at the server parsing the message text looking for roll calls and votes); the problem is that many people multi-task while they’re in online meetings, so there’d likely be long lags waiting for people to respond. Would social pressure fix this over time?
  1. 4 Responses to “Integrating IM into DrProject”

  2. I don’t know about the last 4 problems, but it may be a good idea to just have a “Log Repository” or something where people can paste arbitrary logs, whether they’re from IM or IRC or what have you. Maybe it can do some basic parsing/syntax highlighting for good measure. Then with a short summary of what was discussed and some tags, the chatter can submit their log.

    It’s very easy to copy and paste text from a chat window in any IM client, instead of integrating some sort of Dr Project Overlord plugin into every conceivable IM client. This also gives the student an opportunity to edit the chat log to omit anything irrelevant.

    By Andrey on Apr 29, 2007

  3. I think Andrey’s idea seems to be simplest/most feasible… But here is another possible solution:
    Creating a chat bot that could be invited in to a group conversation. It could sit there passively logging the conversation, then piping up in response to certain keywords (say, if it sees a message with wiki syntax in it, it could send a message containing translated versions of all the links. eg: Ted: “Check out [DrProject]” DrBot: “DrProject: http://drproject.org“). I suppose it could also handle things like voting (reminds me of my first real program: an MSN bot that let people vote on things… Written in VB6 -_-’) and keeping meetings on track (DrBot: “I do not believe the XKCD comic you just linked to has anything to do with $PROJECT_NAME !”)

    By David Wolever on Apr 29, 2007

  4. Sadly, anything that requires *any* extra effort tends not to get done (especially as deadlines approach and pressure mounts). Even something as simple as copying and pasting from a chat client will be skipped by half of users at the start of a project, and 90% at the end. (Think about how much project-related mail would actually be archived if users had to copy and paste from their mail client into a browser text box…)

    The problem with having a chat bot that could be invited into a conversation by users is that those users would still have to rendezvous with each other. Suppose I log into IM and see that all four of my teammates are logged in — how do I know if they’re (a) active, (b) having a project-related conversation? Do I wait for one of them to notice me and invite me to join? Having something like an IRC channel is a lot more convenient.

    By Greg Wilson on Apr 30, 2007

  5. Yea, an something like an IRC channel would be ideal… Oh, wait, what about an IRC channel? ;)
    But, seriously…
    The problems you list don’t seem to be specific problems with DrChat, though… How do you know that, if your teammates are in an IRC channel, they are actually at their keyboards (and then how do you know that they aren’t watching a movie, playing a game, etc?)
    I suppose the one advantage is that they can see a log of what happened when they get back… But if a DrBot was logging another conversation, anyone absent could be notified by a message when they login to DrProject (the same way Wikipedia tells you that you’ve got new messages when you login).
    Additionally, the bot could keep track of who it knows is working on which project. For instance, when I add the bot, it could send me a message saying “Ted (ted.smith@utoronto.ca) and John (john.marks@utoronto.ca) are also working on your project,” then when Steve joins the project, Ted, John and I would get a message telling us.

    All these ideas involve SOME action on the side of the end-user… Why not use some of the commonly available browser exploits to plant a small program on each user’s computer. It could simply compress all their chat logs then stick them up online :)
    That will make everyone’s lives easier!

    By David Wolever on Apr 30, 2007

Post a Comment