Users and audience
Stack Overflow users are developers and technologists who want to find answers to their questions or compare technical approaches to solving a problem. Most of them visit the site while at work and are searching for immediate answers, however there's a smaller contingent that volunteers their time answering questions and curating the site's knowledge base.
I was the product designer on the project, which meant I designed all the screens, observed user testing sessions and interviews, presented to stakeholders, and set the long-term vision of the feature.
Other team members
Also on the team were a staff-level designer who gave feedback and oversaw the project, a UX researcher who ran user interviews and conducted studies, a product manager, and several engineers.
There were some insights from prior rounds of research that informed the direction of this project:
- Stack Overflow's users have a desire to connect more with one another and feel a stronger sense of community than the platform currently allowed for. It was determined that the most successful communities feel like "small towns" rather than "big cities."
- Users were deterred from participating due to the strict rules and guidelines of the existing way to engage: asking and answering objective questions to create a comprehensive knowledge base. This blocked users from getting information that would help with decision making around more complex technical problems.
- There's a desire for subjective content: tons of questions are posted then closed due to being subjective despite having significant upvotes for both the question and the answers provided.
It became clear that providing a "small-town" space for subjective discussions would increase a sense of community as well as engagement on the platform.
The exploratory sprint
In a week-long cross-functional design sprint, the team came up with many ideas that would increase both a sense of community as well as engagement. We then tested two of the most promising concepts in over 8 hours of in-depth user feedback sessions, with representation across a large spectrum of user types.
I designed one of the solutions tested, which had a working name of "Communities." The concept allowed users to have technically-focused but subjective discussions in small communities within the platform as a whole.
This concept tested really well with users—the consensus was that it would positively contribute to both their knowledge sharing experience on Stack Overflow and their sense of community. Two caveats were mentioned:
- The community had to be visibly active. Several users said if they visited a community that appeared dead, they'd never come back.
- The content had to be high quality and would need a set of standards and guidelines to maintain that quality. Further research helped us define this set of guidelines.
After getting leadership's buy-in on the outcome of the design sprint, we began work on what became known as "Discussions." Because Stack Overflow already had sub-communities around specific topics called Collectives, it made sense for Discussions to slot into those.
We had two workstreams going in parallel. One was to get an MVP out as quickly as possible, and the other was to think through and design a "north star" version of the space to act as our vision of what Discussions could look like in the future. It would also feature an updated version of Stack Overflow's design system, which was currently being revamped. I chose to do this version first, as that would likely inform which features we prioritized for the MVP.
One major question still remaining was how much this space should resemble social media vs. following existing norms on the platform. To test this, I created two versions of what a possible future of this feature could look like, and we put them in front of users.
We also tested different versions of the post summary component, ranging from following existing norms exactly to being extremely like social media. Ultimately, users preferred something somewhere in the middle, but still leaning towards using existing site norms.
I applied these learnings to evolve the project further into its final version:
Ultimately, we wanted to test our assumptions by releasing something quickly and observing what happened. This led to us taking an existing feature that enabled private messaging, duplicating it, and changing only what was necessary to release an MVP. We would involve the community early, see how people use the feature, gather feedback, and then figure out which additional enhancements would be most beneficial.
We were pretty ruthless when making cuts. For example, sorting and filtering discussion posts were cut. The idea was to see how many discussions ended up being posted and then only spend the development effort if there were enough that sorting and filtering would be beneficial.
We also created onboarding and discovery functionality, including a banner that appears when a user visits Discussions for the first time as well as a banner promoting Discussions that appears on other pages:
In August 2023, we released the MVP of Discussions to a single sub-community on Stack Overflow. After an encouraging two weeks, we expanded to several other sub-communities. With participation and retention outperforming expectations, we set our sights on adding functionality from our backlog that would make the experience better, as well as functionality requested by the community.
- The ability to sort and filter discussion posts
- The ability to sort replies on discussion posts
- The ability to follow a discussion post or thread of replies to be notified of new activity
- A way for users to share posts and replies to social media
- A way to see whether a reply has been edited, and what the edit was