Next-Generation Communication and Software Engineering
January 17, 2005 – 10:32 pmA couple of years ago (summer of 2003, actually), I noticed something that’s been nagging me ever since. When I log into a computer, the first thing I fire up is email. When my students log in, the first thing they run is an instant messaging client. They keep IM running all the time, just as I keep my email client up, and whenever they run into something they don’t understand, they’re more likely to ask one of their buddies than to ask Google.
Now, I don’t know how this is going to change the way people develop software, but I know it will, just as email did. Just today, for example, I:
- asked a guy in Germany whether the documentation for his open source library was accurate;
- searched the archive of the Python Developers’ List to remind myself of something I worked on in 2000;
- sent a stack trace to another developer in Boston;
- arranged meetings with three different teams;
- apologized for missing a meeting with a fourth team;
- triggered a complete system build by sending email to a daemon process running on a machine in B.C.; and
- received a reply telling me that some code I’d checked in didn’t compile on BSD (missing header files…).
None of this would have happened if my generation didn’t take email for granted: it might have been technically feasible, but we just wouldn’t have thought to do it. The teenagers and twenty-somethings in my class take IM for granted; the only thing standing in the way of them being really creative with it is that dinosaurs like me still make the rules. What will software development projects feel like ten years from now, when they’re in charge? If anybody knows of creative uses of IM in software development, I’d be grateful for pointers.
7 Responses to “Next-Generation Communication and Software Engineering”
ACM Queue had an issue devoted to IM last year. IIRC, articles looked at how IM could be used in a business setting with case studies from Sun and IBM, I think.
A bit of a tangent, but issues worth keeping in mind. One thing that I think we need to be aware of is the demand of IM on one’s attention. I have used IM and used to start up IM all the time, but I don’t do that now. Why? I lose concentration when somebody messages me - the context switches cost too much in terms of concentration and thus productivity. Even email and news can be detrimental. I’m using gbuffy to reduce my time checking mail and have started to use an RSS aggregator to stop myself from constantly checking various sites.
There are a lot of social and psychological issues that need to be addressed as instant communication and constant availability becomes prevelant. There is research being done by Eric Horvitz at MS research on “considerate” computing.. he is looking at how devices can become like secretaries and selectively screen incoming information based on their observations of the recipient. See January’s Scientific American for an interesting overview.
BTW, looking forward to reading your article in Queue about extensible programming languages. I’m just waiting for my tree version to arrive.
By Liam on Jan 17, 2005
Here is something I saw not too long ago. Sun’s Enterprise IDE features a pretty advanced developer collaboration tool which is basically an IM conversation, with syntax highlighting, shared code right inside the IDE.
Here are some screenshots: blog.sun.com/roller/page/toddfast/20041203#screenshots_of_developer_collaboration_in
(Couldn’t post a proper link, kept getting the following error “Your comment could not be submitted due to questionable content: http”)
By Greg on Jan 17, 2005
Just something I forgot.. when I worked at Red Hat, we used IRC (on a private internal server) to communicate in addition to mailing lists galore. Each group had its own channel. It was pretty useful for both quick inter- and intra-group conversations and supported both group and private chats.
By Liam on Jan 17, 2005
I agree with Liam’s comment on attentional resources of IM. I find that when I fire up my IM client, I make an utter and complete switch from “work mode” to “socialize mode” with a completely different sense of passage of time. This is why I also don’t use IM much, and then only in the evenings when I can relax at home.
Greg W., it’s my observation (whether it’s right is a different matter) that those who sit down on the CDF computers and fire up amsn right after logging in aren’t really in the work mood either; they rather do it to chat with their friends. If in the process they exchange something useful relating to assignments, great. However, I don’t frequent the Bahen labs very often these days, so spice this up with some salt.
I can definitely see how IRC embedded in a work environment or the developer collaboration tool mentioned by Greg L. could work, because either directly (it’s in an IDE) or indirectly (you’re at work) it invokes the “I’m working now” mindset. *Then*, the payoffs of having instant communication materializes. As long as it doesn’t slip into informal chatting.
By Vlad on Jan 17, 2005
Youd be amazed at the math formulas you can pipe through msn. a latex syntax understanding plugin for gaim would be a godsend. let’s make a project
By jont on Jan 17, 2005
How long to you think it will take for some development house to turn Jabber (or some other OS IM client) into the next corporate must-have tool? I read recently that Disney was paying hundreds of thousands licensing Wiki software from some company.
By Ben on Jan 18, 2005
I think one of the biggest hassles with instant messaging is that it’s tied to the computer. If I’m away from the computer, like watching tv, I may miss an important IM. I can leave the speakers on the PC really loud, but then I’m always jumping up and running back to the PC to read an incoming IM in case it’s important. Most of the time it’s not. I can subscribe to a service with my cell phone—but that costs money. So here is (I think) the perfect solution, and a good GAIM plug-in that’s not too much work.
I just installed a Pluto Home system (plutohome.com). It’s a free, open source smarthome and media server. You put Bluetooth dongles on all the pc’s in your house, and then when you enter a room your Symbian Bluetooth phone turns into a remote control for everything in that room. It already tracks your movement—if you start listening to music in 1 room, your music will follow you as you move with your phone to another room. And it already sends messages to the phone based on events. For example, when the song changes, the cover art shown on my phone changes to show me what’s playing.
So that got me thinking… Why not make a GAIM plugin for pluto so that whenever I get an IM, I see it on my Bluetooth phone? That way I can either type a reply on the phone, or go back to the computer if I want to use the keyboard, or ignore it if it’s not important. And I’m not having to run back and forth to the computer to check IM. And it’s free since it uses Bluetooth! Plus, I think it’s such a real convenience it would be a great way to get people to switch to GAIM.
I talked to the programmers at Pluto and they said it would be really easy since their stuff is already written in small modules and plugins. However, since we’re all open source, we could also just take whatever pieces were useful and do something completely new using the same concept.
Many of the other GAIM projects listed are either specific for only some users (like Apple iChat), or would only be used by geeks (like the Perl interpreter). But not having to run back and forth to the computer is something everybody wants (imho). I don’t see how to recommend a new idea for GAIM, so I’ll just try the forums and hope somebody else likes it too.
By jwinter on Jun 28, 2005