|
MrCheviot Novice
Joined: 02 Dec 2007 Posts: 42
|
Posted: Mon Jan 14, 2008 11:28 pm
UI Issues.. Aaaah!! |
CMUD is pretty slick. The UI is nice and there are certainly more upgrades over ZMUD than, well, problems. As someone who used to work on designing UI's I probably pay a bit more attention to the behavioral/intuitive aspect of using programs, however I've tried to outline some issues below that I really think need addressing in order to further flatten the learning curve and ease of use for new and transitional ZMUD users, such as myself.
In no particular order (I've put ! by ones that I think are fairly critical to overall UI experience)
- !Window defaults - font, ansi, etc. I have no idea how to set these, can't find anything in the documentation. I've tried a number of different things, but each time when I create a new window it's using the same Courier 10pt. w/ default ANSI scheme.
- I guess related to that, it would be *wonderful* to have a 'make all windows look like this' command, or 'set as default' in options in addition to 'use default'
- Default prefs for new windows created in a package - I have some code in a second package that I only want visible by main window. When new window is created, by default they can see all packages. Likewise, new windows created in the package all seem to have the same position (tabbed to a one particular window). It would be nice to have new windows float (or be placed in other default location) regardless if they're created via #win or #makewin. (and no, I haven't read up on any differences between those two since ZMUD, so forgive me if they've changed).
- Horz & vert scrolling using IBM Trackpoint (not sure about other multi-directional scrolling inputs) - worked fine in ZMUD in both directions, doesn't work in CMUD on standard setting (hold button, move finger, scrolls in that direction). Scroll wheel on mouse works though. Does anyone with a Thinkpad using Trackpoint (red nub) have this problem? How about those using touchpads on laptops? Good test for horz. scrolling is to load a map and zoom until you have enough area to scroll with.
- Dragging a class folder to package name at top of list crashes editor. I did this when I was trying to convert a class -> module, but trapping the error would be nice.
- !Right click in editor is not consistent. Make a class, define a variable in it. Select the class in the left pane, right click on the variable in the right pane. Nothing (!!!). Have to expand the class and and right click on the variable in the left pane in order for the context menu to appear.
- !Copy/Paste of items in editor - ZMUD would allow you to copy something and repaste in same location, as it provided you the opportunity to rename it right away (and if you didn't autorename dialog appeared). In CMUD it seems like it pastes it on top of the original, so making duplicates of items is very cumbersome (copy, change existing, paste).
- My first and second batch of capture windows were created by the triggers as they fired for the first time. I had a difficult time getting the layout to save, as there is no "save layout" option in 2.18, just the "auto-save layout" check which now seems to work, but didn't. I had to #save in order for layout to finally stick. Could just be specific to my install.
- Please please please (!) bring back Quick Tiling menu from ZMUD. The ability to vert/horz tile and cascade windows is more or less a de-facto standard for Windows programs that utilize multiple internal windows, and in a pinch (such as when you unsuspectingly import an XML file that creates loads of new windows, or you double load a package of windows), the ability to tile windows is very much needed. I had my layout all cleaned up, only to receive a query from an imm as to why I had 4 open connections to the MUD - turns out the other wins were behind top windows and did not show up with I used Ctrl+N to cycle through them.
- !Export to XML - IMO this is really quite flawed. I've had instances while trying to export a single class it's exported every window and/or module in the package, along with the class I (only) wanted to export. Other times it's just exported the class folder with nothing in it. I've imported files from others who innocently did an export, only to see my screen flooded with their windows. Open ultraedit (or any editor that detects file changes on open files), save test.xml, then start exporting various things from CMUD editor. Select one class, two, in packages with or without mult windows/modules. Select using shift and ctrl key, and each time check the test.xml file. If you don't get what you expected 20/20 times, there's a serious issue with export (I was 9/20). With ZMUD, I only had to check for duplicate ;;'s, which is FAR better than dealing with current exporter.
- I guess combining the windows and import comments, perhaps a warning dialog to alert you when an imported file could potentially do disruptive things
12 (edit). When you drag a module to the toolbar with package list to move it to another package, it will place it in whatever module/window happens to be selected in the destination package. Since there is no way to select the "root" of a package, you then need to change to dest package, and drag module up to toolbar again to have it placed at package root level.
There are plenty of great things to love about the UI - window docking is great with the visual aid, ability to change appearance of windows (show caption and container are great new additions). The sliding tab on the right which provides easy access to things, ability to better customize toolbar position, etc. However, There's enough problems that I can honestly say they've really hindered my enthusiasm for getting situated in the new program. I'm still plugging away, but in the cases covered above, rather begrudgingly.
Zugg or any other experienced CMUD users, I'd love to hear your solutions/workarounds/experiences with any of these, it would really help me enjoy CMUD more.
-MrC |
|
Last edited by MrCheviot on Tue Jan 15, 2008 1:06 am; edited 2 times in total |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jan 15, 2008 12:05 am |
Could you edit your post and add numbers to each item so that I can respond to them. Otherwise this thread will be a mess.
|
|
|
|
MrCheviot Novice
Joined: 02 Dec 2007 Posts: 42
|
Posted: Tue Jan 15, 2008 12:13 am |
Done, sorry about that. On review, I suppose the export issue might deserve it's own thread to track down what I'm doing wrong or what the potential problems might be..
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jan 15, 2008 1:13 am |
1) The font settings are in the Preferences "Style" page. Default settings are stored in the Default Package. But rather than modifying the Default Package yourself (your changes would get overwritten by the next CMUD update), you can create your own "default" package. Create a package called "MyDefaults" (or whatever name you want) and set the Styles and other defaults that you want. Then in the Packages Preferences page you can set the list of packages that are loaded automatically into any new sessions (you'll see English Directions and English Keypad in that list by default). For existing sessions, you'll need to Edit the session and go to the Files/Packages tab and add your new MyDefaults package to the list of loaded packages.
Because packages are so flexible and can be used in a number of ways, there isn't any easy way for CMUD to just do something like "Save this as the default", because if it just saved it to the DefaultPackage, then your changes would get overwritten by the next CMUD update. And CMUD has no way to tell if you have set up your own default package and what it might be called. So yes, it's not as user-friendly as I'd like, but it's hard to come up with something better.
2) yeah, see answer to (1)
3) Again, given the infinite number of package combinations that different people might have, there isn't any good way to save these defaults. Also, the options for which packages your window can see is a very important list, and I don't really want to hide that behind some sort of default. It is something you should look at and set properly for each package you create. As far as always creating new windows as floating, see the answer to (9)
4) I have a Toshiba with a trackpoint, but I've never known how you scroll with that...it just moves the mouse on my system. Unless IBM is using some sort of Windows standard protocol to accomplish this, there isn't much I can do to support proprietary hardware. The scrollwheel on the mouse uses standard Windows scrolling messages, which is why that works. So maybe the trackpoint isn't sending standard messages? You might want to create a separate post about this to get help from other people who might know more about the trackpoint that I do.
5) That works fine for me here. You might want to start a separate topic to try and track down this bug/problem. There *are* some problems related to creating windows within the package editor and the convert to/from module might still be bugged.
6) The list of settings shown in the right-pane when you select a class is a rather new feature. For a long time classes didn't show hardly anything in the right pane. The right pane is not meant to be a replacement for the functionality of the tree view. It's just a simple list of the settings within the class that you can double-click to select a setting.
7) This has actually been discussed a lot in the beta forum. It's a bad side effect of how the CMUD package editor design is totally different from zMUD. In CMUD, the package editor is really a live "database editor". The internal design in CMUD prevents multiple settings in the same class from having the same name. We have talked about having some sort of pop-up dialog like zMUD did to let you rename a duplicate setting, but the problem is that while the popup dialog is waiting for user input, you might be connected to the MUD causing changes to the settings database, so the editor cannot block the database changes. And the database has no way to keep a "temporary" copy of the record while it waits for you to rename it. It's certainly not impossible to implement this, it's just hard and tricky and could cause several side effects. So it's on the wish-list for the future, but not a trivial change.
The other issue here is that the Copy/paste code actually uses the XML import/export. When you do a Copy, you are actually exporting the XML to the clipboard (do a Paste in Notepad after doing a Copy in CMUD to see what I mean). When you do a Paste, the XML from the clipboard is being imported. But currently the way the Import function works is that there is an ID attribute in the XML that tells CMUD what setting to change. So it doesn't create a new copy of the setting, it just modifies the existing copy. It is designed to let you make a Copy in a *different* folder and not just make another copy in the same folder.
The easiest way to make a copy of a current setting within the same folder is to click on the XML tab for a setting, then remove the "ID=xxx" attribute (which forces a new setting to be created) and change the Name attribute of the setting. When you click Save Changes, it will create a new copy with your specified new name.
8) Layouts are automatically saved when you exit CMUD, so there is no need for a "Save Layout" menu command. As you discovered, the existing #SAVE command can also be used to force the layouts to be saved. The AutoSave Layout option determines whether your layout is saved on exit. As far as windows that might be hiding, you can see all of the windows using the Window menu...no need to Ctrl-N through them all.
The Horz/Vert/Cascade "standard" that you are referring to was part of the Windows MDI (Multiple Document Interface) standard, which is no longer recommended or really supported by Microsoft. Modern window docking (like in CMUD, Visual Studio, etc) have taken that to the next level, and simple layouts like Horz/Vert/Cascade no longer make a lot of sense.
9) This is on the to-do list, although it won't be the same as the AutoTile in zMUD. With the new window docking system, very complex window layouts are allowed and it already has a really nice interface for dragging windows and docking them into place. Simple layouts like "all horizontal" or "all vertical" are pretty useless with this system. Really the only AutoTile options that are needed these days are "always create a new tab in the current window", or "always create a floating window". So it will have those two options, but not the Horizontal and Vertical options.
But this is the AutoTile option. The "Quick Tile" command is not planned. Our testing showed that this option made it too easy for people to completely screw up their window layout. Again, it's better to drag/drop windows where you want them. So QuickTile is not planned.
10) To export a single or selected list of settings, you need to right-click on the setting and select Export. The File/Export command always exports the entire package. So make sure you are right-clicking. I'll test it to see if there is a problem, but I haven't run into this. So this might be another candidate for a separate post to help track down the bug.
11) I'm not sure what to warn anyone about here. You should always be aware of the source of the file that you are importing. I'm not a big fan of warning confirmations since most people just click OK anyway. |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Tue Jan 15, 2008 2:34 am |
The horizontal scroll on my laptop's touchpad doesn't work in the MUD output window. I tested using #say blah;#75 #sayp blah. Neither the horizontal nor vertical scrolling worked in the mapper.
|
|
|
|
MrCheviot Novice
Joined: 02 Dec 2007 Posts: 42
|
Posted: Tue Jan 15, 2008 5:33 am |
Zugg wrote: |
1) The font settings are in the Preferences "Style" page. ... |
Okay, I' was trying to go through suggestions one at a time, but I can't begin to express my frustration with this. In my testing I removed the English packages from default, got a default package created, got it so that was included in new sessions, and now can't get the English packages back into the defaults (it doesn't add them on a new line as new package, it munges the existing line). I'm assuming it's stored as a list, because as soon as I add a second package I do not see two lines, just "|c:\program files\cmud\packages\english keypad.pkg#" (# is actually a square). I have no idea how to fix this - if another thread is needed to address it (i.e. you can't replicate based on my semi-walkthrough) let me know, b/c until then I'm no longer able to use the English* packages as defaults.
Actually, scratch that. In the course of closing and reopening sessions, my package somehow lost my code. And due to trying to fix it with multiple open session/close session routines,, it overwrote my backup as well. (The "close app or keep running" dialog popped up more than once in trying to do all of this, and I've found that clicking close just freezes my machine. Guess it's not healthy to continue using it, so I'm at a loss on this one). At least I have a default package I can use when I start to rebuild it all, after a reinstall to get the default English packages back that is.
There must be a better way to do all of this!!! Feature to extract some preferences out of a package and into a new default when an upgrade comes, or something. As for a command "make windows look like this" - if it's simply data within a package file, and the preferences apply to each window in the package file, not sure why you can't duplicate preferences from one window to the others. Yes, defaults is one way and is good for people with multiple sessions, but for those of us that basically only play one, it's quite a hassle.
Also, just as a general disclaimer - I'm not trying to be difficult about with all of these suggestions. Re: your thread on how users learn programs, I think a UI that's works as one would expect intuitively goes a long way in providing an environment for users to learn quickly. My well-intentioned and heart-felt recommendation is to stop working on adding new features and get the UI to work without crashing, without corrupting package files, and with some options to protect the end users (multiple backups???) as long as there's active development going on with the UI and the editor.
-MrC |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Tue Jan 15, 2008 6:27 am |
Couple of notes: mung rhymes with mong, and its present-tense form is "mungs"; maybe it only works if you're english ;). You should probably make another thread for problems you have that aren't specifically UI-related (ie, your problem with the default packages list). And finally, while I'm willing to bow to your experience, I definitely think that you can't categorise something as intuitive or not - different people will have different opinions on what's natural and what isn't. Zugg's view, for example, will be warped by his knowledge of the internal workings of CMUD, whereas ours won't so much.
|
|
|
|
MrCheviot Novice
Joined: 02 Dec 2007 Posts: 42
|
Posted: Tue Jan 15, 2008 6:37 am |
Exactly - I have a much fresher view into the UI and what would make sense to someone looking at the UI and editor for the first time. You can't tell me that right click in the left pane working and right click on the same items in the right pane not working is at all intuitive, for example. Nor that having to go through the process of setting up your own default package and following the steps he outlined is something that an end user should be expected to do for something as simple as change default fonts and colors across windows.
If a user interface is setup properly, the whole notion of work-around's and "inside the box" knowledge becomes moot. Forget intuition.
I'm certainly not the only one asking for (more) attention to be paid to the UI issues as a quick scan of forum topics will indicate, but as a believer in the product and what it could/will become - and as a paying customer - I have no problem being relatively vocal about it, either.
-MrC
PS: I wasn't going for "mungs" as in rhymes with "rungs", I was going for "munges" as in rhymes with "lunges" |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Tue Jan 15, 2008 12:55 pm |
Believe you me, I certainly have no problem with people vocalising ideas :P I mentioned it more to point out the possibility that someone could argue against you, not that I was actually going to do that arguing - I happen to agree with you on those two examples. But there are many cases in the UI of things that seem sensible to one person for whatever reason, but aren't to another for another reason. I used Zugg as an example of that.
A good example of this intuition versus weirdness is opening new tabs in Firefox and IE. When you open a new tab in Firefox, it goes on the end of the list and I got used to that and it was lovely. Then I started using IE, which opens tabs next to the tab you were in when you clicked Open in New Tab, and it annoyed me for a bit until I got used to it. Now I'm back to Firefox, the method that I preferred at first is bugging me again. Another example is some people liking lots of confimation dialogues and some people hating them (as in your #11). I hate that my Sky+ box doesn't ask me when I choose to delete something, for example, but also hate that my phone asks me to confirm.
UI's so subjective that I often think it'd be easier to label things clearly and do what you like apart from that.
And I assumed you meant the present tense form of the verb "to mung" - that is, to mash until no good. Since the infinitive is "mung", like rung, its present tense should surely be "mungs". |
|
|
|
Larkin Wizard
Joined: 25 Mar 2003 Posts: 1113 Location: USA
|
Posted: Tue Jan 15, 2008 3:42 pm |
Mung = Mash Until No Good.
Munge = Modify Until Not Guessed Easily.
<3 Wikipedia. |
|
|
|
MrCheviot Novice
Joined: 02 Dec 2007 Posts: 42
|
Posted: Tue Jan 15, 2008 4:42 pm |
New Hacker Dictionary:
Quote: |
munge /muhnj/ /vt./
1. [derogatory] To imperfectly transform information. 2. A comprehensive rewrite of a routine, data structure or the whole program.
mung /muhng/ /vt./
1. To make changes to a file, esp. large-scale and irrevocable changes. See BLT. 2. To destroy, usually accidentally, occasionally maliciously. |
They both work, but sense I was using it in a derogatory sense.. Can we get back to the issue at hand though?
Fang re: your tab comment, I think that's more an issue of learned behavior; the UI of both Firefox and IE support the general 'tabbing' feature. In the context of the overall interface the browser presents, I think that which is 'better' or 'appropriate' is more a matter of personal preference, not one of intuition. I see what you're saying however.
I guess where I am coming from is expectation based. I expect to be able to be able to set fonts/colors for windows as easily for all as it is for one. I expect that when I import an XML file any drastic changes to my UI (such as spawning new and unintended session windows) can be easily reversed. I expect that when I export something I get what I want (although granted, the user needs to learn the subtleties of this). Etc.
I'm not sure if intuition leads to expectations. When looking at a problem or a task, I approach it as "well, it should work like this (according to me)." If it doesn't, it's then "well, how does it work then?" which is followed by "what do I need to learn to understand why I didn't work the way I expected?" - and then it's a matter of learned behavior. In many of the examples above, I find myself getting stuck at the second question (how does it work?) because in many cases it does NOT work. To refer to a previous comment I made, relying on work-arounds and inside-the-box knowledge doesn't really lend itself to any learned behavior other than "user be wary," at least IMO.
-MrC |
|
|
|
MrCheviot Novice
Joined: 02 Dec 2007 Posts: 42
|
Posted: Tue Jan 15, 2008 5:21 pm |
Replying to rest of Zugg's List:
1,2) See above posts..
3)
Zugg wrote: |
Again, given the infinite number of package combinations that different people might have, there isn't any good way to save these defaults. Also, the options for which packages your window can see is a very important list, and I don't really want to hide that behind some sort of default. |
When a new package is created, where does it get its defaults from? Default package (I'm assuming). Why can't there be a default window in the default package that's then replicated for new windows, and allow users to have the option of using it? Would it be possible to add a 'clone window' option so you could clone an existing capture window, its visible package info, styles, etc.?
4) I'm not sure about which messages the touchpoint sends, but they seem to be the same as the borders of any standard touchpad which can be used for vert/horz scrolling.
5) I'll see if I can do a few more tests with this - may have something to do with package files that became corrupted from killing CMUD.EXE too many times. The Item #12 I added (dragging to package places in folder selected in dest package, with no way to select root) still applies though, I think.
6)
Zugg wrote: |
The right pane is not meant to be a replacement for the functionality of the tree view. It's just a simple list of the settings within the class that you can double-click to select a setting. |
Understood that it's new and the right pane previously didn't have anything to click on (therefore this is a moot point in ZMUD). If (and it's a big if b/c I don't know how the pane is constructed) the list of items in the right pane is assembled from a list of objects, would it be possible to have context menus for them? In other words, if you can define a double-click action for them, would it be possible to define right-click action that replicates the action in the tree view?
7) Your explanation makes sense, thanks.
Zugg wrote: |
The easiest way to make a copy of a current setting within the same folder is to click on the XML tab for a setting, then remove the "ID=xxx" attribute (which forces a new setting to be created) and change the Name attribute of the setting. When you click Save Changes, it will create a new copy with your specified new name. |
Could the paste command do something like this then? Detect if an object already exists with same "ID=xxx" and either prompt you for overwrite (as is customary in Windows), or if it is at the same level/within the same folder, could it create an "Item (2)" or "Copy of Item" (also like Win Explorer) ?
8)
Zugg wrote: |
As far as windows that might be hiding, you can see all of the windows using the Window menu...no need to Ctrl-N through them all. |
I've definitely had session windows that remained behind others when selecting them from the Window menu, despite my best efforts with Layout and Win menus. Perhaps a candidate for another thread if I can replicate the problem.
9)
Zugg wrote: |
Simple layouts like "all horizontal" or "all vertical" are pretty useless with this system.
The "Quick Tile" command is not planned. Our testing showed that this option made it too easy for people to completely screw up their window layout. Again, it's better to drag/drop windows where you want them. |
The new docking system is really a vast improvement over ZMUD. Instead of "quick tiling", perhaps a "reset window container" option? It's not something that would be used to position things in a usable sense, but in emergencies or when you're testing various layout modes, it could be quite useful. As for screwing up the layout, I would definitely prefer to know it's screwed up because I manually did something as opposed to the program doing it for me... (sarcasm intended).
Zugg wrote: |
Really the only AutoTile options that are needed these days are "always create a new tab in the current window", or "always create a floating window". |
This is what I'm referring to above in #3. My original #3 was all inclusive properties for windows, but this would be a great step.
10)
Zugg wrote: |
To export a single or selected list of settings, you need to right-click on the setting and select Export. The File/Export command always exports the entire package. So make sure you are right-clicking. |
Right, that's pretty straightforward (and the information provided in the lower bar confirms this). Maybe another thread is needed then, because if export a single class I end up with <class> and <window> tags for everything in the package (they're empty placeholders, but in the case of windows they'll still be created in your session - see point 11), along with what I wanted to export.
11)
Zugg wrote: |
I'm not sure what to warn anyone about here. You should always be aware of the source of the file that you are importing. I'm not a big fan of warning confirmations since most people just click OK anyway. |
Otherwise known as the "don't open email attachments" mantra. Prevention is the first defense, I agree, but that doesn't solve anything for when it does happen.
If you have a session window open and want to open a new package that contains a connection window or import an XML that contains new windows, I don't think a "supress new windows" dialog (and even a checkbox to "not remind me about this in the future") is unreasonable.
Sigh. I know the to-do list is long and there are a lot of things in the works. I do appreciate your efforts to improve the functionality of the client, but my personal concern is the usability of the client.
-MrC |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jan 15, 2008 6:36 pm |
Quote: |
Sigh. I know the to-do list is long and there are a lot of things in the works. I do appreciate your efforts to improve the functionality of the client, but my personal concern is the usability of the client. |
That's really the root of the issue. I'm just one person and there are only so many hours in a day. There are *lots* of issues to work on in CMUD, and in the past year, I've been more focused on stability than anything else. UI issues will always improve over time. Remember that zMUD had 5 years of development, wheras CMUD has only had 2 years of development. When you get something very complex like the Settings Editor written from scratch with a totally different/new database architecture, it takes a while to get it working, and then takes even longer to tweak it so that all of the little details are taken care of. As the saying goes, the last 10% of functionality takes 90% of the time.
Perhaps you'll participate in the CMUD Beta Forum during future rounds of beta testing to help point out more of these UI issues when I can more quickly respond to them. |
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|