Today I’m going to write about some “use cases” for computers that should be common place, but aren’t, because they don’t work. Sometimes it seems that nobody is thinking about how people want to use their computers … or at least, nobody is taking that into account when they design their applications.

Hopefully this will remind a few software engineers somewhere that your “usability study” where you ask your users to perform specific tasks and determine how easy it was for them … doesn’t cover what they will want to do once they get a copy of your software. Anyway, on to the examples…

Lets take John (the imaginary users in use cases always have names, and even short profiles…), he’s a sophomore college student that commutes to school from off-campus, and he spends several hours every night on his computer. Tonight he’s chatting with a couple of the members of a project team for a design class he’s taking, and they’re working on doing some research.

John finds a website with some very well designed … forks … and wants to show that page to his teammates. He drags the URL into the chat window by dragging the little icon from his browser address bar, and sends it to them (so far so good). Then he notices further down the page, a particularly interesting design in amongst several others in a list with notes on each … so he clicks on the picture of that design and drags it to his chat window — whoops!

Much to his frustration his IM client can only deal with images by sending them as files to the other users, and to prevent spamming, it doesn’t have a feature to allow you to send a file to multiple users as the same time, even if they’re in a chat with you! Even worse, when he dragged the image, he may have selected the text with it, and seeing formatted html, his IM client may have just rejected it altogether … or copied just the text …

You know what? Let’s not deal with any other use cases today … lets just examine this one in further detail. At this point, John has several options:

  1. He could drag the image to each of them in his buddy list, and they could all go through several steps while their IM clients verify that they’re willing to accept potentially malicious images from him … and then they could open the image in “Preview” or “Windows Picture and Fax Viewer” or whatever their image-viewing application of choice is, and scroll in their web browser to see it in context.
  2. He could send the text next to the image in an instant message, and hope they can find the right image to look at in their browser.
  3. He could right-click the image, copy it’s “location” into the clipboard, and paste that into his chat window … they could each click it (navigating away from the page, in their browsers — possibly in a new tab) and then click back to the original page to find it in context…
  4. He could open an email, type each of their email addresses into it, and then copy the picture and it’s text into the email, which would work beautifully (apart from the fact that their email clients may require them to “right click to view pictures” in a misguided attempt to protect their privacy from “web bugs” which don’t exist in this email).
  5. He could use a desktop sharing tool … if he had access to one which allowed multiple viewers, and they could all negotiate the inevitable tangle of multiple firewalls and NAT routers and ISPs with dynamic IPs … and if they had the software viewers installed …

I think the first scenario is more likely —although, depending on how much these guys work together, any of these is possible, including several even more sophisticated methods, like a shared browsing session using special browsers or browser plugins, or an iFolder or Groove shared workspace that he could drop the image in … or a shared web markup account with a service like clipmarks.

In any case … this simple thing suddenly turned into a high friction event which is likely to frustrate even the geekiest version of our user, whether he’s on Windows dealing with antivirus scanning images he sends via instant messenger to his buddies … or on a Mac trying to find a desktop sharing tool which will work with his Windows-using teammate, because his wonderful Adium is really just pretty icing on top of the same ugly IM implementation that GAIM Pidgin uses on Unix.

The sad thing is that when he dragged that image to his chat window, he was dragging html … the chat app could have figured that out, and copied the formatted text (you’re not still using an instant messenger that can’t format text, are you?) and even inserted the image url — maybe his friends clients could even download and display it from the web server (ok, yeah, my IM client doesn’t do that either) ... but it won’t.

Another sad thing is that his IM client keeps track of his “buddies” separately from his email client, even though they both do basically the same thing (send messages to other users via one or more servers). He doesn’t have any way to click on a chat window and say “send an email to these people” —after all, why would you want to do that when you’re already chatting to them!?

There’s more bad news: when he copies the html into his email client, the client isn’t smart enough to attach the images so the receiving clients will display them … instead it will almost certainly embed them linked to the original image (and he won’t know how to change that).

So, yeah … John didn’t really do any of these things … because he’s already learned that they just don’t work ... instead, he simply explained in an instant message that “it’s the third one from the left in the second row … no, not the blue one …”