The Evil Bouncy Castle of Settings and Customize

Let me tell you a story…

It was about a year ago, and I was in the process of setting up my very first Discourse forum, finally migrating my phpBB database from 2007 towards something more appropriate to the current decade, thanks to @awesomerobot’s recommendation. The sysadmin just handed over the keys after having done the first half of the wizard (before it tells you to “jump in!”) and now it was my turn to actually set it up for good. I went to the admin panel and opened the settings.

The first page, Required, had some of the basic things I was looking for, although…: “exclude rel nofollow domains”? “site contact username… if left blank, the system account will be used”? These things sure seem rather optional, don’t you think?

Now to make the thing presentable. Branding, very next page, excellent. All the logo variants which I cared about, and twice as many which I didn’t care about. But, where can I set my brand colors and— Before I could finish that though, the next tab, “Basic Setup”, waved at me with a soft invitation.

Basic Setup was traumatic. “set locale from accept language header” was nowhere near close to what I expected here, and “ga version” caused flashbacks from a year prior, where we ended up in the BBC for spyware accusations for daring to try GA telemetry in our product. There was no color setting in sight, except the relatively unhelpful “category colors” (a setting for what settings I’m allowed to use in categories? why?) and “default dark mode color scheme id”. I asked the settings page where it got its ID from, but only got reminded of one of Plato’s writings:

You know, Phaedrus, that is the strange thing about writing, which makes it truly correspond to painting. The painter’s products stand before us as though they were alive, but if you question them, they maintain a most majestic silence. It is the same with written words; they seem to talk to you as if they were intelligent, but if you ask them anything about what they say, from a desire to be instructed, they go on telling you just the same thing forever.

I then discovered the almighty search box. Surely, I thought, the search box would know where my colors are? And it did – but only for emails.

Increasingly desperate, I looked through the tabs - maybe I missed something somewhere? Ah, Basic Setup also had font options, which I had missed previously. But still no colors. There were more different tabs to go through yet though: Users, Badges, Emails (hang on, didn’t I just have email settings in the settings settings?), Logs, and finally: Customize! A second massive collection of settings, including a “permalinks” section which appears to contain 15 years of thread URL rewrites and settings for whether embedding is allowed?

From here on out, a massive bounce fest began.

  • Tweak a theme? Well, don’t tweak the theme, instead go to the Components tab, install a theme component, go back to the themes tab, add the component to the theme, go back to the components and actually tweak the component.
  • Change a plugin? Well, that’s not a component so it’s in the plugins tab (not part of the customize tab), but actually it’s now changed so it’s a tab in the settings settings as well.
  • Change a text string? Well, that’s in customize text, unless it’s part of a component in which case I bounce there, unless it’s a Required setting and I have to bounce elsewhere.
  • Add a word or link to a blacklist? That’s of course not in Settings → Spam, but Customize → Watched words
  • Something for all categories? Either there is a setting in the settings settings, or bounce from category to category to set up each setting

My head is starting to spin from all of this bouncing.

What to do about this

Unlike my previous suggestions, this one isn’t one where there’s a fast and painfully obvious answer. Rather, it likely requires a complete reshuffling of both the admin onboarding and information architecture.

There are some sub-questions worth exploring such as:

  • What is the appropriate length for the setup wizard?
  • Does there need to be a wordpress-esque WYSIWYG theme editor?
  • What is a setting? What is a customize?
  • Should there be cascading settings for categories (where a subcategory inherits its settings from the parent, and a main category inherits its settings from a base setting, similar to CSS or discord’s model)
  • What settings reach which audience? That is, what settings affect users of my forum, what settings affect mods and admins, what settings affect systems only, and are there perhaps settings which aren’t reaching any audience?
32 Likes

You’ll be pleased to hear that this is currently under active development. We’re aware of how complicated Discourse can feel under the hood and have product managers focusing on incremental ways to make it easier.

34 Likes

@LWinterberg i just wanted to give you some hope: firstly, your feelings are validated. It is a lot to take in, leaves you with many questions at the start, and there are some quirks.

I grew up managing vbuletin and phpbb forums when I was a kid. I now implement Discourse in an enterprise environment as one part of my team’s work. It gets better—way better!

While you are correct that there is a lot going on, also keep in mind that you’re welding a Swiss Army knife filled with Swiss Army knives—don’t give yourself such a hard time for not understanding it all in the first moment. I wouldn’t be able to drive an F1 race card my first time getting in either. :grimacing:

I assure you, after 5 years of using Discourse, it has consistently improved month over month—and it was already awesome to begin with!

Good luck on your journey!

21 Likes

I wouldn’t assume that @LWinterberg was giving herself a hard time…

2 Likes

Hi @LWinterberg , I know it’s been a while but your post here popped into my head again over the weekend and I thought it would be good to respond. I am the tech lead of an internal “Staff Experience” team which I run with @tobiaseigen (who is the Product Manager) and @ella (who is the Designer). Our mandate in this team is to reduce complexity with the admin section and make it easier to use for everyone.

I wanted to say, we hear you, and your post perfectly sums up the issues that we are trying to address. The bouncing around, the disparate documentation, and the huge range of settings that must be understood to change what you want are huge hurdles. Some of the things we have been working on to address this so far are:

  1. Introducing filterable sidebar navigation for admins (see Introducing experimental admin sidebar navigation)

  2. We’ve changed access control site settings to be group-based rather than trust-level based for greater control and simplicity (see Changes coming to settings for giving access to features (from trust levels to groups))

  3. We are updating plugin UIs for consistency and making it so the site settings are right there along with the plugin so you don’t need to go hunting for them

  4. We’ve made various improvements to site settings, like having new dedicated controls for things like file types and file size

And some things we are planning on for the future:

  1. Further evolving admin sidebar filtering into a popup menu that searches the entire admin section, and can take you to a setting or a page based on fuzzy search
  2. Creating more tightly-scoped “config areas” where many settings and other grouped UI elements are presented in the one place to set up important things (like for example branding, or the example in your OP, text customization and spam prevention), rather than having to bounce around to 1000 different places
  3. Introducing a new admin dashboard to allow for better guided setup at different stages of the site’s lifecycle and an overhaul of our problem/messaging system for admins so it’s easier to see things that may need to be addressed in your site
  4. Overhauling the theme installation and management UIs for simplicity and consistency
  5. Further changes to existing site settings, removing or hiding ones which are seldom used or confusing, and so on

Feel free to continue giving feedback here in this topic, we are listening and trying our hardest to tame the admin beast! :dragon_face:

12 Likes

I’ve been using your experimental sidebar for some weeks and keeping an eye out for your changes. It does throw me for a loop occasionally, but that’s expected for an in-progress thing.

I can tell you something that happened today though: A user (let’s call them Alice) contacted me that they couldn’t login, with an error saying “You can’t log in as Alice from that IP address”. So I went to the admin panel and searched for “Alice”, which didn’t yield any results. My mental model from there somehow went to “oh yeah this filter box only searches all settings, and the user page isn’t a setting”, so I looked through the sidebar and somehow didn’t see it in the “community” section, so I went through all entries one by one until I eventually did find it. I then looked at Alice’s IP address and once more needed to go to a different section (Screened IPs) to see if their IP on record was banned - which it wasn’t, as their blocked login attempt didn’t get logged.

So to synthesize that story into feedback:

  • The sidebar “Filter” really wants to be the all-knowing admin search.
  • The sidebar categories need some refinement, both in naming and in content. I see now that “Community” is meant to be a “basic forum settings”-type category, but I got really confused when I opened it and saw so many other things which weren’t “users” in that list. If I was to card sort this, I’d put “watched words” into security, right next to the watched IPs and URLs, and “user fields” and “permalinks” into advanced unless there’s a new, different category and… actually, please do set up a card sort, that’d make communicating my preferred order much easier :slight_smile:
  • (not related to this thread) blocked logins should be exposed to admins and an option to unblock blocked IPs from the user page should be added

I’m a big proponent of removing unnecessary things… For Audacity 3.5, I’ve removed an option to show a tooltip on a 20px tall UI component, a preferences page which could not be used to set preferences, the printing feature (what did that even do in an audio editor?!) and 10 more things.

4 Likes

Thanks again for the further feedback – with the Alice scenario in particular, might I ask why you went through the sidebar sections manually instead of filtering? Personally now that we have the filter I never look through the sections, I just search e.g. “ip” or “user”.

We have the ability to add keywords to specific links in the sidebar for the filter to find, so if you have some examples where some keywords might make sense please let us know! We plan on adding more in future too.

We actually did a couple of rounds of user testing with this with different structures and organizations tried out. I am not sure if we will be able to make everyone happy here. Maybe allowing for reorganization and custom sections would help. In my mind, the solution to this is always using the filter and making the filter better at finding things.

100% agree – not sure we will ever get to the level of being able to search for users from there though :sweat_smile: We will definitely keep evolving it though:


Same, the more we remove (or at least reorganize and bury a bit in some cases) the clearer things can be for people who aren’t using the admin section all the time.

Surely so you can print out all the pretty waveforms and stick them up on a wall? :laughing:

3 Likes

3 posts were merged into an existing topic: Introducing experimental admin sidebar navigation