Out of the Hot Seat: Reimagining Code Forums

I’ve picked up an unusual habit lately — when I am about to make a programming-related internet search, I open a private tab in my browser.

What am I up to? Just trying to keep my cool.

You see, StackOverflow ranks very highly on searches for programming help. If I use my regular browser to visit StackOverflow, I will be logged in automatically. There is a good chance I then will find a not-so-nice followup post to some questions I have asked on the site.

If I use a private tab, I will not be logged into StackOverflow, so I will not want to pour a beer on someone. 

Oh, StackOverflow users have their reasons. The rigorous review process makes for clear threads that stand the test of time as a useful reference for thousands of other readers. Without this structure a forum can descend into a chaos of unclear, unanswered threads with new users simply being fed answers rather than actually learning.

On the other had, StackOverflow can certainly feel like this:

Is it that bad? I think so. Why? That’s what I wanted to know.

So I interviewed two friends of the blog, Oz du Soleil and Alex Powers, about code forum cultures in particular and online communities in general. 

Instead of classifying “nice” and “mean” blogs, my conversations got me thinking about reimagining the forums entirely.

This paper was submitted for a seminar I took Spring 2017 in qualitative research. 

Your comments welcome — how can we improve online code forums? I for one would certainly like to avoid opening private browsers.

Introduction

One of my research projects at Weatherhead has required that I learn new software programs to conduct my analysis. I love p­­laying with computers – a reason why the research program attracted me to Weatherhead in the first place. So I saw the requirement to learn new programming languages as a delight. What I did not expect when beginning this project was that I would be encountering a fascinating social phenomenon as I learned new software.

I often get stumped writing code for my research. My advisors and colleagues do not know these programs, so I must look outside Weatherhead for assistance. Fortunately, many large online communities exist for people to post questions for help with their code. Most of the time, another user comes through fairly quickly with an accurate, well-explained answer. This is all-volunteer and it is free to post questions.

I quickly noticed that forums have their own norms. Some are extremely friendly – perhaps even too nice. Pressed for time, I would often post questions to these forums without really doing any prior research myself. And I got an answer. While I was able to advance my research with the code I received from the forums, I knew it did not contribute to my educational well-being. I learned nothing about programming from the experience.

Some forums skew too much toward the opposite – too strict. While admittedly these forums often give more sophisticated answers on a wider range of topics, they seem to embody the worst social elements of the internet. Only after hours of trying to solve the problem on my own would I pose my question on these forums as thoroughly as I could. The response rate was much lower on these stricter forums. Sometimes I got chastised quite severely on seemingly pedantic grounds – my question was not well-phrased or contextualized, or I was asking to do the wrong thing in the first place. While I was more likely to actually learn about programming on these forums, the negative experience outweighed any educational value.

The phenomenon I hoped to explore at the start of this project is what sets the norms and etiquette of online code help forums. Why do some forums seem nicer to new, less-educated users? Can a forum really be “too nice?” Why are the strictest users often so pedantic? What motivates these different parties to post on online code help forums in the first place? How can forums balance hospitality toward new coders with the “tough love” needed to learn programming?

As a fairly well-known Microsoft Excel blogger, I am fortunate to be friends with many of the top Excel trainers. These individuals reach thousands of Excel users and are familiar names to online forum users. I spoke two of these colleagues. With their deep knowledge of online forums and software communities in general, this was an excellent first start. Oz du Soleil is a self-employed Microsoft Excel trainer, well-known in the community as a Microsoft Most Valued Professional. This is a title given by Microsoft to professionals who have made outstanding contributions to their user communities. Alex Powers is a younger, emerging Microsoft Excel blogger and spreadsheet developer at a large Midwestern bank. Each interview lasted for around an hour. The transcripts are available here.

After talking to Oz and Alex, I took a much more appreciative approach to online forums. In fact, my research question changed from wanting to catalogue a typology of online forums (a typical academic exercise) to envisioning a new way for people to give questions and answers about programming. A simple yet powerful concept drove this new interest: reciprocity.

Reciprocity

One theme that consistently came up in the interviews was a sense of reciprocity between askers and answerers. While nonmonetary, forum discussions are still an exchange. There are many motivations for people to both ask and answer questions.  In fact, many users do both. This realization that posting on forums is an exchange that benefits all parties starts to break down boundaries of “us versus them.” While some users might be more inclined to ask than answer, or vice versa, all sense a reciprocity from the forum discussion.  

Career advancement

One motivation shared among most users is career advancement. Computer programming is a lucrative skill that is only increasing in demand. Forums give individuals the chance to both ask and answer questions about coding. Each can be essential to programmers’ career advancement. For those newer to programming languages who may be more likely to ask questions, this gives them the chance to speed up processes at work. Those who are more experienced and more inclined to answer questions can demonstrate their subject mastery to peers and employers.

Alex in particular noted “the opportunities it [Excel] gave me with my life.” He talked about how Excel gave him the financial stability to propose to his wife, and now he is working toward buying a home. He attributes his growing knowledge of Excel in part to active presence on the forums. “If you want to advance your skills,” he said, “you need to start helping others.”

Fame and validation

References to fame and celebrity came up several times in the interviews. This is a common theme in software forum culture. Indeed, Microsoft itself calls their top professionals “MVPs.” I joked to Alex that I am “a B-list Excel celebrity.” Alex retored: “I like how there are trading cards to us.” This is another element of the reciprocity – those who answer many questions become well-known in the community. This leads to professional esteem and places a premium on their talent.  

Conflict between people who post questions and answers

The reciprocity of posting on forums, built by so many different factors, is resilient. But sometimes they are undone. There are times when both the person asking the question and the person answering the question do not sense a fair exchange.  

From point of view of person asking question:

Helplessness

When posting a question on forums, there is no guarantee to get an answer. This can cause real grief for those asking questions, even for such an experienced user as Oz. “It hurts to sometimes see that 20 people have looked at my question and none have answered it… What did I do? Is it that hard, or is it that I am a bad person, and the universe is spanking me?” Of course, there is no sense of reciprocity felt if a solution to a reader’s question is never answered.

Brusque behavior

Why are some questions not answered, anyway? It is very unlikely because nobody knows how to answer it. Instead, it is usually because those answering the question do not feel informed or motivated enough to answer the question. And so, perhaps even disheartening than not getting an answer, someone will respond with a criticism of the question. Unfortunately, the tone of these posts often come across as brusque, even to Oz, who has spent many years in the Excel training world: “I’ve gone to [one particular forum] and posted a question and got chewed out about, ‘I don’t even see a question in your post…. they said it in this nasty kind of way.”

This seemingly anti-social behavior can easily detract from the code forum experience. I personally have been deterred from posting on some forums for fear of being too heavily criticized. When unanswered or even worse, criticized, those asking questions lose on the reciprocity of the forum. But what motivates those answering the question to behave in these ways?

From point of view of person answering question

Reciprocity by its nature involves more than one party. While there are valid reasons where those asking questions do not feel reciprocity, there are also reasons those answering do not.

Feeling taken advantage of

Like Oz and Alex, many of the users who regularly post answers on forums have a deep passion for their craft. Their time is valuable, and while they want to share their knowledge with other users, they want a sense of exchange.

Those posing questions can feel frustrated when no one answers. But those answering questions can also get frustrated when they don’t get a follow-up. Oz explains: “one thing I hate is answering somebody’s question and they’ve just disappeared. And I don’t know if they’ve died, or if they got their answer and said, ‘Screw y’all. I got mine. You get yours.’”

Unclear expectations

There is also the issue of creeping expectations from the asker. The asker gets an answer, then asks for help on the next part of the project, or another project altogether. To someone answering questions, these follow-ups can feel like conscription rather than volunteering. Oz expresses that in these instances, “I didn’t know that I was gonna be signing on to be a consultant.” In these cases, answerers feel like their knowledge is being extracted rather than shared.

Discernment of user’s prior research

One rule of thumb I have heard is that those asking a question on a forum should put at least twice the amount of time posing their question as they would expect someone would use to answer their question. Some users, whether through lack of curiosity or genuine confusion, do not always put this effort in. A theme of my interviews was distinguishing between lazy questions and stupid questions. Is it healthy for a forum to accept any question, even those reflecting that very little prior research was done?

Alex concurred on wanting to see some level of effort made by the asker:“I don’t want to sit there and write a book to somebody if they’re not willing to take the step themselves on the first chapter.” At the same time, this filtering of question by alleged effort can stifle discussion on the forum. Oz recalls an instance where he was accused of “just being lazy” for asking a broad-level question about different versions of Excel, when he really just wanted to get different opinions on a topic.

Toward a new design of forums

As the interview and coding came together patterns of forum behavior emerged that were greater than the norms of any particular forum. Rather than any one forum being “better” or “worse”, maybe it was time to reimagine the design of forums in the first place.

One of the first observations Alex offered is that “the forums remind me of a bygone era. It’s very old in its style and design. I find them somewhat difficult to navigate.” Oz also expressed frustration with the appearance and navigation of many forums. Rather than become a static typology of online forums, themes of design and positive change emerged from the interviews.

Incorporating new media

Forums tend to be delivered predominantly in text. As trainers who use a variety of media to teach Excel, my participants had strong opinions on how to use other media to minimize the friction between askers and answers.

Oz suggests that askers provide a screenshot of their work. Unfortunately, it is difficult to attached images to many online forums, perhaps a hat tip to their old age.

Branching off this, I proposed maybe askers could provide a screencast of them sharing their screens as they narrate the problem they want to solve. This pivoted to the use of other media than text to provide a more fulfilling experience. Oz offered an example of doing this: “There are times when I can crank out a five minute video and then post in privately on YouTube channel and send a personal link and answer their question…. Text can be hard.”

Setting expectations

One of the trickiest issues for answerers to navigate is setting limits over what they can help with.  Sometimes it is a simple, point-in-time event. Other times, the user actually wants much more help than was disclosed in his original question. Sometimes it is hard to distinguish these cases. “I don’t want to say, ‘Go over here and put 50 bucks in PayPal and then I’ll deal with it,’” Oz express, “because sometimes it is simple. And then other times it is back and forth, trying to understand what they want.”

Some forum members might like to help other users solve their problems from the bottom up. This is not universal – each member has their own goals and expectations for participating in the forums. Alex says he likes to help people who are just a couple of steps away on getting their code to work. He observes that askers are often more curious in how he did it, because they put effort into the first steps. 

A forum might account for these differing expectations in a few ways. Perhaps it could design a triage mechanism by which the most difficult and loosely-defined projects that will likely require further consulting go to one bucket, the well-defined in another, and so forth. Users can also negotiate longer-term projects as desired. Introducing monetary transactions may stifle the culture of online forums, so perhaps these longer-term relationships are based on a concept like “Reddit gold” – pure social currency. 

From transaction to relationship

Forums are designed as transactional. Users log in, ask a question, and get an answer. Many forums offer a way to mark the question as answered, making the forum post a discrete transaction.

Instead of focusing on this transaction, forums might focus toward building relationships. Many forum users post under pseudonyms or even anonymously. Exchanges are delivered nearly entirely in text. The event is a fixed period in time. Perhaps these factors contribute to the chilly atmosphere of some forums. With richer media and the ability for specific users to work longer-term with each other, the forum might grow to new levels of reciprocity.

Ideas for future research

Research on forum design could continue in a few ways. A good first start would be to study the design and norms of other online communities. Perhaps there are forums that have integrated newer media to form stronger communities.

There may be legitimate reasons for why forums are largely text-dependent. It might be, for instance, that text tends to rank better on search engines. But the repeated observation that forums feel like a “bygone era” might indicate an opportunity for newer media.

Unfortunately there is a stereotype that programmers do not have the highest levels of emotional intelligence. However, further research and literature needs to study whether this claim is fair. Regardless, it may be helpful to compare general norms and etiquette on coding forums versus forums for topics like gardening or arts and crafts. Do forums with participants who are generally seen as “nicer” have different cultures? This research might be of limited use because, as Alex’s interview reminded me, Excel forums are unique from hobby forums. After all, programming forums reflect most individuals’ livelihoods, not just their free time.  

This research did not really answer about what makes the difference between a “nice” and a “strict” forum. But in conducting my interviews, a more generative idea emerged: how to design new forums.

Conclusions and significance of the course

Before this course I would have rushed to design an experimental, interventional study. “Traits” of the different forums would have been measured across characteristics and I would have developed a static typology to examine different forum cultures.

A much more dynamic research agenda opened up after using the tools gained from this class. Instead of focusing on classifying forum cultures, I wondered why forums have to exist the way that they do at all. What are the reasons that forums are still largely text based? Is there a way to design forums that build more powerful relationships between users?

Had I been wedded to my original observation, I would have been inclined to see the forum as it is today as fixed. But the open-endedness of grounded research allowed me to see past the current state and toward imagining a better world.

As a prospective student, I knew that Weatherhead is renowned for topics like design, appreciative inquiry, and qualitative research. It did not occur to me how these topics are related. This course showed me how qualitative research helps imagine and design new worlds, based on the best of what people have to offer. I look forward to performing qualitative research in my career.  

Subscribe to my mailing list.

Leave a Reply

%d bloggers like this: