March 02, 2015 by Marco Cecconi
One of the "big city" problems of Stack Overflow is ensuring our users find adequate questions to answer. On smaller sites, users can simply look at the home page: the questions come in slowly enough that a user can read all of them and choose what to answer.
On the larger sites, and especially on Stack Overflow, this is impossible. The site gets around 8,000 questions per day which makes it quite hard to read all of them :-)
In this regard, I've spent the past few weeks taking an in-depth look at how our users find questions to answer, with a keen eye on Stack Overflow. I have been measuring user behavior and click streams, and also discussed internally how the navigation and pages were originally meant to work.
Here's what I discovered.
Let's see how the site is currently structured. It's probably richer and more complex than you would guess at first sight, so how do people find stuff to answer? In this first post I will talk about that.
The most basic way of finding stuff to answer is through our home page.
The Stack Overflow home page is easily accessible by clicking on the logo. It gets a massive amount of views, so it's clearly an important place where people will find stuff to answer. It has 5 tabs:
"Interesting" is the default tab and it shows stuff that we think you should like. Over the years it has proven to be a remarkably good algorithm to find good stuff to answer, and while we've been trying to improve it, so far it's still a very solid choice, especially for registered users.
"Featured" shows questions with a pending bounty. If you give a good answer to those, you'll likely get a ton of extra reputation, from 50 to 500, which someone is donating out of their own stash. While it shows stuff that it's valuable to answer, it does not show content sorted based on your preference or ability to answer. It only adds highlighting/blurring/hiding based on preferred and ignored tags.
These three tabs are meant for reading and show you the "hottest" questions in the last 2/7/30 days based on a lovely complex formula devised a few years ago.
The question list by tag page is accessible by clicking on any tag. and tags are everywhere1. A common trait of most of the tabs of this page is that they include an excerpt, and are updated using push notifications via WebSockets.
1Funnily, although the top nav highlighted is "Questions", there is no particular way to get to this view from there. Clicking on the nav button sends you to the Questions page (see below).
It gets a large number of views. It has 7 tabs:
The "Newest" tab show the list of questions in a tag ordered by creation date. Combined with the new questions notification it is a great place for finding stuff to answer in a specific tag. On the minus side, if you choose a heavily trafficked tag, like [JavaScript], it tends to be a fire hose.
The "Active" tab show the list of questions in a tag ordered by last activity date. It is meant for people who moderate a specific tag, allowing them to see all activity (new question, new answer, edits...). Similarly to the "Newest" tab, and even more so, this is hugely active on large tags.
"Frequent" and "Votes" are meant for finding stuff to read. The former shows the questions that have most incoming links, for example from duplicates. The latter is just the list of questions in the tag, sorted by net votes. Neither is a good source of questions to answer for two reasons: firstly because most of these questions already have one or more answers, secondly because these lists have extremely low "velocity" (rate of change) -- they practically always show the same stuff.
The "Unanswered" tab shows questions with no upvoted answers in a tag, sorted by votes. Although this is meant for users looking for stuff to answers, it's lacking velocity, and it is putting very difficult questions on top.
"Info" shows some tag statistics and contains no questions. "Frequent" is the same as the home page "Frequent" tab, except filtered by tag and with excerpts.
The "Questions" page is accessible by clicking the "Questions" site nav button on top. Its functioning is very similar to the "Questions by Tag" page, with the difference that the questions are not filtered by tag, and that there is no "Info" tab. It is a fairly visited page, but the "Active" and "Newest" tags have an extremely high velocity and thus using them on Stack Overflow as questions to answer sources is not very effective. They are good sources for answering and moderation on smaller sites. The "Unanswered", "Frequent", "Votes" and "Featured" have similar characteristics to the Questions by Tag page.
The "Unanswered" page is accessible by clicking on the "Unanswered" site nav button on top. Similarly to "Questions" and "Questions by Tag", these question lists include excerpts. These lists are meant to be sources of questions to answer, and the page provide different tabs with high and low question velocity.
Similarly to the "Unanswered" tab in the "Questions" page, the "Newest" tab shows all questions with no upvoted or accepted answers, sorted by creation date. The lack of a tag filter makes it a very active page. The "Votes" tab shows the same questions, sorted by votes. This tab has a very low velocity since the rankings change very rarely in the top 50 voted questions.
This is similar to the "Votes" tab but it only contains questions with no answers whatsoever.
This is similar to the "Votes" tab but it contains questions within either the "Preferred" tags, set by a user, or by the tags we infer are most relevant by activity.
We have many other minor possible sources, for example: search, question page, Google searches, hot network questions. A user can post an answer at the same time that they ask the question itself. Questions are also accessible from the chat, from the badges pages...
Hopefully I've conveyed how varied is the navigation on the site. Is this all equally effective? Is there anything we can do to improve it? This is what I will concentrate on in the next two upcoming posts.
Hi, I'm Marco Cecconi. I am the founder of Intelligent Hack, developer, hacker, blogger, conference lecturer. Bio: ex Stack Overflow core team, ex Toptal EM.
Read moreMarch 12, 2023 by Marco Cecconi
Stack Overflow could benefit from adopting a using conversational AI to provide specific answers
Read moreOctober 15, 2021 by Marco Cecconi
Multiple people with my name use my email address and I can read their email, chaos ensues!
Read moreSeptember 29, 2021 by Marco Cecconi
After years of building, our top-notch consultancy to help start-ups and scale-ups create great, scalable products, I think it is high time I added an update to how it is going and what's next for us.
Read moreFebruary 03, 2021 by Marco Cecconi
A lesson in building communities by Stack Overflow's most prominent community manager emeritus, Shog9
Read moreDecember 02, 2020 by Marco Cecconi
Some lessons learned over the past 8 years of remote work in some of the best remote companies on the planet
Read moreSoftware engineers go crazy for the most ridiculous things. We like to think that we’re hyper-rational, but when we have to choose a technology, we end up in a kind of frenzy
Read more…