I’ll weigh in here briefly. I agree with almost everything said in this thread – huge kudos to everyone involved in the development here; it’s a monstrous task and a true labor of love. It’s not perfect but that’s not from a lack of effort.
I migrated over from cPanel about four or five years ago, whenever their big price bump went into effect. I wasn’t a huge fanboi of cPanel but it got the job done, and the biggest hurdle was just learning the different terminology here.
On that terminology, I think the biggest point of confusion is the word “server”. Regardless of whether it’s correct usage or not, using “server” to mean any of these three things leads to massive confusion: 1) the physical hardware is a “server”, 2) the accounts, usually (always?) associated with a domain, are “virtual servers”, 3) the software packages running on the server are (but not always) named “a server”, i.e. “Postfix server”.
To me, a “server” is the thing I rent each month from my provider, and where I have Webmin installed to administer it. It is in fact a dedicated server, but of course this could also be a VPS. For simplicity – and because there’s little practical difference to the end user – this should always be the “server”.
I’m not sure why the community (being the tech community at large) has decided to also name software packages “servers”. Yes, they’re “serving” something, like mail or websites. But now you’ve gone and muddied the pot. Ditto for calling something a “Virtual Server”. When someone yells that their server isn’t working right, which of the three are they talking about? When someone tells you to check your server configuration, that can mean all sorts of things. Etc.
My recommendation is to rename “Virtual Server” into either “Domain”, or “Account”. Neither is completely accurate, but avoids the cross-talk confusion. I think Domain is probably the least confusing and most-readily identifiable with what it actually is.
As far as software goes, just eliminate the word “Server”. It’s not “Postfix Server”, it’s just “Postfix”. “Apache”. “SpamAssassin”. The category is “Software”.
Many of the menus in Virtualmin should be combined. The top section should be actions that you take on the Virtual Server (sorry, Domain) that’s selected at the top. Actions such as “Create New Domain” should be at the bottom, along with any options that will affect all domains. (The selector for the Domain should also be perhaps highlighted in a different color, to help visually illustrate that you’re making changes to this specific Domain). Right now under “Server Configuration” is “Website Options”, whereas under “Services” is “Configure Website”. All those options should be under “Domain Configuration”. “Services” is a word typically associated with “processes” and should be avoided, IMHO.
I think with a combination of renaming certain terms, as well as combining disparate functions under the same menu, could go a long way to making Virtualmin an easier-to-use experience.
Foul
