Virtualmin UI is really really confusing...

@anahata — Agreed the menu structure is confusing and it’s hard to find things

@CPConvert — Virtualmin / Webmin UI could be “prettified” and more orderly

@RJM Web Design — There might be money to be made by someone with the time and talent to create an iconified theme for Virtualmin. As for the GUI, as I mentioned, I prefer Virtualmin’s to cPanel’s; and most clients don’t really give a rat’s one way or the other as long as they know where to find the things that they use. But there are and always will be some users who throw tantrums if they don’t have their iconified GUIs. Adding one would probably make Virtualmin more viable as a direct replacement for cPanel.

@CPConvert — In WHM (webmin equivalent) you can add accounts (users with domains). In Webmin you do it in the Virtualmin section - and you end up with lots of “virtual servers” in a list. This is confusing as I thought that Virtualmin was the enduser panel that endusers log into to manage their account

We are working on making users coming from other control panels to transition more smoothly. Webmin/Virtualmin is incredibly powerful product, and this is why, at first, it also looks much more complex, confusing and sometimes even intimidating.

Aside from making iconified navigation (you were heard and I will discuss it with the team), which is extremely time consuming by the way, we are looking forward to present step-by-step tours and guides for all new users, in upcoming Virtualmin 7 release . It will help to level user’s expectations in terms of overcoming terminology misunderstandings and bringing to user’s light other UI related principals and unconventional features.

Furthermore, It’s psychological matter. No matter how much KDE or GNOME’s UX feel alike as Windows and Windows feels alike as MacOS - there will be post-switch discomfort, whether you want it or not, simply because of the fact, as it’s just different product. It’s absolutely normal though and must be apprehended. Our intend is to make it more smooth and less painful, and we will try our best to do it for you and your users.

@CPConvert — I’m still not clear how I give access to endusers to be able to login to the Virtualmin account - I obviously don’t want them logging in to or seeing Webmin. As far as I can see, Usermin doesn’t seem to do much as far as giving enduser access to all of the facilities they need.

After you create virtual-server, the username/password that is set upon its creation, would become credentials for the server-owner. You can also switch to the current server-owner from navigation menu by clicking to Administration Options/Switch To Server’s Admin link.

@CPConvert — And while I am on the subject of enduser - yes - I do think Virtualmin needs to be made easier to navigate and to have an icon driven Dashboard. With a few tweaks - I guess Webmin/Virtualmin could really become something more.

If it was just few tweaks you and your users would already have it running on your servers. However, it is not, and we will try to see what we can do in this regard.

@Joe — The reason we chose the term was to indicate it was a superset of an Apache VirtualHost (e.g. it’s a VirtualHost in Apache, plus a user to manage it, plus a Postfix virtual domain, plus a database and database user, plus a DNS domain, etc.). The idea that the word “domain” could cover all of that seemed utterly ridiculous to us. I suspect Virtualmin 7, coming out in another month or two, will likely make that switch. It will make some old-timers grouchy (domain remains a bad descriptor for what it is), and it won’t make the cPanel converts fully happy either

In my perspective, there is no easy solution to this, as it affects users with different mentality, and possibly, there is no reason to change the terms at all, if we introduce our users, right upon the start, with the terminology that is being used around.

@CPConvert — However, so far - I am hesitant to bring my several hundred clients over from cPanel. I am still exploring Virtualmin in the hope that I can find a way to simplify it a bit. Maybe I need to hire someone to walk me through customising Virtualmin to make it more simplified… or perhaps there is someone out there currently working on a new skin to make the changeover less painful. Yes, I’ve done all that and I must say - while I really love the stability of Webmin - it’s never going to work for my clients. I realise Webmin will never be cPanel… but look at the new skin that’s just been released for Direct Admin… I know it’s not perfect but… the people over at DA are really capitalising on this crazy cPanel move… Just sayin.

I would love to assist and guide you through the adjustment process, if still needed. You, and anyone coming from cPanel on this thread, can submit a message using my website and I will get back to you as soon as I can. :slight_smile:

@CPConvert — I’ve played with various options and now seem to have lost Webmin from the end user screen!! - only “Virtualmin” and “Dashboard” show up at top

It’s most likely because you logged in as server-owner.

@TimRiker — The “search” in Webmin/Virtualmin should search the text of any setting or description, then get a list of hints with highlighted text matches, the mostly text layout in Webmin/Virtualmin become more of a clear win over the GUI/icons in other panels. Currently it seems to search the help, but not the settings. Perhaps I’m not using the right terms? At any rate, it often does not get me to where I thought it would. :slight_smile: “User Mail” seems to work, “FPM” is missing a lot of things I think it should find.

Search has two functionalities. First is to quickly filter menu’s content and second, is to run server search (hitting enter on search field is needed). The server search is actually searching through the settings as well. The results are highlighted as bold text but it can be improved, I will take care of it.

@TimRiker — I would prefer that Usermin were integrated with Webmin/Virtualmin on the same menus.

Usermin is made for users (one domain (virtual-server) can have multiple users, for example). Webmin/Virtualmin can run as administrator (with administrator login), as reseller (with reseller login) and as server-owner (server-owner login).

@krembo99 — Menu items until I finally find what I need - only to forget it’s location later and then search again.

You are right, and I also felt this way, before we made the ability to add any page to favorites. Favorites are user based, and each standard page has a star at the table header, clicking which, in no time enables you to add the page to favorites. Later you can access Favorites from right side slider or using (Alt+F) shortcut (by default). You can also click a star at navigation menu (on by default). Favorites can be also be rearranged (drag&drop), edited or deleted using UI (Alt+F).

@krembo99 — I feel strongly that in light of current events ( cPanel pricing madness) you were actually given a golden opportunity to capitalize on many users that just want a simple migration and find another management system.

We will really try our best, and come to an optimal solution to accomplish it in shorter period of time.

@krembo99 — what people want is a similar smooth experience where we know where everything is without even looking for it.

It wouldn’t be an easily achievable goal, for the reasons mentioned above, nevertheless we will try our best to smooth out the transition for the new users.

@hdaric — *min is about cater to system administrators who do not want to have a control panel dictate how they set up the hosting stack. The user experience, on the other hand is about discoverability. It is about a product working in a logically consistent fashion and that helps new users get up to speed with the product quickly. Every product that has a lot of features has a learning curve, but the UX can make on boarding someone much easier or much harder.
I think people are simply trying to express that perhaps there’s a way for the product to remain true to its core design philosophy while still helping new users make sense of the product.

Any logic is based on underlying experience. Any change requires learning and overall, the higher level of awareness. In short period of time the logic that is used behind in Virtualmin will become explicitly obvious.

@hdaric — Can these users eventually learn the product and become proficient? Sure! However, if some things are too frustrating some users will go looking for something else.

You are right, and we do our best to keep the users far away from being frustrated.

@hdaric — As several people have said, the situation with cPanel has provided other control panels with a serious opportunity, and so it’s not a bad idea to consider ways to make potential paying customers feel more at home. That can be done without sacrificing the core design philosophy of *min at all.

Do you see any other ways of doing it, rather than using the same iconized UI?

@Jfro — Virtualmin is there for years having Customer Hosters and Endusers Base, they have deserved this with doing a good job, and their Users are used to have it this way, so I don’t say they can do still better.

Thank you for your kind words. There is always room for improvement.

@Jfro — I don’t use them then, so if you / your users dislike it so much don’t use it, or change the look and feel Theme yourselves?

We’d better help with this, if needed, and in time it’s more realistic, rather than in short term, as this is extremely time consuming process, and also complicated as well.

@krembo99 — Adding a new theme that is a bit different in logical organization does not mean discarding the old one. The existing UX / theme / organizational logic will stay for existing users, so no one will take your Volvo from you. A new one will accommodate new users and new customer base. Again - not hurting one bit from what you have now. Not hurting functionality. Not hurting UX, not hurting design, not changing anything.

You are right, however it’s not that fast nor straight forward to achieve.

@Jfro — Virtualmin for Recovering cPanel Administrators link leads to a 404 page not exists.

Thanks, I have fixed that.

@Jfro — And a websearch you see projects you can give new life for webmin virtualmin themes if you like.

None of those projects can help in any way, to anyone.

Thank you, Ilia.

For what it’s worth, I like the Authentic Theme as it is. I think it’s especially convenient for webmasters who administer their own servers and maintain the sites hosted on them. The menu is on the left, and the stuff you need to see or tweak is on the right; it’s easy to switch between sites; phpMyAdmin requires only one login; and so forth. Everything is right there and fewer clicks are required to do routine tasks. For maintaining my own sites, I find this much easier than that other control panel.

In fact, the “testing” server I set up to test Virtualmin is now in full-time production status. I also canceled the license for that other panel on the old server, reinstalled the OS, and installed Virtualmin on it (GPL for the time being). I have a few ideas I want to test on it (for example, a Backblaze backup module based on rclone). My Perl skills are very weak, but simple projects like that would be good practice: and because the server’s not in production status, there’s little risk involved.

Long story short, I’m happy with the UI and UX. My concern is the minority of end-users who don’t like it simply because “it’s different” and they’re either too busy or too lazy to explore it. Everything they need is there. They just have to look for it.

But in the end, they’re still the ones paying the bills, so we can’t just blow them off. Better to try to give them what they want. Hopefully it will bring more users to the base and more $$$ to the project.

Thanks again for your work.

Dear all

Let’s work together to make “Theme options” for those who want them. For those who don’t want to change - well, change should be optional. Basically - we are talking about “skins” and the one you choose is up to you.

RE TIME = MONEY : I think most people would be happy to pay for the option of a new theme / skin - if it meets their expectation (e.g. provides a simpler icon driven UX / UI). If you don’t want to pay - then stay with current theme. Everybody is happy then?

RE Terminology : Although some phrases like Virtual Server is confusing - personally, I think this is less important. If you can find your way around - it’s easier to learn the terminology :wink:

@ Ilia - thank you for your efforts. I look forward to seeing the results of your fresh energy.

Hi Ilia,

To answer your points:

Any logic is based on underlying experience. Any change requires learning and overall, the higher level of awareness. In short period of time the logic that is used behind in Virtualmin will become explicitly obvious.

I absolutely agree that if you give someone enough time, they can learn how a system works, even complicated ones. My point was that *min could go a good deal further in helping people get stuff done efficiently while helping them learn the system.

Let me give you a common example, and because I don’t want to make this about a cPanel vs. *min comparison (it’s not), I’m going to use Plesk as an example, though I could as easily use CWP, InterWorx or most other panels as an example.

A typical task for a lot of end users as part of them setting up their website is creating a database.

What steps are typically involved?

  1. Creating a database.
  2. Creating a database user just for that database (for security).
  3. Add the user to the database.
  4. Assign that user the appropriate permissions.

On Plesk, here’s how that task is accomplished:

  1. Log into Plesk as the user.
  2. On the main screen there is a link to Add a new database.
  3. On the add database screen are also the fields to create a new database user and assign permissions to that user. Fill out all of the listed fields and click OK.
  4. The user is immediately taken to a screen showing the new database and offering a ton of options for next steps including importing, working with phpMyAdmin, etc.
    At this point the new user has 100% of the information they need to set up a web script to use a database or whatever else they want to do with it.

On *min that same process looks like this:

  1. Log into Virtualmin.
  2. Navigate to Edit Databases in the sidebar. [This could confuse a new user, as they are looking to create a database.]
  3. Click “Create a new database.”
  4. Enter a name for the database and fill out the optional items if you want to. Click Create.
  5. Virtualmin tells you it is creating the database, updating the Webmin user and reloading Webmin and that’s it. There are links back to the database list, etc.

Let’s pause for a moment in this process and consider what the new user knows at this point. They know they’ve created a database and they know the database’s name. They also know that Webmin did some stuff. They don’t know, because there is absolutely no indication of this anywhere that Webmin went ahead and added a user to that database or what that database_user’s password might be or what permissions that user was given to this database.

The only indication of what Webmin does by default can be found on the Passwords tab of the Edit Databases screen. There you are incorrectly told that you can change the database_password (for MySQL/MariaDB/PostgreSQL, you don’t assign passwords to databases, the database USER has a password). But there at the top it says “This form can be used to change the primary database passwords for this virtual server. By default they are kept the same as the server’s administration password.”

Now, if you want to be more secure about how you handle your database users, you still need to create another user and assign it appropriate permissions to the database. How do you do that? Not in Virtualmin. You need to switch over to Webmin with the appropriate permissions. So we continue the process (so it matches what Plesk does):

  1. Switch to Webmin.
  2. Click on Servers in the sidebar and then MySQL Database Server (if you’re using MySQL or MariaDB).
  3. Do not click on the database you want to add the user to (as a new user might assume), instead click on the Database Permissions item under Global Options (even though what we are about to do will only affect the one database from the end-user’s perspective).
  4. Click on “Create new database permissions”.
  5. Switch from Any database, to the specific database you want to add the user for, Switch from Anonymous to a specific username, select the host and permissions then click Create.

Even after all of that, the new user STILL doesn’t know the password for the user permissions they just created because for some reason the password field isn’t shown on this screen like it used to be.

Do you see any other ways of doing it, rather than using the same iconized UI?

I do and it doesn’t involve any additional icons or even changing the way *min works. To continue with the database creation example:

With minimal changes to the existing process:

  1. Log into Virtualmin.
  2. Navigate to Edit Databases in the sidebar. [Change the name of this option to just “Databases” so there can be no confusion.]
  3. Click “Create a new database.”
  4. Enter a name for the database and fill out the optional items if you want to. Click Create.
  5. Don’t just tell the user you are creating the database, you should also explicitly tell them you are adding the Virtualmin user as a database user as well and remind them what the logins are. You don’t have to display the password, just remind the user what it is. For example:
Creating database DBNAME... Done Adding user USERNAME to database with full permissions... Done Reloading Webmin... Done

Reminder: The password for the user we’ve added to your database is the same one you use to log into Webmin with.

These changes would in no way alter the process for *min experts but it would allow newer users to walk away from this process with all of the information they need to start working with the database.

If you wanted a bit more secure setup from the start it would require a few more changes:

  1. Log into Virtualmin.
  2. Navigate to Edit Databases in the sidebar. [Change the name of this option to just “Databases” so there can be no confusion.]
  3. Click “Create a new database.”
  4. Enter a name for the database and fill out the optional items if you want to. Click Create.
  5. Let the user know you’ve added a db user with a reminder like above, but you should also offer to link them to the the db permissions screen to add a new database user and password.
  6. User clicks the link and that deep links them directly to the page where they can set up a new user in this database (ideally with the database itself pre-selected and the username entry option (rather than Anonymous) already selected. Add a password field here so the user can enter one, select the permissions and then click create.
  7. The confirmation screen reminds the user of the database name, the database username and the database username password as well as the permissions configured and then there are links back to the common database-released destinations.

This requires a few more changes, but it provides all of the needed functionality quickly and in a discoverable fashion without forcing *min experts to change how they do things.

Anyway, this is just one example, but I hope it’s properly illustrated the concept.

Hi,

When you create a database in Virtualmin, the user that is added to the database is the same user you are logged in as by default (typically the domain user). So in terms of username and password, if you were successful in logging into Virtualmin, it’s implied you know the credentials for the database too.

If you want to for security purposes set a different password for the database, you can… If you want to create a user who can access the database, you can also.

I think you are trying to compare apples to oranges here.

Yes, Virtualmin is different then cPanel, Plesk, DirectAdmin, etc…

The core of Virtualmin is Webmin, which was designed with system administrators in mind. While we do our best to make things easy to use, many of the core features are still built around good system administration, so it does go a long way in having some basic understanding of how Linux works.

“Ignorance is bliss” - Thomas Gray

Hi Peter,

I have to be honest, I just don’t understand your “people should be smarter” style argument, as it has no place in my particular example.

How would anyone, even those of us who are hardcore Linux sysads, know that Webmin adds the logged in user as a database user or know the permissions that user is given?

They wouldn’t, because at no point in the process does Webmin disclose that fact. It’s also not something that MySQL or MariaDB does (without a control panel), so there’s absolutely no way to inherently understand this.

I really don’t think it’s too much to expect from a UX standpoint to have the product acknowledge what it is actually doing and it certainly doesn’t require much code to add that functionality.

No one here is arguing that anyone dumb-down the product, just make it more intuitive.

I wouldn’t expect Webmin to explain to the user what databases are, what they are used for or how MySQL works. I would like Webmin to make common tasks easier, though. Otherwise, why bother with a control panel at all? Lots of admins could deploy the entire stack manually and manage everything separately, but why should they? Work smarter, not harder, right? Clearly the *min developers must feel strongly about this, or the product wouldn’t exist. Why would the developers work on a script autoinstaller at all? It’s not hard for those of us with the appropriate knowledge to manually install these things? Yet, even those of us with the appropriate skill appreciate a helping hand from time to time.

Please understand that the suggestions in this thread are not some sort of indictment of the hard work of the *min developers. They are just thoughts from people who are looking to help improve the product for both seasoned system administrators and newer users alike.

Hi,

The hierarchy of things works like this…

  1. Create Virtual Server - during this process you assign the domain a “username” and “password”.
  2. Create Database - the database will be owned by the “Virtual Server” hence inherit the ownership of its “username” and “password” by default.

Does this make a bit more sense?

*** there are certainly more verbose options that could be offered without question, I’m not arguing that fact. I am simply stating if you understand the logic for how things work, it makes more sense generally speaking. ***

Hi Peter,

I do understand the concept behind why it was set up that way initially, and I’m not suggesting that anyone change that, but I think that as far as user experience goes, it is better to not assume the person using the product fully understands every aspect of the intent behind the design of a feature. It’s always better to make such things explicitly clear to the user if it is important.

The problem with that is the user logging in as the Virtual Server admin isn’t always the person who creates the account and there’s no indication to a user logging to the account that this “inheritance” model is in effect for databases. That user is also not necessarily going to be someone who is a system administrator.

It’s definitely an area where a small amount of work could pay big dividends and with a little more work, the experience could really shine.

I don’t want to make it sound like my one example is critical above all others, it was merely meant as an example of an area where the user experience could be improved.

Hi,

If you’re available on Skype, message me “tpnassist”. I’d love to chat more about your ideas.

Sounds good. Contacted.

@tpnsolutions

How about setting some repository, maybe some of the users can actually help with issues / suggestions ? or even open some thread to get feedback from users ?

I think virtualmin is a really good and powerful product. on the same time I think it can be more intuitive.

Sometimes, while working on a project for a long time, one gets so immerse in it that it is difficult to see the overall picture as it appears to someone new with a new perspective. External perspective can be very valuable once one is open to accept it. especially on long projects. IMHO it is true in engineering, in architecture, in design, and yes - also in designing and implementing admin panels.

I believe that some help / suggestions from users / community ( and especially those who are new and have a fresh look, and do not have the long term experiance and deep / intimate knowladge of the product ) can be a very helpful tool. I know I use it myself in long term project.

@krembo99,

I agree, changes can be good. I’m all ears if you have suggestions for how the project can be positively changed. While I don’t personally work on the code, I’m happy to discuss ideas and get them in front of the right folks. However keep in mind their time is limited so I believe it’s best to suss out the details and refine them before bombarding their mailbox with random ideas. Typically when I present a suggestion, it’s fairly refined, and detailed as much as possible which makes gives it a greater chance of being seriously considered and/or implemented.

Webmin the core of Virtualmin is over 1 million lines of code, and a lot of work has gone into separating design from logic allowing people like Ilia to improve upon the Authentic Theme. Also it’s important there’s a mix of new features, and bug fixes released in each new version.

We all agree that change is sometimes necessary to continue improving the products, however it all starts with sharing them and refining them so that they can be properly considered and implemented accordingly.

Hi Peter

Very good points made. I’ve contacted you on email to set up a time to discuss.