So this statement and similar ones are made frequently by the Discourse @team. Before I go into my request, let me say that I very much respect the devs for keeping the user Preferences clean, short, and easy to use. I would say that for a very large majority of users the currently exposed settings are all they will ever need.
That being said, there are a number of users who would appreciate more control over how Discourse works for them. These user might be mods/admins on a site, and want more granularity in the way they get emails, or the types of notifications that they see. They might be "power users" who have been using Discourse for years and have strong opinions on how they want it to work for them. As Discourse (the software) continues to grow and mature, and be used by an ever growing number of companies, organizations, groups, and end users, I think the number of people who want more control over their interactions on the site will continue to grow as well.
Currently there are 3 systems in place that control how Discourse works for a user. Some functions are hard coded. Other than writing a plugin, or forking Discourse for yourself these will not be changed. Some functions are site settings. These are controlled by the sites admins, and are applied to all users. Finally, a few functions are user controllable. I would like to see more functions be available for the end user to control. Things like granular control over email, notifications, mentions, etc. However, I would like to avoid cluttering the UI while adding these controls. I would like to propose some sort of "Advanced User Preferences" UI, that allows users who want to get into the nitty gritty of how Discourse works for them, while staying out of the way of the average user.
I'll be honest and say I am not sure how to expose this UI. It could be as simple as a button on the current User Preferences pane, that exposes the options when clicked. Many current pieces of software do similar things, keeping the advanced options hidden unless explicitly opened. You also see this in many installers - do a "complete install", or customize the instal to your liking. If a button in the UI is too dangerous, what about a a URL (something like meta.discourse.org/my/preferences/advanced) that must be manually typed into the address bar to reach the page. Another option would be to require the user to do something in the current UI to expose the advanced preferences. (Think developer options in Android - user must click the build number 7 times in a row to expose the menu in settings). Those are what I can think of off the top of my head.
Thoughts on Advanced User Preferences? Thoughts on how to prevent UI overload?