Hiding GUI elements for new users (less overwhelming)

Discourse is very clean, and can be made ever cleaner with themes, customization, etc, yet there is still a large number of elements, given all the functionality that there is.

Is there a way to hide GUI elements for new users, so that they can get used to the core elements, before later on (e.g. once “cheers” grows) adding the additional functionality e.g. chat, keyboard shortcuts, suggested topics, etc.

2 Likes

Hey Bastiaan :slight_smile:

It really depends on what you want to hide. There is no a general way to do such a thing.

Some features can be disabled in the admin settings.
Some can be disabled through the plugins menu settings like the gamification or chat.
Some can be hidden with CSS like the suggested topics.
Some may be disabled through custom theme components or plugins.

If you have a specific list of elements that you want to hide, you can share it. :slight_smile:

Hey @Canapin

Thank you, but I don’t mean to disable or hide these things in general, the idea is just that for new users the interface is less overwhelming, so we hide some stuff. And once they come back to the forum 5-6 times we start adding things element by element, so that they gradually learn it.

Does that make sense?

2 Likes

Ah, yes, I misunderstood. So, the elements would be hidden at first per user.
There is no such feature right now. A custom theme component or plugin could probably do that, but it would need the option (per user) to reveal all the features for users who already know Discourse.

It’s only slightly related, but Discourse’s working on a new user tips feature to guide new users through the interface:

Thanks, that is useful.

Personally, for me these wizards don’t work at all. When I’m on a new site, I want to make sense of everything, these busy attention-grabbing things are nothing but a thing to click away until I can make sense of the interface (personal issue I guess).

3 Likes

A lot of the features and functions can be adjusted by Trust Level, if that’s any use? You can compare the defaults in Trust Level Permissions Table (inc Moderator Roles)

Part of the idea of Trust Levels is to sandbox certain features behind these levels so as not to ovewhelm new users right out of the gate. There’s a blog here with some more info in too:

2 Likes

Thank you, that indeed is very close to what I was looking for.

I guess I would also to also remove permissionless features (search bar, keyboard shortcuts icon, etc).

I’m going to read the blog post now, thank you

2 Likes

A theme-component that hides all those “extras” for TL0 is an interesting experiment, and doable with simple CSS for the most part :wink:

5 Likes

As I’m new to Discourse (but spending a lot of time on it now), how could I get started with this?

I have read this

and I know about the plugin skeleton, but a TC skeleton I could not find.

I’ve looked quite a bit at the table builder component, which seems like it looks similar to a plugin. Can I use the plugin skeleton?

Install the Discourse Theme CLI console app to help you build themes will give you one.

5 Likes

If you want to hide/show stuff depending on user group, Falco shared a super helpful component as well:

4 Likes

Thank you, that’s a great solution!

1 Like

Picking this up as this came up in another discussion (“Tip of the day” / Or how do you remind/nag people with good tips for using Discourse?)

I would definitely love to have a bare-bones (in terms of functionality theme (or « variant » of a theme) that is activated for users by default and which allows them to opt in to the « advanced/full interface » with all the available functionalities Discourse provides. Maybe there is a use-case for more granular addition of features to the interface, not certain yet.

It would be like when you connect to your router admin: there is « basic » mode, and advanced, and sometimes expert.

My use-case is migrating people from Facebook. So, what would be the minimal features/functionalities they should access?

  • post topic, with hidden title field that can be revealed if desired
  • reply to topic
  • like topic or post
  • get link to topic or reponse
  • add picture
  • edit profile and some basic settings (the rest hidden unless some action is taken to reveal them)
  • simplified notifications (all in one bucket)
  • remove most of the meta-information about topics that is surfaced in list view (xyz answered n minutes ago, etc)
  • search with limited options (simple search, advanced can be accessed, like on google)

There is certainly more, these are just initial ideas. I think I’d try to strip out pretty much all that is possible and keep the bare minimum to allow people to do the things an « average social media user » is likely to be familiar with. Roughly: publish, like, comment, include a link or a photo, fill in profile, check notifications.

How best to go about this technically, I don’t know. It might be possible to cobble together a kind of proof of concept with the various components mentioned above.

1 Like

Topic’s title are so much fundamental that I’m not sure hiding them everywhere would be a good idea. :thinking:

In term of simplicity, is that a good example of what you envision?

1 Like

That’s really nice, yes! It makes it look very simple.

Regarding titles, I get what you mean. You know, Facebook has started introducing them in groups. Want to know what they look like in my community? :sweat_smile:

Of course we can educate people, and we will. But this is what’s probably going to happen if I let my “base” community members loose on Discourse.

Here’s an example of a less “Title in your face” interface:

The title clearly presents itself as optional. The focus goes in the post body, and not on the title. Even as an OG blogger, seriously, I find nothing more paralysing than having an idea for a blog post and being faced with a blinking cursor in the Title field. Thankfully I’m all grown up now and I move my cursor to the post body and start writing, and come back later for the title. But it takes insight and willpower to disobey the implicit order of a form on your screen :wink:

So here, I’m invited to start writing. I can, if I want, set a title.

How could we manage this in Discourse? Well, if no title is set, use the first few words of the topic. More senior members will fix the title if needed later. But in the meantime, it won’t have created a bump on the road to posting for the first or second time for a new user, and the value contained in the automatic title probably won’t be lower than “coucou tout le monde” that we’re likely to get pretty often.

I know this title thing is a sticking point for me and not everybody sees things that way, so maybe it’s a case for a plugin/component (which?) of its own.

You can likely hide most of this with CSS. The Horizon Theme already provides a minimalist interface designed for simple, user-friendly interfaces, so perhaps you could use that as a starting point?

1 Like