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?