One of the more common complaints I've heard about MUSHclient is that its UI is too confusing or not attractive. I'd like to start a discussion here on what would be nice to change, and what we could reasonably change.
To start off with, one of my slight-to-medium annoyances has been that the World Properties list on the left seems to have a rather odd ordering. Triggers, Aliases, and Timers, all of which are very similar, are all in completely separate groups. I personally think they would make more sense under Scripting (which only contains Scripts and Variables currently); I made the requisite changes under a separate git branch locally to try it out. I think it's much nicer.
So yeah, I'd like to hear what everyone else thinks about cleaning up the UI a bit. Thoughts?
To explain my thought process, timers, aliases, and triggers are all "events". They respond to specific stimuli and react in remarkably similar ways - using the Send box, or calling a script function, for example. They're also logically connected: aliases and triggers are easily grouped together mentally, and they're very frequently used and accessed. Timers are perhaps less mentally associated because they respond to time, not input or output, but the only difference between all of them is what type of stimulus they respond to.
EDIT: I'll also point out that the Game -> Configure menu groups Timers, Triggers, and Aliases in the same section between menu separators; indeed, the preceeding section contains Scripts and Variables, too. I tend to use Game -> Configure a lot. ;)
EDIT 2: I've pushed the minor reordering under a separate branch, 'ui', to keep it separate from the main branch.
+1 for Twisol's suggestion, and I would add variables, too. It's a minor quibble, but I know that aliases, timers, triggers and variables are the sections I access the most often, and in my mind they are logically grouped together. Every other section is rarely changed once the world is configured.
+1 for Twisol's suggestion, and I would add variables, too. It's a minor quibble, but I know that aliases, timers, triggers and variables are the sections I access the most often, and in my mind they are logically grouped together. Every other section is rarely changed once the world is configured.
Variables are already under the Scripting header, so they wouldn't move at all if this were implemented. (I still agree, though.)
I've been working on my own client project, based largely on the MUSHclient code. I've made many changes to the UI lately, using the MFC Feature Pack, that might inspire developers on this particular thread.
(Still a work in progress, but I do have the code hosted where people can find it, if you're interested.)
A pretty UI is lovely and all, but I use MUSHclient for the functionality versus it's looks. I don't have need for fancy buttons, gauges , graphics or what not that slows down any functional part of the program. zMUD was this way, in that it heralds looks and fancy output versus just being functional, and MUSHclient being easier to use (for me), and more functionally practical versus zMUD was one of the major reasons I started using it.
Also, the win 98 UI works better under WINE for me, than updated vista/aero stylings.
Not trying to discourage a rework, just putting in my two pence.
I'd like to discuss functional changes to the UI in this thread, yes. For example, the reordering of some of the scripting- and reflex-related configuration pages makes more sense to many. It's certainly not a big functional change, just a little tweak, but those things do add up.
My code uses a lot of the base code from MUSHclient to do the display, scripting, and a lot of the other really great things a MUD client should do, but it's a fair departure from the MUSHclient code, too. It's something I'm writing for myself and my own selfish purposes, but the code is publicly available for anyone who has an interest in coding something themselves. I've removed a lot of the things I don't use at all, and then gone and added or rewritten some of the things I use a lot. The UI being a big part of that.
Staying compliant with older Windows or working under WINE doesn't enter into my thinking at all, and I can see why that would be a concern of current MUSHclient users. However, for the UI to move ahead, I believe it should be made to take advantage of all the great innovations made in the last few years. Agreeing with Twisol, too, that at a minimum the UI should be re-organized to make things easier to find for the average user.
It would be nice, too, to gain access to the resources DLL (and anything else that might not be included already). Is there a particular reason it's not already available?
Another small suggestion: It seems to me that Import/Export would be more descriptive than Save/Load. It's a really small change, but the small things do count.