GUI consistency
Moderator: OpenTTD Developers
GUI consistency
When I start to do designing programming the GUI of OTTD I found it highly incosistent. For instance in the station window, there is the button showing acceptance/ratings/etc. that changes its text accordingly. Nearly exactly the same functionality is achieved in the train command window via greyed out buttons. So I think some style guide is needed. Another example is the "go to location" function, which is sometimes a text button, sometime an eye.
Next thing is, that nearly similar dialoges are not similar. I.e. the train details, bus details, ship and airplane details should be similar. However, the train uses seperator, while the other do not use them. Also the bus window is larger (10px) than the airplane window.
But most important (sorry for the wrong order) is the imho bad choice you have. In the vehicle window, there are (modal) buttons for goto location, stopping, reversing, orders, ... which are changing in a depot and depend on the vehicle type. However, many important information like freight and income can be only find in a subwindow, while the speed (imho not of outmost importance) is show directly.
Just on the vehicle dialoge:
I think it would be a much better usability to have a common design for all vehicles. Also the more important or the more often used a function is, the more urgent is a button in the first dialoge. Also on could think of folding open the vehicle dialoges instead open another one for details (which closes anyway together with the main one).
The second attachment shows a mockup for a new universal vehicle dialog. All the "stopping, reverse, goto depot, ..." stuff could be accessed via the order dialog, and the "refit, cargo details, income, ..." stuff could be in the details dialoge. Jumping on the location could be just done via left or rightclick into the main image.
The same of course is true with many other dialoges (who also often show too many informations, violating "the rule of seven"). Not to mention the tiny icon buttons will be hard to hit on a large screen. Maybe most users got used to it, but it is not that what is suggested by good user interface design.
However, I will happily take all the beating, if I am proven wrong.
Next thing is, that nearly similar dialoges are not similar. I.e. the train details, bus details, ship and airplane details should be similar. However, the train uses seperator, while the other do not use them. Also the bus window is larger (10px) than the airplane window.
But most important (sorry for the wrong order) is the imho bad choice you have. In the vehicle window, there are (modal) buttons for goto location, stopping, reversing, orders, ... which are changing in a depot and depend on the vehicle type. However, many important information like freight and income can be only find in a subwindow, while the speed (imho not of outmost importance) is show directly.
Just on the vehicle dialoge:
I think it would be a much better usability to have a common design for all vehicles. Also the more important or the more often used a function is, the more urgent is a button in the first dialoge. Also on could think of folding open the vehicle dialoges instead open another one for details (which closes anyway together with the main one).
The second attachment shows a mockup for a new universal vehicle dialog. All the "stopping, reverse, goto depot, ..." stuff could be accessed via the order dialog, and the "refit, cargo details, income, ..." stuff could be in the details dialoge. Jumping on the location could be just done via left or rightclick into the main image.
The same of course is true with many other dialoges (who also often show too many informations, violating "the rule of seven"). Not to mention the tiny icon buttons will be hard to hit on a large screen. Maybe most users got used to it, but it is not that what is suggested by good user interface design.
However, I will happily take all the beating, if I am proven wrong.
- Attachments
-
- Proposal for a new vehicle dialoge
- Image4.png (10.59 KiB) Viewed 3943 times
-
- Yellow: Some functionality, different button
Orange: Same functionatily, different UI
Violett: Modal buttons
Violett: Width difference in the bus details - Image1.png (25.46 KiB) Viewed 3943 times
Well, we could have a look at the vehicle details window but I don't think any deep gui changes, especially to frequently-used windows will be appreciated.
For example the vehicle-view window. We've been used to it for 10 years, and changing it would start an outrage. So I think such changes are out of the question.
For example the vehicle-view window. We've been used to it for 10 years, and changing it would start an outrage. So I think such changes are out of the question.
TrueLight: "Did you bother to read any of the replies, or you just pressed 'Reply' and started typing?"
<@[R-Dk]FoRbiDDeN> "HELP, this litte arrow thing keeps following my mouse, and I can't make it go away."
<@[R-Dk]FoRbiDDeN> "HELP, this litte arrow thing keeps following my mouse, and I can't make it go away."
I though so. This was just to illustrate the problem. The GUI is far from self-explaining, even the help is not straight forward. And very much consistency is lacking.
(But I confess this is a little an outsider view, since I encoutered OTTD after I did encounter simutrans and some others. Maybe therefore, I had my troubles with the OTTD interface. Even now I am not sure, what the signal button in the vehicle window is good for. And it took some time to find out, that refit is only visible in depots.)
However, some consistency might be appriciated, by the developer as well as by the users. Also thinking about sime guidelines (i.e. the greyed out "tabs" versus button with changing names) could help to keep the gui more consitent. In the moment, I have the impression, it goes like "ahh I found here a space for another button".
There are code guidelines, maybe there should be GUI guidelines. Simple ones, like "prefer changing button text", or buttons should be preferably at the bottom, state should be indicated by a graphic. Or "scrolling lists should have a seperator" (or don`t). Or all vehicle dialogs should have a width of 360 pixels, all station related ones ... (It does not need to be the Apple stringency.) Maybe slowly some dialoges can correct the biggest omissions (like the buttons in the title bar). However, even some GUI rules would help (at least me).
(But I confess this is a little an outsider view, since I encoutered OTTD after I did encounter simutrans and some others. Maybe therefore, I had my troubles with the OTTD interface. Even now I am not sure, what the signal button in the vehicle window is good for. And it took some time to find out, that refit is only visible in depots.)
However, some consistency might be appriciated, by the developer as well as by the users. Also thinking about sime guidelines (i.e. the greyed out "tabs" versus button with changing names) could help to keep the gui more consitent. In the moment, I have the impression, it goes like "ahh I found here a space for another button".
There are code guidelines, maybe there should be GUI guidelines. Simple ones, like "prefer changing button text", or buttons should be preferably at the bottom, state should be indicated by a graphic. Or "scrolling lists should have a seperator" (or don`t). Or all vehicle dialogs should have a width of 360 pixels, all station related ones ... (It does not need to be the Apple stringency.) Maybe slowly some dialoges can correct the biggest omissions (like the buttons in the title bar). However, even some GUI rules would help (at least me).
What happens when you right-click on that button? Just about everything has a right-click tooltip.prissi wrote:Even now I am not sure, what the signal button in the vehicle window is good for.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Good point!prissi wrote:Maybe they should show like window help text, after ten seconds or so. Otherwise people may not find them by try and error. Or I am too stupid for this?!
When I don't know what a certain symbol means
I'm afraid to rightclick it as something bad may happen.
Safest way to learn is - don't move and watch.

And yes, I played TT 10 years ago...
AND SINCE THE FIRST DAY I get really annyed about the vehicle deatils window
because I have to click and scroll way to often to see the carriage of my trains!!!


klogg
It sure looks to me like somebody made that window resizable.
If you're quite sure its not resizable, I think a screenshot, so we're sure we're talking about the same window, is in order.
If you're quite sure its not resizable, I think a screenshot, so we're sure we're talking about the same window, is in order.
To get a good answer, ask a Smart Question. Similarly, if you want a bug fixed, write a Useful Bug Report. No TTDPatch crashlog? Then follow directions.
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
Projects: NFORenum (download) | PlaneSet (Website) | grfcodec (download) | grfdebug.log parser
I think it will be nice if the (default) size of all windows and the size of the buttons is increased. With all the high resolutions that are used nowadays it's not convenient trying to click on a mini-button.
p.s. I like the right click tooltip. This way you can show it immediately and not waiting for x seconts for it to appear.
p.s. I like the right click tooltip. This way you can show it immediately and not waiting for x seconts for it to appear.
OTTDCoop NewGRF Pack|Different sets of GRFs for TTDPatch (some of them work in OTTD) - 1|- 2|GRF sets for OTTD|OTTD nightly

I hooked up my accelerator to my brake lights. I hit the gas, people behind me stop, and I'm gone.
Understeer is when you hit the wall with the front of the car. Oversteer is when you hit the wall with the rear of the car. Horsepower is how fast you hit the wall. Torque is how far you take the wall with you. Spoilers and bodykits are how much of the wall you take with you. Rollcages and windownets are how much of a mess you leave on the wall.
I hooked up my accelerator to my brake lights. I hit the gas, people behind me stop, and I'm gone.
Understeer is when you hit the wall with the front of the car. Oversteer is when you hit the wall with the rear of the car. Horsepower is how fast you hit the wall. Torque is how far you take the wall with you. Spoilers and bodykits are how much of the wall you take with you. Rollcages and windownets are how much of a mess you leave on the wall.
Well, he said something like that when I changed the vehicle view window to move the speed to the top right corner, so I never finished coding it. The outrage came from Darkvater when I showed a screenshot of "work in progress"Darkvater wrote:For example the vehicle-view window. We've been used to it for 10 years, and changing it would start an outrage

I don't think it's a good idea to extend that window that much by default, so maybe keep it as it is now and add a button to show/hide the list in the same window by changing window size. Maybe it should show total cargo instead of cargo in each unit as well.
We should figure out if we want to change the GUI and what we would like and if we should stick to the "don't change familiar GUI" policy.
We should also consider the usage of player/other player windows. Look at the vehicle orders window. There are two different windows, one for your vehicles and one for other player's vehicles. There is also difference between trains and all the other vehicle types, but that makes more sense (no non-stop orders for aircraft and so on).
I would like to know the policy about: Greyed out means selected (like in trains) or unselectable? Should the scrolles list have horizontal lines like trains or no lines like in the stations? Height of a single text line 13 or 14? Default button height (maybe a little larger than now, i.e. 16?) Goto location always using the eye icon (instead the text)? Changable buttons at the bottom (but for sort criteria for list)?
These could help to make new dialoges conform to the ideal OTTD-GUI.
These could help to make new dialoges conform to the ideal OTTD-GUI.
Well, here is how I think it should be done (and is doing whenever I change something)prissi wrote:I would like to know the policy about
unselectable. Selected should use pressed state.prissi wrote:Greyed out means selected (like in trains) or unselectable?
I prefer a line between each line.prissi wrote:Should the scrolles list have horizontal lines like trains or no lines like in the stations?
I don't know. I presume some tests will show what looks the best.prissi wrote:Height of a single text line 13 or 14? Default button height (maybe a little larger than now, i.e. 16?)
Sounds reasonable to try to keep it consistent. However I think it would be best if a window sticks to either sprites or text buttons, at least not mixing them in the same row.prissi wrote:Goto location always using the eye icon (instead the text)?
What do you mean by this?prissi wrote:Changable buttons at the bottom (but for sort criteria for list)?
yeah, we should certainly not accept any window or make new window design a guessing game until it looks right. We should also add coding standards for window behaviour like adding widget enums.prissi wrote:These could help to make new dialoges conform to the ideal OTTD-GUI.
Note: I just wrote what I think. I didn't state any rules anybody agreed on and wrote somewhere. We will/should do that eventually.
That was was the initial purpose. I thank you for your comments.Note: I just wrote what I think. I didn't state any rules anybody agreed on and wrote somewhere. We will/should do that eventually.
I like to aks two points:
If there are more than one choice (e.g. the acceptance button in the station info) should it be done with a changing text or like in the train window with different buttons in a row (which looks a little crowdy)? [Or is there a tab-widget planned?]
Also buttons to do something (e.g. renaming, changing orders, ... ) should be generally in the lower part of a dialoge?
EDIT:
Would such an vehicle detail info be too radical?
- Attachments
-
- gives this
- Sarnley Transport, 9th Aug 1954.png (25.11 KiB) Viewed 3526 times
-
- unified_vehicle_info.zip
- Adding to vehicle gui this
- (3.92 KiB) Downloaded 149 times
Who is online
Users browsing this forum: No registered users and 16 guests