Simple GUI for Virtualmin

Current Webmin and Virtualmin icons are from Nuvola from about the same era as Oxygen (i.e. also probably about 15 years old, and not really actively maintained or growing). I’d contracted David Vignoni, the creator of Nuvola, to do several dozen additional Webmin and Virtualmin specific icons back then. The problem with any icon set is that even quite large icon sets will need dozens or hundreds of additional custom icons. That’s surprisingly expensive.

We also heavily use icons from Font Awesome (the Open Source collection, we can’t use the Pro icons as they aren’t redistributable).

We have icons. Hundreds of them from the Nuvola set, including many custom ones, and probably a hundred or more from Font Awesome. And, they’re scalable (though I don’t think we actually use the scalable Nuvola icons in Authentic, they exist). Converting to a different icon set doesn’t solve the problems with icons. Converting to a different icon set incurs a couple hundred hours of labor for someone, too, since Webmin and Virtualmin predate any standard naming convention for icon sets; we can’t just drop in a new icon theme. They have to be renamed and distributed across 200 module directories by someone.

I like Oxygen (and Tango), and it was among the sets I considered building off of back then when picking an icon set and settled on Nuvola.

Unfortunately David doesn’t work on Nuvola anymore (and hasn’t for 15 years), so I can’t get him to do any more custom work. So, it is likely we’d have to switch to something else if we did go back in the direction of icons.

But, and this is the most important thing: I don’t believe we should go back toward an icon-oriented design. Webmin and early Virtualmin were extremely icon-heavy. We made a conscious decision to move away from that for a variety of reasons, many are based on human interface design principles and research.

As I said at the beginning, the pile of icons UI presented as “simple” above looks like a chaotic mess to me. I don’t want to imitate that. We exerted significant resources to move away from that kind of design. (And, if you look at web administrative products from Google, Microsoft, Amazon, etc. you’ll find they are all menu-based, and not at all icon-oriented. They have all the money for usability research, and they are not shipping big piles of icons.)

We’re just not going back to icon-heavy design.

2 Likes

e.g. this is the Google Cloud console. Google could afford to use the big pile of icons design paradigm, but they don’t (there are a few icons, but it’s not the focus and there’s always text to describe what it is, just like in Virtualmin/Webmin). It’s not because they don’t have designers to make the icons, but because it’s just not good UI.

This is Amazon Web Services console:

I don’t have active accounts on Azure or IBM’s cloud, but I believe they’re quite similar. Same with all the smaller VM hosting providers. Big piles of icons are 15 year old design, and were a mistake.

I’m all for making Virtualmin easier. I’m all for removing options that are confusing. I’m fine with reorganizing if the menus/categories/pages don’t make sense.

But, we’re not building cPanel. We never have been. It’s not what we want to use or what we want to build, and since we do most of this work for free, we build what we want to build. If you want to use cPanel, use cPanel.

2 Likes

Fair, if overstated. Have a good evening.

Sorry I got grouchy. Ever since cPanel raised prices, we’ve gotten a lot of folks showing up expecting us to build a free cPanel clone, with no awareness of our history, which is as long as cPanel (Webmin launched in 1997, cPanel in, I think 1996), or our existing community of users which is as large as that of cPanel, larger actually, when including Webmin. We make a lot less money than cPanel, and have a lot less resources. But, I think we’ve built a solid product…though, admittedly it can be intimidating, I don’t think icons make it easier.

Anyway, it touched a nerve. I should go to bed.

3 Likes

Hi, thanks for nice discussion under my topic :slight_smile:
cPanel price rise is great opportunity for virtualmin to gain popularity and You should take advantage of it.
I remember my first time when I tried virtualmin, my biggest problem was to find basic options like add new domain, add new email, add new database, phpmyadmin, edit dns.
As someone already mentioned here, he needed 2 weeks of work with virtualmin to get used to it, this is unacceptable. After 1 day of work with virtualmin, user should know all its basics options, most important for any domain owner.
What I think, which You should do years ago, is to create another simple theme for users (next to the current one), with basic options just to host websites. I think if You create something like that, Your popularity would much increase. People really doesn’t have time to learn new admin panel for 1-2 weeks, just to host 1 wordpress website.

Yep.

What’s more, try to get in touch with an actual dev that knows what he’s talking about over at cPanel.

It’s the support here that’s also a really huge plus.

2 Likes

Trying to look at it from your point of view, I wonder if it might have been a shallower learning curve had you never used cPanel at all than had you transitioned from it.

I say this because some (maybe most) of the terminology that cPanel uses doesn’t reflect the terminology used by the underlying services; so if someone has never configured or used those services without a panel, they would simply assume that the cPanel terminology is the industry standard when most of the time it is not.

For example, the cPanel functions of adding “domains” or “accounts” both allude fully or partly, respectively, to what Apache refers to as “Virtual Hosts,” both in the documentation and the configuration files themselves. Consequently, someone who has set up Apache manually would immediately know what a “Virtual Server” is. Someone who has only used cPanel / WHM, maybe not so much.

I also think that someone who was completely new to Web hosting and knew none of the terminology at all would find Webmin / Virtualmin no harder to learn than cPanel.

I seem to recall a tutorial for people migrating from cPanel to Virtualmin floating around out there on the Interwebs somewhere. I wonder if an interactive plugin or tutorial might help demystify the transition. A lot of the difference is just nomenclature.

Richard

3 Likes

I think the topic of UI is extremely esoteric and changeable. Joe is right that the direction is away from the early 2000’s cpanel look. I would say they have stuck with this old look for same reason webmin/virtualmin has stuck with its look and that is familiarity with its existing user base.

Webmin/Virtualmin is just fortunate that the trend has come back around to it’s existing ui choices. Those coming from cpanel, even though it is very dated by today’s trend, are used to it and gravitate to that feel. That’s a natural and expected response, change is hard for everyone. We have all had clients come from cpanel and find virtualmin difficult – that doesn’t make cpanel right or better – just different.

However making blanket statements about ui is not useful, I am a developer and struggle with it also. As Joe, rightly points out the industry heavyweights have gone away from loads of icon only buttons. Does that make it the “right” choice, not necessarily, but it does set a precedent for the rest of us minnows in the industry. I personally find Microsoft Azure / 365’s react based interface extremely confusing and non-intuitive. Google’s is even worse, try finding a required option or setting in your GSuite / Workplace admin panel – try even easily finding the admin panel. These big guys agree otherwise they wouldn’t keep changing it all the time in an attempt to improve it.

Some feedback from my 10+ years of usage of webmin then virtualmin

Rename the menu items as follows:

  • Edit Virtual Server → Virtual Server
  • Edit Users → Users
  • Edit databases → Databases

In short remove the “Edit” from the beginning, it makes it harder for your eyes to quickly see the main item.

Some additional thought possibly needs to go into the organization of

  • Administration Options
  • Server Configuration
  • Services

In theory all 3 are technically “Server Configuration” Even after all these years I still toggle each looking for the area I am looking for.

For example changing the domain ip could theoretically be argued it should be in the “Edit Virtual Server” screen as the ip is shown there.

The whole resource limits area is confusing as you see the forum littered with how do I update the dreaded php limits for php version x.x. I still to this day have trouble with this and fumble with different ways to do it.

Again, all hard critics of webmin/virtualmin should take a deep breath as good ui is hard. As a back and front end developer, I applaud what Ilia has done and know it is a ton of work. There are many, many, many more great design decisions that have been made than poor ones. The file manager for example has come such a long way, with auto fill, selections, line number, formatting – I mean it borders on a scaled down vs code right in Virtualmin – it’s brilliant imho.

Editing database on the other hand, well ‘nuff said – let’s just say there is a reason people install phpMyAdmin.

I cannot point to a single admin control panel from any large company that I would say is perfect and the model we should full on go with as they all have issues. The new Google analytics GA4 interface is very non-intuitive. I have “I believe” completed the switch about 15 times but am still greeted with the Setup Assistant that actually does nothing, it makes me do everything and make all the choices somewhat blind. I mean seriously they are Google and they can’t just make the transition from their own previous version happen with one click like Virtualmin does everytime I create a new virtual site or a major upgrade.

Continued evolution of what is there now is my vote as the core is world class and improves all the time.

Enormous gratitude to the entire webmin/virtualmin team, we are all very much in your debt for the work you have done and immense time it has and continues to save us.

4 Likes

We shouldn’t do it. Although, as we can overwrite language strings from custom language file, we could technically make a cPanel/Plesk more like labels for an admin to enable in Virtualmin. It would display more familiar labels for users coming to Virtualmin from other control panels. But it’s open to questions.

In theory all 3 are technically “Server Configuration” Even after all these years I still toggle each looking for the area I am looking for.

Start typing for whatever you need and the autocomplete dropdown will give you smart suggestions. When I say start typing, I mean exactly that. You don’t need to focus search in navigation menu at all. Moreover, I spent some time to make UX more useful by creating associations to links which are not part of the menu (when searched using autocomplete in navigation menu), i.e. searching for cloudflare will still return a link to Addresses and Networking ⇾ Cloud DNS Providers page.

Nice suggestion. I have made a link to Change IP address page.

To allow a virtual server owner to edit PHP Options you only need to allow Can select PHP versions in Administration Options ⇾ Edit Owner Limits: Server Owner Limits page.

Thank you for your kind words! :blush:

Editing database on the other hand, well ‘nuff said – let’s just say there is a reason people install phpMyAdmin.

Because everything can be a separate (large) project, where a team of engineers should work on it. Simply Jamie and I alone cannot dedicate that much time to features that are not critical (or considered to be non-critical). I always believed that File Manager is critical, and this is the reason why it’s superior today. But I only could make cosmetic changes to editing databases. Could we make it as good as phpMyAdmin or even better – I have absolutely no doubts that we could but this would be in expense of doing something else.

Continued evolution of what is there now is my vote as the core is world class and improves all the time. Enormous gratitude to the entire webmin/virtualmin team, we are all very much in your debt for the work you have done and immense time it has and continues to save us.

Thank you!

I’m on both sides of this question. I even made a poll about renaming the accounts to “domains” several years ago, just to bring Virtualmin in line with what people coming from cPanel expect but also (and more important for me) because “Virtual Server” kinda more strongly has come to mean a “Virtual Machine” to a lot of people. I don’t think “Virtual Server” is right, but we couldn’t come up with anything better. The vote ended up coming down on the side of keeping the name the same, so that’s where we are. Domain is also wrong for a variety of reasons, but we were willing to change to “Domain” if the community wanted to. We’re now several years and tens of thousands more users down the “Virtual Server” road, and I’m still unsure it’s the right thing.

But, I agree people coming from cPanel are often very insistent that the way cPanel does things is the only reasonable way to think about the problem, even in cases where what cPanel does seems nonsensical to me (e.g. “subdomain” makes no sense, never has, they’re a bad idea invented to suit one particular and strange hosting business model). But, the folks coming from cPanel (or just starting with hosting and trying Virtualmin first) are often right about Virtualmin being too complicated! They are often wrong about the solution (“make it look like cPanel” is the wrong answer to the problem).

The fact is that “easy” means “what I’m used to” for anyone who has previous experience, and that’s entirely a reasonable position to take. But, we have a large userbase that is used to Webmin and Virtualmin. We’re not some brand new product just because someone only found us because cPanel got too expensive. We have ~150,000 active installations of Virtualmin and a lot more Webmin installations (though no good way to count those, like we have with Virtualmin). Asking us to build a cPanel clone is asking us to change what all those users are used to, in service to a goal none of us believes in. We don’t think cPanel makes the best solution to the problem of managing hosting. We believe we do, despite our product’s admitted complexity.

We have been working almost entirely on simplifying the base installation, UI, and default user experience, for the past several years. People who are new to Virtualmin don’t see that…they see the complexity that remains. We come from a nerdy culture and history…our early adopters were very technical users and we may have been too accommodating of their wishes for features, flexibility and configurability. Did you know Virtualmin supports three mail servers? (Used to be even more.) Multiple DNS servers? Multiple databases (at least four)? Multiple FTP servers? Virtualmin has so many options even I don’t know where to find stuff half the time, but luckily we have very good search (which Ilia made even better in Authentic).

I know it seems like I’m against changing anything. But, I’m really not. I’m against mindlessly copying something that I think is deeply sub-optimal. There are many ways Virtualmin is too complicated and could be easier, if anybody has concrete suggestions for how to get there, I’m always listening (though not always agreeing).

3 Likes

This is a good one, though I think the Virtual Server one needs a total rethink. Just calling it “Virtual Server” doesn’t really scream “Here’s where I can change stuff about this domain account”. I don’t think “Edit Virtual Server” is right, but I don’t think “Virtual Server” is better.

Users and Databases probably would be better like that, in terms of scanning. I’ll talk it over with Jamie and Ilia.

On that I agree. I have to work with Google Cloud stuff every day, not a huge fan. But, partly that’s just the complexity of their offerings (much like our problem, actually, when you can do a lot and have a lot of flexibility in how things are done, it can be hard/impossible to present that in a simple GUI). Google may do it worse than some of their competitors, though.

Agreed! Ilia has done remarkable things. I think we have the coolest all-in-one server administrative tool going at this point; definitely the best file manager (and it’s not even close). The new interactive terminal that Jamie and Ilia put a ton of effort into is also awesome.

We’re trying. :man_shrugging:

1 Like

Yeah I could have gone further on this but the danger is that I go down the road of “what I want” instead of what is good for the community as a whole. Over the years what do clients really mostly ask for or look for themselves to change.

  • DNS
  • Users / Emails
  • Database
  • Domain related stuff (php version / protect a directory / change a timeout / ram allocation)
  • Backup / Restore (now with everything using wordpress and it is essentially a dumpster fire when it comes to plugin updates breaking stuff). Local domain’s capability to do backups and restore is brilliant but somewhat hidden. All my customers ALWAYS ask me how can I do a backup
  • File Manager is epic but only really used by admins

Thus the rational for highlighting only databases/users and virtual server at the top is somewhat arbitrary.
I would throw out the following based on my usage

I think less is more. I mean think about all the disparate control panels within MS 365 and yet their default menus is simply as follows

ms-365-admin

I think I like the idea of renaming “Install Scripts” to something else, but that one also has some inertia. Been around under that name for approaching 20 years.

I don’t see the benefit out of doing this? I think it will just create an extra confusion. Besides, later as we add containers support, we could add Install Containers link … makes sense to me …

“Script installers” might be a tad less ambiguous. Some people might mistake “Install Scripts” to be the the scripts used to install the panel. I wouldn’t, but I can understand how some might.

Richard

To install what panel? (panel is already installed and running)

Which is why I wouldn’t think that.

“Install” can also be used to refer to the results of an installation, however. For example, one might say, “The install went well.” I can understand how someone might think it refers to scripts that were already executed to install the panel.

Richard

Ilia,
I apologize that these suggestions, and that is all they are intended as, have been taken personally by you. I understand that emotion, as only the author knows how much has been invested in the final product that we all use and appreciate. Ironically, I offered this input without realizing that I would have had many of the same feelings if someone was “making suggestions” on my hard work that I know you have made many agonizing and anxiety inducing decisions on to get to this point.

As I result, I would like to simply reiterate my gratitude to you and the team and will sign off on any further comments on this topic.

1 Like

None of us are taking your suggestions personally. They’re good ones and we appreciate them. (Not all of them are right for Virtualmin, but you’ve provided your thinking on it, and that’s useful data.)

1 Like

No worries at all. Thanks for your suggestions!