20

This is the second post in our series discussing the redesign of Stack Overflow. If you haven’t yet, we recommend reading Part 1: A First Look: Stack Overflow redesign first, which explains the project's goals and scope.

In this post, we want to focus on two foundational elements of the redesign: the new color palette and the updated typography. We are sharing these designs early to get your feedback, so please note that some elements are still rough and may use placeholder icons.

A New Color Palette

The foundation of the redesign is a new color system built for clarity, consistency, and accessibility.

Current Palette:

Current neutral color palette

Current color palette for light and dark mode

New Palette:

New neutral palette in light and dark mode

New color palette in light and dark mode

What's changed and why:

Our main goal with this color system update is to make the content itself the primary focus. We haven't changed our approach to accessibility, and will still be following Acceptable Perceptual Contrast Algorithm (APCA) guidelines. We’ve heard feedback that the sheer number of blue links on a page can be overwhelming, making it harder to actually read a question or answer. By reducing this amount of colors on the page, we can create a calmer, more focused reading experience.

To achieve this, the most significant change is that blue is no longer the default interactive color used for all links and buttons. We’ve also restricted the use of our brand orange and simplified the overall palette.

Moving forward, color will be used more intentionally to highlight specific states (like success, warnings, or errors), people (through avatar images), new activity and temporary callouts, rather than for general interaction.

Here’s a guide on how we will be using each color:

  • Blue: (Major Change) No longer used for links or buttons. It's now for informational UI (like notices) and is the new system color for "silver" badges.
  • Orange: (Major Change) Reserved for brand identity—things like our logo and other key accents that signal Stack Overflow itself— and the system "bronze" color. It's no longer used for interactive elements due to accessibility challenges.
  • Yellow: This is the new system "gold" color and is also used for warning states where users should proceed with caution.
  • Green: Continues to be used for success states, upvotes, and answers.
  • Red: Used for errors, downvotes, and destructive actions.
  • Purple: For onboarding flows and highlighting new features.
  • Pink: (New) A new color used sparingly to show temporary, ongoing activity that requires attention, like notifications or a "live" status.

Updated Typography

Readability is critical for a site like Stack Overflow. We aren’t proposing a new typeface, but we are making subtle refinements to the sizing and spacing of our text to improve the reading experience.

What's changed and why:

  • Slightly Larger Text: We will continue to use the system fonts your browser and OS provide for familiarity and performance. However, to improve readability on modern, high-resolution displays, we are increasing almost all of our type sizes by 1px.
  • Better Spacing: We’ve also adjusted the default line height and spacing to complement the larger text, making longer posts less dense and easier to follow.

Together this looks like:

New mockup of question list page on Stack Overflow

New mockup of question list page in dark mode on Stack Overflow

Join the Conversation

Your feedback on these foundational elements is crucial as it will impact every other part of the redesign. Please share your thoughts below.

You can continue the discussion in our other posts:

Thank you for your input!

15
  • 11
    I hope this means the previously proposed Hot Dog theming has been binned. This proposal is far less eye-stabbing. Commented Oct 6 at 16:14
  • 1
    @devlincarnate it was pretty popular , back in the days .... Commented Oct 6 at 16:24
  • 2
    @rene Didn't we also do a hotdog theme for april fools a few years ago too? Most of those themes were "eye-stabbing" but I loved it all the same Commented Oct 6 at 18:41
  • 1
    @Piper yeah, I think 2019 and still as US available on Stack Apps. Glad I can help you find inspiration ;) Commented Oct 6 at 19:35
  • 2
    @rene: I think Piper may actually be thinking of the "Filters for Stack Overflow" thing that the company did for April Fool's 2022; one of the "filters" was the Hot Dog Stand one. Commented Oct 8 at 4:59
  • 1
    All I can say is... ugh, more line-height, again?!... It wasn't a big success for me 5 years ago, I still have userscripts running on devices that support them to be able to read the sites without overexerting my scrolling finger, and I would really not like any more whitespace between letters and even less information density. Commented Oct 9 at 5:45
  • 2
    @Tinkeringbell in a perhaps more ideal world, the user'd have more/easier control over this (without userscripting?). spacing can also be an accessibility thing- where low word spacing or line width / spacing can be a barrier. just want to throw out there that people have differing wants / needs. Commented Oct 9 at 6:39
  • 1
    @starball Very true. The comments under that old post of mine that I linked talk about the same, different users, different needs. (Part of why I linked it, there's also already a very good answer about that to this very question). My comment was more to point out that it was tried before and not very well received at all, so... ugh. Commented Oct 9 at 6:44
  • 2
    I don't know how you can with a straight face pretend you have a "color palette". Look at the screenshot. It's utterly bland, blank, boring, brandless. What a downgrade. Commented Oct 10 at 2:59
  • 3
    @Boann without elaboration, that sounds like your opinion? (which would be valid, but still an opinion). in any case, I don't see how calling this a colour palette is "pretending". are there examples of colour palettes which you find good that you want to share? bonus points if it's also alliterated. Commented Oct 10 at 5:25
  • 1
    @starball Are you actually trolling me right now? Am I being pranked? You present the entire spectrum as your "palette" and then the only actual color in the design is advertisements. Commented Oct 10 at 14:01
  • 1
    @Boann not trolling. I spotted the green and pink in that picture! do I win a prize? Commented Oct 10 at 19:15
  • piper, in the "new" screenshots, it looks like the user is logged in and on the questions page, but I don't see the community bulletin. is it going to be there in the usual place in the real thing? it's pretty important. Commented Oct 10 at 19:18
  • Oh I do hope we get a hot dog redesign this April 1. Or frutiger aero... Commented Oct 15 at 5:35
  • I can distinguish more of the colours in the new palette, so that's a plus. In the shot of the current palette most of the first line all looks the same to me. It's smaller than palette 2, so maybe it got a little smooshed and in reality it's no worse, but based on what's presented 2 >1. Commented Oct 15 at 22:48

11 Answers 11

47

Blue: (Major Change) No longer used for links or buttons. It's now for informational UI (like notices) and is the new system color for "silver" badges.

So... what is used for links and buttons now, then?

You, uh... you are going to be using a colour for links and buttons, right?

32

Blue: (Major Change) No longer used for links or buttons.

Blue is the standard colour of links on websites. Suppose my browser completely ignores what colour you think links should be, and instead respects my preferences:

Firefox "Colours" settings menu, setting the Text colour to black, the Background colour to white, the Unvisited Links colour to blue, and the Visited Links colour to purple. "Use system colours" is off, and "Override the colours specified by the page with your selections above" is set to "Always".

Will this cause contrast problems? What about dark mode: is that handled sensibly? Will I be able to override the appearance of the buttons, so they look like the buttons in every other program on my computer? If I override the font (e.g. text size), will the design continue to break?

I could list dozens of other accessibility needs. These should be front and centre for any redesign effort, but historically, Stack Exchange's redesigns have consistently made these things worse. This is because you can't address these problems by "getting the design right": no one design can address everybody's access needs! Any attempt to do so will fail. You need to follow a different philosophy than the philosophy that Stack Exchange has followed in the past, not just try to do the same thing better.

The colour scheme you've described sounds quite pleasant, as an OS theme. But your website is one of many thousands I will use, in one of dozens of programs, each with their own unique design systems: that gets horribly confusing, especially when they all change every few years. I can't go a week without one of my tools changing on me, requiring me to re-learn everything. Have you taken this into account? What is your proposed solution?

In the late 80s, 90s and early 00s, computer companies would actually research usability. Nowadays, people seem to make decisions based on theories that are often quite detached from reality, and have never seen empirical user testing in realistic environments. Have you researched the design principles you are using?


However, to improve readability on modern, high-resolution displays, we are increasing almost all of our type sizes by 1px.

The goal is noble, but the reasoning is wrong.

  • The text size on my computer is set up so I can read it. If you leave everything on default settings, I will be able to read it. You're making a website, not a poster: your job is to be declarative, not prescriptive.
  • What's readable for you, and what's readable for me, are very different. Overriding my settings does not help me: I will simply have to override them back. If your design language cannot handle that (for example, if text-related things are sized directly based on CSS variables, rather than rem configured by CSS variables), I will then have to manually fix the issues that overriding the text size causes. Those I cannot fix, I will have to just put up with. (Personally, I'm not good at the fixing or the putting up: when Wikipedia made some problematic changes a while back – now reverted, fortunately – I just stopped using Wikipedia.)
  • If you want to make changes specific for high-resolution displays anyway (which you shouldn't), you should use the resolution media query, which is intended for that purpose. Otherwise, the adjustments you make for your high-DPI environment will make the text size unusably-large on my small, low-resolution display! (And if this doesn't work for you, then your screens are misconfigured, and you should fix that: Stack Exchange can't be the only website you're struggling with.)
15
  • 3
    Much better, yeah. I think your underlying point, which I understand to mean that the design should be tolerant of user-side customization to let people customize as meets their needs, is much clearer and easier to understand. Thanks for taking the time to reword Commented Oct 6 at 18:22
  • 5
    @Slate It's not just about being tolerant: it's that this has to be accomplished in a particular way, which requires going back to the drawing board on a lot of things that SE doesn't really want to question most of the time, and bringing in expertise that SE currently lacks. (From what I've seen of the developers' and designers' work, they'd basically just need to be pointed in the right direction and given permission – but I don't think there's anyone who can do both of those things, or this wouldn't still be a problem.) Commented Oct 6 at 18:51
  • 2
    @wizzwizz4 I'm curious, you say "in a particular way" - can you tell me more about what way this is? Commented Oct 6 at 18:52
  • 2
    @Slate Empirically? No. I believe that I've been consistently communicating that for years, but obviously it's been lost in translation. I described it as the Lost Arts in this comment, it's behind most of my criticisms about Stacks in the Chat redesign, and I could probably teach it to a developer given a chat room and a week, but it's one of those things that I can't really describe except by repeating the word "semantic", and giving examples of what the correct approach achieves. Commented Oct 6 at 18:54
  • 4
    At its core, the idea is that HTML is for declarative descriptions of the content model, CSS is for declarative descriptions of the design philosophy, and JavaScript is for declarative descriptions of process and APIs, or respectfully shimming functionality that's not otherwise available. (Some of those "declarative descriptions of the design philosophy" ideas have made it into the current iteration of Stacks – some of the named CSS variables, for instance, although others completely defy it.) Commented Oct 6 at 19:00
  • 2
    Part of being declarative, using a common language, is that where a browser API exists, and that browser API follows The Way (unreliable rule of thumb: if there's a Google press release about it, it does not follow The Way and won't last 6 months), you should use the browser API. Stacks completely defies this aspect of the idea, which is responsible for most of the site's accessibility bugs, and some other assorted brokenness. (The pre-Stacks site wasn't perfect, either.) In practice, this means that most frameworks should be shunned, although some frameworks are worse than others. Commented Oct 6 at 19:04
  • 5
    Part of The Way involves letting go of a lot of control over what the site looks like. This is tricky, because changes to browsers and operating systems since the late 90s have taken away a lot of user control, and I don't think we'll get it back until at least 2030 – but the groundwork is being laid, and there are ways to simulate a user having provided preferences (even if most real users can't yet express them in ways that are respected by their user agents). A properly-designed website should work in every browser, but trying to make a site work in every browser is not following The Way. Commented Oct 6 at 19:10
  • 2
    Interesting, @wizzwizz4. This is interesting, though I have to admit it's rather nebulous. I suppose that's part of the point. In a sense, what you're talking about is highly speculative in nature. I'll mull this over and maybe share it with some folks to see what they think - thanks for the helpful elaboration, I really appreciate it. Commented Oct 6 at 19:28
  • 2
    @Slate What I'm describing is very concrete and grounded, not speculative at all: it's just hard to communicate. What I've written is, indeed, nebulous. Commented Oct 6 at 19:30
  • 7
    Point-of-information: a CSS variable ("custom property") based on a REM unit remains responsive to changes in the base REM size, even when the REM unit is nested inside a calc() function. It will respond both to preferred font size and browser zoom. (Pixel-based values respond only to zoom.) SE's current theme variables are particularly unresponsive because the CSS rule (re-)defines each variable on each element, instead of letting them cascade. Commented Oct 6 at 23:09
  • 1
    Accessability is about, well, making sure the site can be used by a wide auidance - so as long as the buttons on the website look and act like buttons, and are defined with proper semantic HTML, then I would think that counts as accessable. Allowing a user to change the look of a button goes beyond accessability into the realm of "just wanting to customize things", and it's not clear that it's worth the effort to provide support for that sort of thing. Maybe some people's preference would be for all websites to look like their computer's theme, but that's just preference, not accessability Commented Oct 7 at 15:12
  • 4
    @ScottyJamison The buttons on the site do not consistently look and act like buttons, and are often not defined with proper semantic HTML. If you do that, and you define your CSS properly, then you get extras like "people can change the look of a button" falling out as emergent capabilities. (And, no, there are actually some people who need consistent UI in order to understand what's going on: most people don't need that, but it's not "just preference".) Commented Oct 7 at 15:16
  • Do you have any references to show that people struggle to recognize buttons when they don't look exactly the same? And any references about how building websites that supports swapping components (such as buttons) makes them more accessable? I would like to read more about it. Commented Oct 7 at 16:02
  • 2
    @ScottyJamison An extreme example of CSS customisation is the "reading mode" of browsers which is considered an accessibility feature. Commented Oct 7 at 17:11
  • 2
    @ScottyJamison I'd recommend the WAI's WCAG standards, and the resources linked therein, as a starting point. (Avoid the Authoring Practices Guide: it's got some correct stuff, but the overall philosophy is wrong, and that means it gives bad / counterproductive instructions in places.) Commented Oct 7 at 17:37
18

This is SO-centric - We've got a considerable backlog on smaller Stack Exchange sites. How would these changes affect sites with existing designs (such as Super User), sites with unique designs (like Anime or Worldbuilding), or smaller sites with no unique design yet (like Pets)?

3
  • 5
    We aren't sure how yet. As an initial release, I've asked that we leave all SE sites as is. I am giving the teams a requirement to include some sort of theming for our SE sites (all, not just graduated) that will hopefully put the power of customization in our users hands. But this probably won't come about until the SE/SO branding merge. Commented Oct 6 at 17:36
  • 8
    Ah the one I'm hopeful dosen't happen - gotcha. Commented Oct 6 at 17:43
  • 4
    @Piper when you say "all SE sites", is that excluding SO? Commented Oct 6 at 21:14
18

Relevant to colours: it is important for me to have easily distinguishable visited and unvisited links as titles. This was not the case for quite a while until relatively recently. At least it was updated for the high contrast dark theme on Stack Overflow.

However, here on MSE (and some other sites) the contrast between the two is still exceptionally poor:

Question list showing visited and unvisited questions.

The two are very similar but you can make them out if you stop and look at each title.

However, just go to any question list and scroll down. Fast enough to just be able to see keywords in the titles but not stop and read each detail. Then it is almost impossible to notice which you have seen or not. And going through lists and lists of questions is something that happens a lot. Knowing which ones I have already looked at helps me a lot.

I do use a userstyle to fix this and make the titles and links distinguishable. It would be better if I did not need to.

15

Better Spacing: We’ve also adjusted the default line height and spacing to complement the larger text, making longer posts less dense and easier to follow.

This doesn’t look like “better” spacing to me.

The questions page images certainly look like they have much too much space, not only between the lines of text but surrounding everything: headers/titles, posts, tags, etc.

Extra spacing might look nice for display purposes, but it’s not functional. Too much spacing gives the eye more travel distance, it makes posts longer and requires more scrolling, items that should semantically be grouped appear to be deliberately separated.

In particular, the double line spacing for the left navigation makes that column particularly hard to read — at any zoom setting.
The questions page, but even more so the individual question page and the profile page (from the related questions) feel empty because so much space is wasted.

The new mockup of the question list page with annotations marking excessive spacing.

3
  • 3
    The line height is in the recommended 1.4-1.6 range which is ideal for the eye to wrap without losing track of where it's going (either to the same line or skipping a line—both symptoms of too tight or too loose line height). WCAG recommends a minimum of 1.5x (what you see here) for line-height. Commented Oct 7 at 14:23
  • 8
    @Piper No, it doesn't: you've misunderstood WCAG 2.2 Success Criterion 1.4.12, which is about allowing users to customise the line height. (See Note 1, which clarifies this.) Many people struggle with line heights that large: they're users too. Commented Oct 7 at 15:23
  • @Piper I mentioned line height because the post say it’s been increased, but I’m more concerned about all the other excessive spacing. I’ve added a picture to make this clearer. Commented Oct 8 at 11:11
9

Are dark mode and the high contrast modes going to be considered?

2
  • 6
    Yep! Palettes for dark mode are above. High contrast palettes are still being worked on, but they aren't going anywhere Commented Oct 6 at 17:34
  • 5
    Are they going to be considered for sites other than Stack Overflow? (Stack Overflow already has dark mode.) I think that would be quite welcome, but particularly challenging for sites that already have designs. Commented Oct 6 at 22:21
9

I've read the redesign threads over the past few years and participated in many of them.

One argument that's common but a fallacy in my opinion is that the site should have less color. The maquette you're showing takes away many of the colored elements and seems to tend towards chromatic minimalism but, let me stress this: you're taking away eye candy that's made the dark theme very appealing! If the SO dark/light theme becomes more bland less users will enjoy it, imo, less.

I think a key historical post that defines the limit of color use in the theme is New post summary designs on site home pages and greatest hits now; everywhere else eventually by Ben Kelly and the design team back then - to this day I am a fan of their work. I am convinced -having followed events carefully at that time- that the post's score and the reactions were to a significant degree overdetermined by the historical context that might not be apparent in hindsight if you weren't around as events unfolded (with many of the said events, being site changes that weren't design related).

The particular historical context (as I see it) was of a major site redesign that saw many launches over months that were riddled with bugs, for example the 241 answers under New responsive Activity page was just one of them. So at one point the community became saturated with the constant changes and I saw several users who are consistently soft-spoken criticizing the design team harshly over minutiae. (You have to appreciate, as an SE designer, that if you try the userbase's patience often enough in a short amount of time, eventually you will trigger users on a bad day where design criticism becomes the motif of their personal catharsis that day, and the worst that can happen is a crowd frenzy of reputation fueled criticism.)


So, in short, in this case: less color really is less. And that's the problem: it just feels like... less.

8

It's not particularly visible or obvious in the screenshot provided but the use of magenta for new indicators (new inbox notifications, review queue items, etc) is not something I'm a fan of but I didn't notice it until a post was shared on the Moderator Team that has more of the alerts visible than in this post.

I was asked to cite my concerns here instead but I can't share the image that drew the color change to my attention and feel like the only image available here is not sufficient to make it understood why the magenta is a poor color choice for this purpose.

Please, if you really want input on a design, ensure we can fully recognize the breadth of the changes. A single tiny dot in the corner of a gigantic screenshot isn't enough of a signal to us of what you mean when you say:

Pink: (New) A new color used sparingly to show temporary, ongoing activity that requires attention, like notifications or a "live" status.

But if I get a dozen inbox notifications, when I open my inbox, there's a dozen pink envelopes, even though the icon change from the unopened letter to opened is more than sufficient to indicate the status. That's not "sparingly".


You say text size is larger but the left nav text seems much smaller and harder to read than the current left nav text.

I don't feel enough separation between the question title and the body, leaving me confused about how a question list without summaries will look. You say...

We’ve heard feedback that the sheer number of blue links on a page can be overwhelming, making it harder to actually read a question or answer. By reducing this amount of colors on the page, we can create a calmer, more focused reading experience.

Even if that's true for a question page (which is the only place you can read a question or answer), why would you remove the link color from everywhere on the site for every user? There are many options that address this without requiring this drastic change:

  • If the HNQ list is a big blob of blue links, change their color - it's obvious they're links in the same way the Featured Posts box is all links but doesn't have any link color.
  • If usernames being blue (which is limited to comment sections) is a problem, at least give them text decoration - you've removed the blue and failed to add in the underlining to indicate text is a link.
  • Many browsers have "reader" views that clean up the UI to optimize for reading. Use something like this to allow users to focus on question pages.
  • Give users a setting similar to dark mode that removes link color in posts.

When question titles lose their color, this leaves the entire page just a bunch of white with black text and only the occasional tiny avatar giving it any color at all. There's nothing drawing my attention to anything, so I'm left feeling like there's nothing to actually look at - except probably ads, to be honest. The biggest block of color in the screenshot is the ad.

I'm not saying that to make it sound like SO is just interested in ads - truly I'm not... but the less you make the actual platform grab your attention, the more the ads will. I just don't understand why so little color is being used.

  • You're removing link colors - (see above)
  • The accepted status of a question is significantly smaller, shoved to the far right (putting it closer to ads), and a more prickly lime green rather than the inviting grass green.
  • Avatars are given more priority but they're actually usually not as colorful as the ones in the design.
  • Tags haven't had color recently on SO, so it's not a change there but they do on many sites, so this seems to further de-color the sites.

I guess I just don't see what the point of making a big deal about color is when you don't use it anywhere. I point out the confusion about how you're saying you're using pink "sparingly" but... I mean... look at the design you have... that pink dot is practically the only system color on the entire page.

7

How will it look if I hit CMD-+ 3 or 4 times (to zoom in)? I have to do that in order to be able to comfortably read just about any website, so the screenshot you posted is likely not much like what I'd actually see.

I'm quite happy with the way the current sites handle it, with the left-hand sidebar disappearing entirely and becoming a hamburger menu in the top left, which stays out of the way unless I need it. I hope the redesigned sites will continue to behave this way.

5

enter image description here

I think the scores should be on the left as in the current layout, they should be also more emphasised. The design should be fluid, always filling the page width in an optimal, or good looking form. In such a design, this large, ugly empty space would not exist.

7
  • do you have a proposal for what to put there? Commented Nov 1 at 0:04
  • 5
    I think the scores should be on the left as in the current layout, they should be also more emphasised. The design should be fluid, always filling the page width in an optimal, or good looking form. In such a design, this large, ugly empty space would not exist. Commented Nov 1 at 0:50
  • @ChesterGillon I am not happy with your edit, because the focus of this post is, we have there a waste. How I would solve it, is another story. My only reason to let it as it is, that this wonderful "community" would likely downvote and delete a post of a single picture. Commented Nov 1 at 17:11
  • @peterh I will roll-back my edit if you want me to. One reason I edited your comment into the answer is that the initial picture-only answer ended up in the Low quality posts queue. Commented Nov 1 at 17:18
  • @ChesterGillon I know. Very likely already starball mod wanted actually a polite meditation between me, and between the bad guys. My compromise, after 2 unreasoned 1yr-long bans, is that I let it where it is. Commented Nov 1 at 19:24
  • @starball If you don't know what to put there, why is it even there? This space uses up almost 10% of screen real estate for no obvious reason. Reduce it to 20% of its current size to match the spacing between posts. Commented Nov 8 at 7:31
  • I realize it is still worse than I thought. If you look at the top right corner there is an orange square smiley. The space below is another column of wasted space. This makes a total of 17% space left empty for no reason. Commented Nov 8 at 16:11
3

This isn't covered here, but currently, the sites use specific default fonts on the system - webfonts are a thing, and some choices the company has made else where (like using source sans as a corporate font) have been pretty good.

Could embedding fonts into the page, and having the sites use uniform fonts across platforms be considered?

3
  • 5
    Oh interesting! We thought about it, but the use of system typefaces have been praised in the past, so we thought it was safest to stay that route. I'm sure if our brand designers see this they'll send me a DM with a link to this response haha Commented Oct 6 at 18:52
  • 6
    I don't hate webfonts, but I find that people using them tend to neglect other fonts, start hardcoding measurements as multiples of the wrong font metrics (or as straight pixel values), and then you end up with cut off and overlapping text everywhere if the webfont doesn't load / is overridden by the user. Commented Oct 6 at 21:47
  • 4
    I've even seen this happen on the websites of web accessibility professionals. Maybe when SE's more experienced with good web practices I'd condone a webfont (after all, there are several advantages to that), but until then I'll have to side with Piper on this one: SE's system typeface stack (the --ff-* variables in stacks.css) has had a lot of work put into it, and I'd hate to see that get neglected. Commented Oct 6 at 21:51

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.