Archive for February, 2010

Why Interaction is the Future of Social Computing

February 26, 2010

This post was inspired by Michael Bernstein’s post on his blog. I originally meant it as a direct response, but it veered a little off-topic and it’s pretty late now, so I’ll leave it as is.

Michael’s post speaks eloquently to the challenges and opportunities that systems and applications have for the field of human-computer interaction. Being a coder, I was particularly struck by the example of the “socially aware IDE” – coding environments that are aware of Other Coders Like You, open source code they have provided, and helpfully suggest snippets or blocks when you’re stuck (“Vlad, it seems you didn’t type-check your content request form against your backend db. Mysql will be angry! Here’s a simpler way Michael did it: <snip>”). But obviously, that’s not the only example. I want an interactive, engaged user experience (obviously, only when I need it), instead of a text box. I want autonomous agents that convince me of their utility not only through the awesomeness of their algorithms but also through the pleasure I derive from interacting with them. I want more, better UI.

Unfortunately, I don’t work in HCI, so at most I can write these impassioned posts and hope that someone reads them and gets inspired and makes a whole bunch of awesome software. I do, however, work in social computing. I deal with Very large datasets, mostly consisting of people who interact with and through computers, and I get to see just what they do with the software they have. To be honest, it’s pretty impressive. People write blog posts such as this one and stuff their self-righteous rants down the mouths of hundreds of friends with a single click. People contribute to articles in online encyclopedias. A few people contribute to thousands of articles in online encyclopedias. Very few people write bots who contribute to tens of thousands of articles in online encyclopedias and make we worry for their sanity. People write software that anyone can use. People share their work – from music to movies to microcode – with the whole world. People start businesses and make millions. And that’s just the stuff you already knew, the stuff that makes New York Times headlines and Digg front page.

So what about the stuff you may not know? I’m going to list some bullet points, which I think are key for anyone wants to design systems that people will work with online. Some are meant as inspiration, others as warning signs. Up to y’all to figure out which is which.

  • People are smart. Anecdotes abound about “dumb behavior online,” from inappropriate pictures on Facebook walls to hapless victims of computer viruses. There is significantly less chatter about how much people get right. The emphasis here is on people, not just the single person. A single person can engage in safe financial transactions with total strangers, catch up on the news, plan their vacation at the computer. A group of people can come together and build a wonderful piece of software, or help victims of natural disaster, or rally behind a political issue – by making up rules as they go along. There are no Robert’s Rules of Order in online fora, there are only minimal guidelines and a general understanding of “be a good person.” And while the bad voices can seem the loudest, it is the quieter majority that keeps the community running, that weeds out the rulebreakers when needed and welcomes newbies with a friendly ‘hello:)’. The ability of groups to cooperate, set up rules for doing so, and follow those rules to the betterment of everyone, is one of the most astounding things about crowds.
  • People are persistent. The computer scientist on a forum clicks on ‘post,’ patiently waits for the post to go through, realizes that if it doesn’t go through once, it’s probably a random timeout, if it doesn’t go through > twice, there is probably a connection error, and leaves a note with the admin. The layperson clicks ‘post’ about 50 times, and then when it finally works, clicks it ten more times to create angry posts about how he/she can’t post. That’s the simple scenario. Here’s another one, in the same vein, but with a very different conclusion: the computer scientist signs up for a Q&A site, sees the warning ‘site is for Q&A only, no conversations allowed,’ and takes his or her conversations elsewhere. The layman signs up for the same site, sees the same message, and proceeds to post questions like ‘how are you?’ and ‘is it dark where you are now?’, starting conversations with others on the site. Whatever you build, people will come at it from their own perspective, stubbornly refuse to change their behavior, and if need be, subvert your design to fit their needs. These people can be the most destructive, but they’re also some of the most creative users out there – painstakingly building new ways to use the same tools.
  • People are susceptible. Two weeks ago, I was susceptible to a cold. Somebody infected me, and I spent a few days being completely out of it and watching lots of Leverage. Similarly, about six months ago, I was susceptible to buying a new computer. I asked and I listened and I took advice from what I thought were influential people (random strangers on a messageboard) about how I should spend several hundred dollars of my money. And I spent it, pretty much as they advised me. These are isolated events, but they can easily become parts of epidemics. Without a warning, whole groups of people can run, lemming-like, to the Apple store and buy a new kind of music player. They can all start to believe some urban legend that has at best a tenuous connection to reality. This doesn’t happen overnight, but for true epidemics, it happens pretty darn quickly. Predicting these is still more of an art than a science, but being aware of their possibility (and maybe even harnessing them for your own farious purposes) is very important when dealing with – and designing for – large groups of people.

And there you have it. There are more bullet points to write, but this is a long post already, and I should wrap up. Again, I am not a designer, I don’t know what features or philosophies you should adopt to react to the persistence, or the unexpected intelligence, of your userbase. I just report from the scene (which I guess would be a set of very full hard drives), and let the designers figure it out. But I do know that if you, as a designer, do not pay attention to what people are doing online, you may make some big mistakes. The most important thing is – get to know your users. Spend a day in their shoes. Don’t just look at the UI from their perspective – pay attention to how they interact. It might not matter in the short term, but sometime, on some 3am night right before a deadline, you will recall the way your users backchanneled about introduction of feature X and take that into account in your roll-out, and save yourself weeks or months of frustration and headache.

…or maybe not. My science is not an exact one, and the only thing I can say for sure is, YMMV 🙂

Vlad