Help us redesign the Stack Overflow homepage

The homepage for all Stack Exchange sites is intentionally simple: it's a list of the last (n) questions by activity date.

Activity date means new questions, or questions with new answers or new edits.

This has worked reasonably well for the last two years, but it is breaking down on Stack Overflow due to the sheer volume of questions per day. Right now we get about 2,000 questions per day -- more than one new question per minute.

Roughly a year ago I doubled the default number of questions on the homepage from 48 to 96. This was no longer sufficient. Now we attempt to display a thirty minute span on the homepage -- up to a maximum of 192 questions. At peak times this is not enough, either.

In the face of massive incoming question volume, the Stack Overflow homepage needs to change:

• If you are an avid user, we don't expect you to use the homepage. You should be browsing by tag or tag combinations that interest you. However, users don't seem to discover browsing by tag very easily, even though we have literally hundreds of tag links on the home page. We need a better way to drive users off the generic all-you-can-eat-on-any-topic homepage towards their tags of interest.

• We need a way to aggregate questions by tag on the homepage, without sacrificing the core "every question gets featured on the homepage for a little while" mechanic.

• The homepage should still be, fundamentally, a list of questions that reflect what the site is about. New users who stumble upon the site for the first time should see "ah, so this is what this website is all about". It should be obvious.

How would you propose redesigning the Stack Overflow homepage to meet these needs? Please provide mockup screenshots if possible.

(Any change would, of course, be specific to the Stack Overflow homepage only; none of the other network homepages would change. Stack Overflow the only site that has anything even close to this volume of questions.)

-
"If you are an avid user, we don't expect you to use the homepage." - I get no sense of this at present. –  AakashM Oct 31 '10 at 18:21
I actually do use the homepage (and the most recent questions). They're useful once I've filtered out the many high-volume tags I'm not interested in. My topics are slow enough that these things are still somewhat useful. –  Paul McMillan Oct 31 '10 at 18:36
@AakashM, I never use the homepage, I always use the Newest Questions page, or a Tag Search Page, though I dream of a Interesting Tags page. –  Lance Roberts Oct 31 '10 at 21:47
Just a thought: A solution to the problem can only be found by hiding questions the user is not interested in or moving them further down. Any algorithm that increases the time a question is shown to all users (e.g. hot tab) decreases the time of other questions. To increase the time all questions remeain visible, you have to decide which questions not to show to certain users. –  Georg Schölly Oct 31 '10 at 22:11
I'm very glad to see this question asked. I only wish you'd left out the paragraph asserting that the main reason for disuse of tag searches is a lack of awareness. I don't speak for everyone but I just don't find it all that useful; maybe that's just because the C#/.NET tags have the largest volume of lousy questions. –  Aarobot Nov 1 '10 at 2:40
Could you clarify the intended audience for the homepage? Currently most answers seem to target advanced users (people give solutions for their own problems), which should skip the homepage and use tag pages. We also know most site visits are from Google to question pages. Do we want them to visit the homepage too? Not to do some buzzword-dropping, but could you give some user stories so we can focus the discussion? –  Jan Fabry Nov 1 '10 at 12:27
Unless you build better tag searching (like OR-filtering on tags), I'm not going to use tag-searches instead of the front-page. Unless, of course, you make the front-page useless. –  Lasse V. Karlsen Nov 1 '10 at 16:24
@Jeff Atwood, I think the problem is that the only way of combining tags today is to either explicitly click (which doesn't allow for multiple different combinations at the same time, and which also doesn't support saving your perferred combinations), or to type in an url, which I think you'd agree does not really fit very well in the whole "quick and obvious"-scheme-of-things. Since you seem to have all the wiring set up, why not add a more nifty way of joining tags together from the ui? –  Mia Clarke Nov 2 '10 at 7:11

My suggestion: weight the questions for logged-in users based on per-tag rep. Meaning that the more rep a user has earned on answers for a tag, the more weight a question with that tag gets. So new users would see everything. But as they start providing good answers to questions, they'll start being shown more questions on the same topics. The user is effectively funneled to the types of questions the community has judged him/her to be good at answering. This has two benefits: 1) more good answers in the system; and 2) a better experience for the user.

This is similar to radp's answer, Paul McMillan answer, and radp's other answer, except they are all suggesting using the interesting/ignored tags. I would suggest to factor those in, but still factor in what the user is actually earning rep on. Maybe the user has marked [java] as a favorite, but hasn't marked [swing] as a favorite even though they are earning a lot of rep on [swing] questions.

A formula for this would be something like this:

ComputeQuestionWeight(question, user) {
float weight = AGE_CONSTANT/max(1,question.age);
//Note- reciprocal function (above) may give far too much weight to
//brand-new questions. Maybe look into equations of the form 1/(1+e^x),
//where you would shift the graph to the right and stretch it out as
//much as desired.

foreach(tag in question.tags) {
if(user.interestingTags.contains(tag))
weight += INTERESTING_BONUS;
if(user.ignoredTags.contains(tag))
weight -= IGNORED_PENALTY;

weight += TAG_CONSTANT * user.repEarnedInTag(tag);
//or maybe: TAG_CONSTANT * log(user.repEarnedInTag(tag));
}
return weight;
}


You'd obviously have to determine the best values for the constants. As to whether or not this is feasible: I think if you denormalized rep earned per tag per user, and don't update it constantly, it could be do-able. But then, I've never managed a site as busy as SO. And rather than doing it all in the database query, you could select, say, the 1000(?) most-recent questions, or all questions from the last 4(?) hours, and perform the scoring algorithm on those questions in C# code, and only show the top 96 highest-scoring questions.

-
+1 I like your angle, but it would need refinement. Right now you rely on having a record for the user, so it wouldn't do much for new users. Old users usually browse by tag, so it wouldn't do much for them either. –  Andomar Oct 31 '10 at 21:01
@ando: I have been using SO since the beginning, and I never browse by tag. Maybe I'm not the norm, but I doubt I'm the only one. –  Kip Oct 31 '10 at 21:42
Kip: I'm not using the browse by tags as well. I usually just hit the front page. –  Georg Schölly Oct 31 '10 at 22:06
+1 It almost disappoints me that tags are the only way to filter questions. You'd think programmers could come up with more effective and user friendly ways to show me the questions I might be looking for. –  Ivo Flipse Nov 1 '10 at 0:39
@Kip: I understand that; I just don't like it. I typically answer questions in just a couple tags; however, the random questions I see under unrelated tags (that I wouldn't have browsed myself) often give me new ideas. These are spontaneous and often not what I would have even known to search for. –  Chris Lively Nov 1 '10 at 15:59
FWIW, Jeff once said "We don't want to create more 'ghettos' where programmers only care about or look at certain pet topics." –  Pops Nov 2 '10 at 21:56

I'd like to see questions with tags I follow float to the top.

I'd like to see you guys man up and filter my ignored tags at the database level.

-
+1 The SO front page looks at times as if I'm viewing all status updates and posts from all of Facebook, only to have my friends subtly highlighted, and people I specifically said I don't know greyed out. And if I decide to hide ignored tags instead of showing them, I'm screening out a lot of stuff I could still answer. –  MPelletier Oct 31 '10 at 19:58
@mpell why aren't you browsing by tag? This is like complaining that the Teletubbies is boring for adults -- you're watching the wrong channel! –  Jeff Atwood Oct 31 '10 at 20:14
@JeffAtwood I am browsing by tags. It's just that somehow the front page, by default and due to the high activity, is the least useful feature on SO. By contrast the MSO front page is crucial. I find the difference very odd, I'm sure you do too. –  MPelletier Oct 31 '10 at 20:18
The more I think about it, the more I'm surprised @JeffAtwood compares the main page to a TV channel. The front page should be more of a tv guide than a single channel... –  MPelletier Nov 1 '10 at 15:50

You could add a new set of tabs underneath the Active tab.

New Tab

This would be actual new questions not questions that have been edited or answered. Nice new and shiny questions with zero answers.

Updated Tab

This would be all the other questions - recently edited or recently answered.

This tab would be all questions that contain your "Interested" tags that have been recently asked or updated.

You could also add the ability to switch between "Interested" and "Ignored" views?

This section would be a sort of history of recent searches that you have made. You click the recent search term and it refreshes the question list. You should also be able to save searches in here so if I regularly search for:

answers:0 apples oranges

I can mark this to be saved forever until I remove it.

• Recent Searches

• Saved Searches

Oh and I'd quite like it to remember where you were or at least the option to save a particular tab as your "home". So one User may want to always land on Active > Your Tags where as another user may always want to land on Active > Your Searches

UPDATE

As pointed out in the comments; tab menu within a tab menu may not be the best idea. Another option would be to remove the "active" tab item and add the new set of tab items to the existing tab menu.

This question asked today (1st Nov 2010) highlights the kind of the thing I was implying a good search tab could provide. I am not saying that SO should compete with Google in terms of search but I think that searching within the site could be enhanced. Especially with some of the Ninja Search terms.

-
this isn't about search; that would be us reinventing Google. Not the goal. –  Jeff Atwood Oct 31 '10 at 19:52
@Jeff - I'm not implying that you should be competing with Google but I feel, as do many others, that a really good search screen would help. You can't search in Google for closed:0 answers:0 votes:0 intitle:java Rather than trying to cater for every users needs; if the search screen offered more options and greater flexibility then users will be able to essentially create their "own personal" home screen with their saved searches. –  Barry Oct 31 '10 at 20:01
@Jeff, Google isn't good at site-specific searches as Barry pointed out. It won't do SO advanced searches. –  Lance Roberts Oct 31 '10 at 21:54
tabs into tabs is an antipattern. –  Stefano Borini Oct 31 '10 at 22:15
@Jeff - I almost always search Stack Overflow using SO's search. It tends to be better than searching Google roughly 70% of the time. With a little work, I'm sure SO search can be even more useful - you should seriously considering trying that path. –  Edan Maor Oct 31 '10 at 23:15
@radp - As Jeff asked for suggestions I don't think we should be dismissing ideas that may been previously declined. –  Barry Nov 1 '10 at 7:39

I'm an avid user and I simply don't use the homepage.
With many awesome Notifier available built with the Stack Exchange API, the power user could live happily even without browsing by tags, just visiting the site straight to a question.

My 0.02 cents:
you should add motion to the homepage like Google updates does; new users should see the flood of questions coming real-time and the first three words of the shocked\impressed visitors ( :-O ) should be : OMG followed by this is the programmers mecca, the Shangri-la I was searching for.

Just imagine an hypnotized potential user drooling in front of a never ending rolling set of questions.

-
That doesn't work well with questions being bumped to the top for answers and edits. Otherwise, the idea is cool. –  badp Oct 31 '10 at 22:02
i do like the idea of realtime updates, as long as you pause it when my mouse is over the questions list so that a link isn't moved out from under me –  Kip Nov 1 '10 at 2:16
+1 I like this. I see this as working more like following a Twitter hash. A new question pops up at the top (or less annoying, you get the warning that new stuff has appeared). Click the update and you get the new items at the top. Refresh the page and you get the bumped questions back order. –  MPelletier Nov 1 '10 at 15:55

I don't really think the design itself needs to change that much. I would just add a bit more structure to it to make it easier to find the interesting stuff. On the top of my wish-list:

1. I would like to be able to separate or filter out questions asked by low-rep members with a lot of questions and a low acceptance rate (or questions with a lot of down-votes) from questions asked by people who have been on the site for longer (basically higher-rep members). These questions add a lot of noise, and being able to filter them out would definitely make it easier to find the really good and useful questions.

2. The tags we have now could easily be grouped into bigger categories, (C#, .NET, WCF could be grouped together as Microsoft Technology, while Ruby on Rails, GWT, JavaScript and Django could be grouped into Web Programming). There is no reason why a tag couldn't be in multiple categories, of course, but if it is, then the question should appear in both. The view on the front page could then be the 15 most recent questions, and then all the categories and a number indicating how many questions there are in each category. Making it visually obvious where a question goes when being filtered into a category (some sort of visual "slurp" as the question falls into the right bucket) will help users understand where to go to see more questions like it.

3. I would like to be able to filter on unanswered questions were no answer has been given. Very often the "unanswered" actually have perfectly good answers in them, except that the question-poster has neglected to mark any of them as answered. This makes it harder to find the actual people in need, I think.

4. More fine-grained tags. If I'm interested in algorithms written in Java, I add the tags algorithm and java. Boom, almost every question in the list gets highlighted. It would be great if it were possible to combine two tags and say "I'm only interested in questions tagged with BOTH java and algorithm".

5. Put any questions that have been marked as in need of moderator attention in a separate view, so that they don't clutter up the main view. Once a moderator has looked at them, plop them back on the top of the stack again for all people to see.

This is very exciting, I can't wait to see what you guys will come up with!

-
#1 and #2 have been declined. Sorry. #3 already exists. #4 is an excellent idea, I think, and #5 is interesting, but we would need to watch out for people gaming the system. –  waiwai933 Oct 31 '10 at 18:38
#4 already exists. You can say that you are interested in BOTH java and algorithm, simply by clicking relevant tag names. stackoverflow.com/questions/tagged/java+algorithm –  user151803 Oct 31 '10 at 18:49
@Saul, no, that's not what I'm after. I want to be able to get this view without clicking any tags, I want my combined tags to behave just as my regular tags do, highlighting the tagged questions but not filtering out the ones that are not tagged... I usually like browsing all questions, while being able to see which ones especially relate to me... –  Mia Clarke Oct 31 '10 at 18:58
@waiwai, I'd be wary of dismissing things that have been declined previously. They're asking for suggestions. shrugs –  Rebecca Chernoff Oct 31 '10 at 19:00
@waiwai, in regard to point #1, I am not suggesting to filter out questions by low-rep users, but to be able to filter out questions asked by low-rep users with bad track-records. Everyone is a novice at some point, and noone should be penalised for that, but if you're not new to the site and have demonstrated unwillingness to improve or play by the rules, then I don't think there is any reason to not add behavior to discourage you to continue adding crap to the site... –  Mia Clarke Oct 31 '10 at 19:08
@rchern Things previously declined are usually declined for a reason, and it's useful to bring these previous discussions to light. –  waiwai933 Oct 31 '10 at 19:13
#3 just doesn't work like that. If you find yourself browsing the view and seeing questions with good answers, vote for those answers. The question will disappear from the view; problem solved. –  Joel Coehoorn Oct 31 '10 at 20:58
#4 is already very easy to do. Search on [java] [algorithms]. The square brackets force it to treat the key words as tags, and it will use an AND relationship. Of course, they could make this easier to discover. –  Joel Coehoorn Oct 31 '10 at 20:59
@joel I think #4 is about the highlighting (esp. on the main page), not about finding those questions. –  waiwai933 Oct 31 '10 at 21:10

Just one simple change: Clickable Interesting Tags to browse by all questions tagged with at least one of the user's chosen tags.

-
Having thought about this a bit more, this would make the biggest difference for me. I like to see questions outside my interesting tags - I may be able to answer if it's technology I used to use, or a more general question - but it is a pain having to select individual tags or groups of tags to find questions I'm more likely to be able to answer. Seeing them all would help. –  ChrisF Nov 1 '10 at 12:19
Another +1, because it's so amazingly simple - at least, for the user: e.g. no "I liked the old one better", complaints. As ChrisF states, it needs some complement ("questions outside my interesting tags set that I might be interested in"), but that's almost sugar atm. –  peterchen Dec 27 '10 at 13:53

Instead of sorting questions by their activity, sort questions by their adjusted activity.

• A question's freshness gets a x% freshness penalty per ignored tag.
• A question's freshness gets a y% freshness boost per interesting tag.

See it in action

Copy this (licensed GPLv3 I guess?) and paste it in your javascript console. Here's the core of it:

function get_adjusted_freshness(question_summary){
var tags = _get_tags(question_summary);
var good_tags = tags.intersect(interesting_tags).length;
var last_activity = new Date(\$(question_summary)
.find(".started .relativetime")
.attr("title")).getTime();

var freshness = last_activity - now;
freshness /= Math.pow(bonus, good_tags);
return freshness;
}


I've made it easier to muck with the bumping. The final three lines of the file should make things clear :)

Okay, so why would you do it that way to begin with?

1. Consistency with other SE sites. As Jeff stated, the homepage must remain still a list of questions and interest towards tags should still be expressed via the interesting tags form.
2. Manages information overload. The problem according to Jeff is that there are too many questions coming in too fast. This doesn't scale because questions only are sorted by what I called their raw freshness: time since last activity (ask, answer, question edit, answer edit).
This means we want to bump questions one can answer at the expense of questions one cannot -- SO can't just guess what you're good at, so it makes sense to piggyback on ignored and interesting tags. Turns out .25 is a large bonus and .20 is a really large malus, but they get the work done. Finetune at will.
3. Doesn't hide anything. Hiding questions is bad. We need to give avid users (= users with rep) a chance to see all questions at least once, so they can moderate those questions. If everybody only looked at their own tags, moderation would suffer.
There's no bias against closed questions either, and it's intentional: they're invaluable for their instructional value. If anything, questions with more than 1k views should be penalized.
4. Can run completely client side. No databate hits required, although my current implementation screams for memoization and does freeze the browser for that tenth of second. Optimization is left to the reader.

The only thing that really lacks now is making the Interesting tags area more prominent. Hardly possible! Maybe show it for anonymous users also. After all, all cosmetic changes happen client side (and my modification respects that).

-

As a regular user of the site, when I come to the home page I'm generally doing one of two things:

1) Searching for the answer to a question

2) Looking for questions to answer

I think the home page should be focused on those two activities (at least for a logged-on regular user of the site). That means 2 things to me:

1) Make an effort to connect me with unanswered questions that I have the skills and/or knowledge to answer. This might mean showing me questions with tags that I've flagged as favorites. Or the system might deduce my areas of specialty by questions I've answered before (especially upvoted answers). Either way, playing matchmaker to my questions would be good both for me (to build rep) and the question-askers.

2) Make the searching interface more front-and-center and powerful. It irks me literally every time I use the site that I have to use the special "+" character to do "and" searches, contrary to every other search engine I use. Also, the "instant" style search on the question asking page could be very helpful as a primary search UI.

-
+1 for matchmaker –  user151803 Oct 31 '10 at 18:58
click the unanswered button if you want to find unanswered questions; the goal of the home page is not necessarily to focus on really hard-to-answer stuff. That'd drive users away. –  Jeff Atwood Oct 31 '10 at 19:45
and as for searching -- yet again, we're not trying to replace Google. That's not the goal. –  Jeff Atwood Oct 31 '10 at 19:57
Jeff - and as for searching, I don't know what "replacing Google" has to do with anything. Searching is probably the most important aspect of the site at this point. Ignoring that fact is just punishing your users. –  Kevin Dente Oct 31 '10 at 20:30
@kevin is there any reason you can't or won't use Google to search us? They have a few more resources than we do. A few. –  Jeff Atwood Oct 31 '10 at 20:41
@Jeff - If you want to abdicate search to Google, that's cool, just do it properly. Convert your search box to a Google custom search. But as it is now, I need to consciously decide "I want to search SO, so I'd better go to google.com and site-limit the results". Years of web usage ingrained in me that to search a site, you go to that site and enter stuff in their search box. You're making me override that instinct. Dude, don't make me think. –  Kevin Dente Oct 31 '10 at 20:58
@kevin I think what you're not getting is that search is the primary way for people to enter our site from the outside. Searching from the inside is not a primary use case; browsing by tag and tag combination is. Though you could argue that we should improve tag browsing search to add the [tag], I'll try to do that. –  Jeff Atwood Oct 31 '10 at 21:09
@Jeff - oh yeah, I totally get that. And that's how people land on the site when they're searching the web. That ignores two important cases. 1) People who already know about the site, and treat it as a pretty authoritative site on its subject (which, let's face is, is pretty much every programmer now). And 2) People who land on the site via search and need to do more searching at that point (either because their original search didn't match or they have additional topics to research). –  Kevin Dente Oct 31 '10 at 21:18
@Jeff, It's not a primary use case or it shouldn't be one? You've done such a great job of formatting question lists, I prefer to see search results in StackOverflow if possible. Google doesn't tell me the vote count of each result and use all the carefully chosen colors that make everything so easy to parse. I think the main thing is just to make it an AND search, not an OR search. (BTW, could be wrong, but the "related questions" feels like it's doing some sort of AND search.) –  devuxer Nov 1 '10 at 23:25

In the face of massive incoming question volume, the Stack Overflow homepage needs to change

Many of the "redesign" suggestions given are fine suggestions, but I don't think that the homepage needs to be changed at all.

The amount of activity on the homepage, is the best thing about SO. The fact that when I refresh the page, everything changes makes the refresh button fun and addictive. Being on SO exposes me to a happening and vibrant community and a repository of information that is growing and evolving right before my eyes.

As you look to redesign, I don't think mitigating the dynamism of the homepage should be a goal.

-

I'm a new user. I have been registered for a while, but for some reason, I never got to participate actively (I do spend a lot of time on other forums and discussion boards).

I guess the reason why is because I never really understood fully the ranking system and the whole "privileges" system (I just found out I got a message in my inbox explaining it). Tag browsing is another thing I had no idea existed.

You say, "If you are an avid user, we don't expect you to use the homepage". Then maybe make the homepage more geared towards new users, with better explanations, a "where to start" section, basically anything that would make them active and productive rapidly.

I'm no designer, so I'm sorry I'm not attaching any screenshots.

-
I agree that users are having trouble discovering tag browsing, which is weird, because there are literally HUNDREDS of links to tag browsing on the home page. Clicking any tag takes you directly there. –  Jeff Atwood Oct 31 '10 at 20:09
@Jeff Could it be because tag-browsing isn't nearly as good as you'd like to think it is? If it really is supposed to be my preferred way of browsing, tell me how to find all questions that are tagged either C#, Delphi, Javascript or Mercurial. And 4 browser tabs is not a "better way". –  Lasse V. Karlsen Nov 1 '10 at 16:28
I'm pretty sure there's more than 6 questions tagged C# or Mercurial: Searched for [C#] OR [Mercurial]: stackoverflow.com/questions/tagged/C%23+Mercurial –  Lasse V. Karlsen Nov 1 '10 at 17:12
Ah, so you want me to build the URL by hand, how clever is that! –  Lasse V. Karlsen Nov 1 '10 at 17:13

A few quick options, off the top of my head.

First, remember that a lot of the problems are because of "real, logged in" users. For the new users, the important point is to make sure the home page makes the purpose of the site clear.

This is important to remember, since the homepage can look very different for a new user and for a logged-in user.

Second, I'm a long-time SO user, and honestly I don't know how to browse by multiple tags. I tried browsing by tags once (a long time ago), couldn't find a way to browse by more than one tag, and gave up. If it's changed since then, I have no idea.

OK, some changes that can be made:

1. Give logged-in users a list of tags they can filter their homepage by. This should be on the homepage, right at the top, and just be a quick text-box people can add/remove filters from.
2. Another idea - a button at the top of the homepage, again for logged-in users, letter them filter by the tags they mark as interesting. This is probably a better solution to avoid duplication - just give me a big-ass button at the top of the homepage that turns on/off the filter-by-my-interesting-tags options.
3. Another simple solution is to randomally allocate questions to different users. For example, choose 100 new questions that you show to half the people browsing the site, and another 100 questions to show a different collection of people. Obviously, these can be shuffle, but this both ensures that questions are put in front of plenty of people, but also that individual people will only see so many questions. This isn't optimal, but it's a quick and easy fix.
4. A fourth option - make the browse-by-tag options more obvious. Like I said earlier, I don't know that they exist, so teach me! I'm sure a site-wide message can go a long way towards educating more users.
-
2) was an idea I had at first ( really ), but avid users and their reputation is required for moderation, so they need to have a chance to see all questions. –  badp Oct 31 '10 at 18:04
also #1 already exists. Screenshot imgur.com/TPiyx.png –  Jeff Atwood Oct 31 '10 at 18:04
@Jeff - #1 doesn't exist, exactly. I can choose ignored and interesting, but it doesn't actually remove any questions - it only colors them in a way that makes me see them more easily. I'd rather a system that lets me only see certain questions. As for browsing by several tags (which is the same thing, really), what you talk about is only relevant for related tags - I can't use tag-browsing to only get a list of Python and C# tagged questions, for example. –  Edan Maor Oct 31 '10 at 23:12
@edan it does remove them, if you select that option in your user preferences. –  Jeff Atwood Nov 1 '10 at 2:28

I'm envisioning the front page being ordered by recent activity on tags. Each tag having a short list of recently questions under it (possibly with an active element to open a longer such list).

• You still get the every question appears on the front page effect, because every question bumps all it's tags.

• This empowers you to make tag-based browsing discoverable, because the tags are given prominent display (and you can add a "click the tag" message if needed).

• Expandable lists allows you to put a lot of questions "on" the front page without having the default layout be 10 screens long.

• There are no user-specific queries involved: it's still a single priority queue kept up to date as questions, answers and edits come in.

-
we've considered this, but a tag like [c#] would utterly dominate the front page because it is constantly being bumped. How do you propose we mitigate that? –  Jeff Atwood Oct 31 '10 at 20:01
@Jeff: I hadn't thought about that. Hmmm...you could do something with tag freshness being a function of freshness of the N-most recent activity points on that tag rather than of the M most recent events over all tags. That won't get rid of problem, but might mitigate it somewhat because the fact that 25 of 100 recent events were c# related won't swamp the 8 events in, say, ruby if you've set N=10. But, of course, the harder I word on this the more complex it is going to get... –  dmckee Oct 31 '10 at 20:27

Why not an iGoogle approach? I would love to have a customizable home page with drag and drop.

-
Why the down vote? –  Daniel A. White Oct 31 '10 at 20:24
How many different things can you drag and drop? I don't think there are enough to really make the portal system work. –  waiwai933 Oct 31 '10 at 21:06

You might give users certain presets depending on how they arrive at Stack Overflow. Say you arrive on Stack Overflow from Google on a SQL+SQL-Server topic, you set their preferred tags to SQL or SQL-Server. So they'd arrive in their tagged subcommunity, instead of the whole of SO.

When they next arrive from Google with a Java question, you'd add Java to their favorite tags, giving Java or SQL or SQL-Server. Same thing if they ask or answer a Java question. Basically expanding your interest zone makes you a member of new tag communities.

This would have to be completely transparent to a new users. I don't think I picked up on the tag concept during my first half year at Stack Overflow, it's really quite complex.

-

I would like to see my own open, unanswered questions - essentially the "user:me hasaccepted:0 wiki:0 closed:0" search query.

Under that, a list of recent reactions - essentially the bottom part of /users/recent/91

Or allow me to create my own list of Tags which I should see on the Front Page.

-

Based purely on the statement:

We need a way to aggregate questions by tag on the homepage, without sacrificing the core "every question gets featured on the homepage for a little while" mechanic

I understand that the point of this is to give every question on the site a little bit of "homepage time", to help give every question a good chance of being seen by someone capable of answering it (even if it is incorrectly tagged).

Give this, I propose that the homepage be a list of the newest questions, rather than the active questions.

I've come to this conclusion based on the realisation that:

• Having a question featured at the end of the home page is essentially the same as the question not appearing at all (it's a long page, not many people will scroll down the entire list).
• Based on the above statement you can't weight the ordering by tag, because this makes it more likely that questions with low activity tags or questions that are badly tagged won't be seen.
• New users won't have selected any favourite / ignored tags anyway.

Pros

• The list of new questions moves far slower than the list of active questions
• Each question is new only once meaning that all questions are equal as far as the homepage is concerned (high activity questions are less likely to bump low activity questions)
• Without surveying a representative sample of the Stack Overlfow community, it is the view that I use the most.

Cons

• This means that the majority of the questions displayed on the homepage will have low views and no answers (this might be seen to compromise the "a list of questions that reflect what the site is about" principle, and new users might see this as a bad sign)
• Old questions that have just been updated get less love.
-
This is the way I look at the SE sites I follow - click the "Questions" button and "Newest" tabs. Things still scroll by pretty quickly, even on ServerFault, so I imagine this isn't a great solution for SO. –  Ward Nov 1 '10 at 6:45
So if I don't get a answer, I should ask another quesions rathern the editing my current question. - Hence this will lead to a lot more dupicate questions. –  Ian Ringrose Nov 1 '10 at 11:24
Another con here is that we sometimes already have trouble bringing new views to updated questions. –  Joel Coehoorn Nov 1 '10 at 13:35

I think most people here would agree that the majority of users get to the site and either:

3. Search for a question to answer.

I think the home page, with that in mind, should be more like Google. Keep it simple and let people find what they want faster. Make it just a search bar with a login somewhere and maybe a Ask a Question somewhere also small. Having a large search box to search for an answer in your massive database of Q&As would:

1. Push people to search before asking a question (reducing duplicate questions)
2. Help people find an answers even faster by not having to search for the search box
3. By having radio buttons for "Questions" and "Answers" you can help people find questions to answer as well as answers to questions that they have.
4. You could have a "Can't find your answer? Ask it here" on the results page and the search term would be put as the title of the "Ask a Question" page.
5. And quite possibly the most important, it's making your site more familiar for it's users. Everyone (well... 99%) uses Google, and making it a simple search will speed up the processing time it takes for a new user to find all the elements and make his/her first action. Currently they'd have to decide if they want to make an account, click the ask a question, look for questions on the home page, search for a question, etc. Make it familiar, and help out the new users.
-
don't agree. This would be us reinventing Google. We already support Google as an entry point. –  Jeff Atwood Oct 31 '10 at 19:50
And im sure you get most of your traffic from Google (for a reason). Probably above 90%... You're already reinventing yet another UI for your users you should be reinforcing the most popular. Having a list of topics on the homepage is useless unless you're logged in and it pertains to you. If they are actually coming to the homepage they already WANT something, they aren't coming to browse around. Home pages are for the most part dead and any UI designer would agree with this. You should be helping the user find what he wants to do and you're only making it tougher by cluttering up the UI. –  Oscar Godson Nov 1 '10 at 7:34

IMO, Stack Overflow is used for two things and the redesign needs to focus on reducing friction in both of those processes: (1) finding appropriate answers and (2) finding appropriate questions. Let me elaborate:

This is the user who is trying to find some kind of information or solve a problem. The vast majority of these users probably come from Google and it seems like you've got SEO covered pretty well. Few of these users would end up on the homepage, but for those who do, a more powerful, prominent and intuitive search is key:

• Search box front and center: right now, your "menu" (questions, tags, users badges, etc) is taking valuable real estate. Put a search box here instead.
• Search facets in the sidebar: replace the "recent tags" section with a set of facets (that is, checkboxes) that do the same thing - that is, clicking the "Java" and "C++" checkboxes filters the results on the page to just those tags. Next, take the "tabs" you have at the top of the page ("active", "featured", "hot", etc.) and turn those into facets. Finally, on the Search Options page, I see that there are a number of other search options, but requiring these to be entered as keywords in a search query is not intuitive or discoverable for the average user. Instead, turn these into facets on the sidebar as well. This turns your sidebar into a single, consolidated place for filtering the list of questions down to the exact set you want. It's a very powerful technique that works well on kayak.com, newegg.com, amazon.com, linkedin.com, Google Images and so on.
• Make search and filtering "instant": as soon as you start entering search terms into your centrally located search box, or as soon as you click the new facets in the sidebar, the page should update (via Ajax) to show the new results.

Finding Questions

These are the registered users who are looking for questions to answer or interesting discussions to learn from. The exact same search tools mentioned above would be immensely useful here. However, if the user has taken the time to register and participate on the site, you should know enough about them to intelligently filter the homepage questions to a list most likely to be appropriate for that user. That is, once I've built up a set of tags on my profile that accurately reflects my interest, simply filter the homepage using these exact tags. Obviously, getting the right tags is essential, so here are a few things that help:

• Let me pick my tags: I do like that tags get associated with my profile based on questions I've asked and answered, but why not let me pick a bunch of tags I'm interested in? Turn the "tags" page into a mind map style UI where I can specify tags I like, see others they are related to, and add all the ones I'm interested in to my profile.
• Import resumes and LinkedIn profiles: allow users to upload their resume (useful information for you guys/gals anyway) and allow "log in with LinkedIn" (in addition to the social networks you already support) so that you can pull down the user's CV. You can match the CV against your database of tags and automatically guess the ones the user is likely to be interested in.

Edit: Jeff Atwood brought up a good point that it would be too limiting to only show users the tags they are interested in. Therefore, I'd add to the above that a Pandora-style model may be applicable, where tags you select plus similar tags are shown on the homepage. Based on users explicitly rating questions as "relevant" (and/or implicitly expressing this info by clicking or not clicking on the question), you have a feedback loop that lets you customize what's on the homepage even more.

-
on finding: we are more like a radio DJ, who spins a set of tracks you will be interested in and encourages you to discover new songs you might like, even though you wouldn't pick them for yourself. I don't really subscribe to the "only play me tracks I like" theory of life; it's a self-fulfilling prophecy. So we want a lot of bleed-through. That said, clicking on any of the literally hundreds of tag links on the home page immediately filters you to just that tag. –  Jeff Atwood Oct 31 '10 at 20:07
That's a fair point, but given the # of tags you guys have, the vast majority will NOT be interesting to me. Perhaps this suggests a middle ground: the Pandora model. Pandora lets you pick an initial set of songs and then plays those songs plus songs similar to those. As songs come up, you vote them up and down and eventually end up with a mix of stuff you knew you liked, plus new stuff. –  Yevgeniy Brikman Oct 31 '10 at 20:15
"the vast majority will NOT be interesting to me" if that's so, then you have a deeper problem because you might be on the wrong website. We want cross-discipline developers here who are at least peripherally interested in other languages and programming environments (at least, when they're visiting the homepage and not on the /questions/tagged/blah of their choice) –  Jeff Atwood Oct 31 '10 at 20:44
@Jeff The "Tags" page has 410 pages of tags. I doubt anyone is "cross-discipline" enough to be interested in more than a tiny fraction of those. Moreover, (# of things I'm interested in) >> (# of things I'm expert in), so the number of things I can contribute to is smaller still. The result of this is that I do not click on the majority of the stuff on the homepage. Relevancy seems like the key here and the existing tools - tags on the side (can you even do multi-select?) and some tabs on the top - are not enough to pick out the signal from the noise. –  Yevgeniy Brikman Nov 1 '10 at 0:41

Please don't mess with the start page, some of us visit it everyday just to kill a bit of time browsing.

Just make it easier to filter out questions we definitely have no interest in.

-

Slightly off-topic, I would like to see a list of questions with 0 responses. Currently, if you click the "Questions" tab, you see a list of all questions. I'd like to filter out all the questions that have been answered (or at least have one posted response).

-
looks like you read our minds: blog.stackoverflow.com/2010/11/… –  Jeff Atwood Nov 3 '10 at 22:16

While answering this question on the UI site I thought that a "Random Question" button might be a fun, if not useful addition to the site.

This would pick a question that was either truly unanswered or had no upvoted answer, probably using the user's interesting tags as a guide. I was all set to post it as a question when I discovered that it had already been asked - here.

It might also have an albeit slight impact on the unanswered question problem

-

Add the ability to filter out questions that haven't changed (or changed much) since you last marked it as read.

Joerg Mittag says that he aims to read every question tagged ruby, and I pretty much aim to do the same (apart from Rails ones). Being able to mark questions as read would make that easier for me.

A nice addition to marking a question as read would be being able to see what answers or edits have been made since you marked it as read, but that’d just be icing on the cake.

-

Is this a fundamental pivot with regard to the intent of the homepage, then? The premise of the question makes perfect sense as SO starts to grow, but given the context of "Don't Make Me Think," the concept of perpetually growing the list of Top Questions seems to run counter to this. While the badges make SO have a 'game' sort of feel, and I personally like the Top Questions being not filtered for the fact that, in pursuit of points, I'll walk out of my comfort zone, and do some research on a new/unanswered question that's not in my tag-interest.

I agree with Edan, a priority in my mind would be to move the tags to more prominence for the homepage; top tags for logged-in users, top n tags across the board for anonymous users. Additionally, I'd lower the number of questions displayed on the homepage, at least for logged-in users (assuming you're still displaying questions that are the top across the entire system for them), so as to guide people to the tags, rather than give them a buffet of questions, letting them refresh until they see something they like.

-

First of all, I have approximately zero graphics skills, and so the mock-up below looks horrid. But I think it gets the ideas across. And those ideas are to feature the "Ask Question" button more prominently, provide a place to easily set up complex tag searches, feature the faq, and use ajax to fill a scrolling div or iframe with "live" questions as they come in. Not that I expect these to be live, but the script could go out and retrieve data for a batch of new questions once every 90 seconds (the last known cache duration for the front page) and insert from that collected batch more frequently. If there are too many to fit in the 90 second window, a judicious use of the rand function can ensure that the views are distributed evenly.

Note that clicking a tag in this view should not jump directly to that tag, but rather "select" it in some way for use with the textbox and hyperlinks shown below.

Also note that I don't think you should ever show the same tag six times - the javascript tag was just the one I grabbed to put in my clipboard to paste to the image. I also forgot the search bar, the user details bar at the top, and the scroll bar on the live feed. All of those elements are still assumed in this layout.

-
ask question should never be featured, because the easiest way to poison a Q&A community is to enable a flood of bad/sloppy questions. –  Jeff Atwood Oct 31 '10 at 21:54

1. Keep the design of the home page pretty much as it is.
2. The goal of the home page--from the point of view of the site--is to match question answerers up with questions.
3. The best way (IMO) to accomplish this goal is to sort the question list on the home page more intelligently. Many ideas have been presented on how to do this, but here are some that I favor:
• First of all, don't filter the list. If the goal is to show XX minutes worth of questions, then continue to do this.
• Positively weight (push higher in the list) questions that contain tags the user has marked as "interesting". (And perhaps add a bonus for questions with multiple matching tags, but I don't know if this really adds value.)
• Negatively weight questions that contain tags the user has marked as "ignored".
• Consider postively weighting questions that have been upvoted but have no upvoted answers (I say "consider" because I think these kind of tweaks may have negative side effects).
• Continue to give significant weight to recency, and follow the same rules you do now for determining what constitutes recent activity.
4. Consider adding another tab for this particular view called "Interesting" and make it the default view. Hence, the sequence of tabs would become: interesting, active, featured, hot, week, month.

Why this particular strategy?

• It's relatively low impact and low risk.
• It doesn't involve any heavy GUI revisions.
• You can iteratively modify the weighting scheme based on whether a higher percentage of questions are in fact getting upvoted answers.
• It shouldn't upset users who like the home page the way it is (they could even click the "Active" tab to keep things exactly like they are now).
-

I'm of the opinion that "design by committee" is the single worst way to design & develop.

On a more serious note, I am a low-to-average user and only pass the SO site once or twice a week at most. I'd like the home page to remember my favourite tag mix. I'm interested in helping people with a particular question in my particular field (where I can have most impact and knowledge). Far too often I've been scrolling through page after page of C# questions to find one I can answer - this is not productive. What would be productive is a C#, Windows Forms, DirectX skillset mix as I decide on load.

I've probably opened myself to barrage of short, obtuse responses about how I'm not using the site properly, but surely that's the point of a re-design?

-

The questions that are on the front page are just too difficult for me to answer. I'm happy to ask and answer noob questions, but these questions are answered too quickly, and I'm left with no way of giving back to the community.

I'd like to see some way of categorising a question as too hard / too easy and to weight the questions shown according to the skill level of the asker.

-
• For interesting tags, bump a question to the top after every answer and any edit (current behaviour)
• For non interesting tags and ignored tags' questions with a bounty, bump a question to the top after every answer and question edit (but not for answer edits).
• For ignored tags, never bump a question. Put it at the top as usual when it's asked and never bring it up again.
• Reduce the amount of questions on the homepage back to 48 to balance.

I acknowledge this is probably a nightmare to implement reasonably, so it's more food for thought than anything else.

I tried running this change on a live snapshot of a page and all it did was casting ignored questions down the drain, without bringing up interesting questions. I'll make another proposal.

-

I think the integration between searching and tags could either be augmented, or the usability could be improved.

1. Search for terms WITH a tag. I've tried doing this in the past but couldn't find out how to do it. If it is actually possible to do this already, maybe make it a more prominent feature.

2. Have a setting on our user profiles to treat the interesting tags differently. For instance, I would like to be able to only show the tags I've flagged as interested, instead of simply shading them a different color. That would substantially remove the noise on my page. If it could be a user setting that would make it even better, because we could switch it on and off depending on what we're doing at the time, or the type of user we are, etc.

UPDATE

On second thought, @Lance in the comments to the question had an even better suggestion than my settings idea, which is to just have a Interesting Tags Page.

-

I would suggest columns and smaller fonts. The columns can be sorted by interesting tags, rep, or other things.

EDIT:

To help the outburst of questions, try a daily question limit. This will make users think twice before posting a crummy question. Additionally, it would make the number of questions less.

-