On May 23, 07 10:52:44 +0200, Johannes Meixner wrote:
Hello,
I have a general question if there exist solutions how to show semantics regarding user input via UI.
I know how to show syntax regarding user input via UI, e.g.: - show several checkboxes for several binary (on/off) values which can be set "on" or "off" independent of each other - show radio buttons for several binary (on/off) values where only one of them can be "on" - show a list of predefined values if only this values are correct input - show a text input field for an arbitrary input value
I don't know how to show semantics regarding user input via UI. Example: a) for one kind of input values the user is free to choose what he likes because any choice would work b) for other kind of input values the user is not free to choose what he likes because only the right choice would work
Is there a solution how to show this kind of semantics regarding user input via the UI?
Simple real-world examples are:
1) Password input: A password is an arbitrary input value so that a text input field is shown in the UI. But the semantics is different if - a new password is to be set => case a) above - the system asks the user for his password => case b) above
Here semantics must be made clear from the context. E.g. "You are about to change the password for account foobar." vs. "To log in as foobar, please enter password."
2) Printer specific option settings: Specify the printing resolution versus specify the media size: Both values can be choosen from a list of possible values e.g. Resolution: 300dpi, 600dpi, 1200dpi (the supported resolutions of the printer driver) Media Size: A4, A5, Letter, Legal (the supported media sizes of the printer driver) The syntax is the same for resolution and media size but the semantics is different because - any choice of the resolution works => case a) above - only the media size which is actually in the printer works => case b) above
Technically, the semantic difference can be described in terms of consistency between internal model and real world: The system is in an inconsistent state, if e.g. Letter is chosen from the list while some other format (e.g. A4) is loaded in the tray. Choice of printer resolution does not affect consistency as the real-world will automatically addapt to the internal model. It must be made clear that the UI requests information about the real world, to update its internal model. "The printer did not inform Cups which paper size is loaded. - Choose the size if you know what is loaded. - [Klick here] to print a test page indicating the sizes. - If the wrong size is chosen here, your page may not fit on the page, or the printer may ask for different paper before printing."
You might think that this is no UX/UI problem at all because it is obvious for any normal user if the semantics is of type a) or b).
In the printer example, we already have a negative user expirence when the UI has to ask the user details about the system. One would assume that the system tells the user which paper is loaded, not vice versa. So, I agree with you, it is most definitly a user experience issue. Although the classic usability guidelines cannot do much about it. I could think of technical solutions, to detect and catch any inconsistencies at a different point in time.
This is true for my simple examples above but in general it isn't, see this snippet from a mail: --------------------------------------------------------------
Why did you acitvate the filtering when you want to set up a raw queue? Filtering is exactly the opposite of "raw". ... Reading this setting in the YAST module, I thought it was more a choice: do you want the filtering done on the server side or on the client side.
It is a choice but it is not a choice where you are free to select whatever you like - it is a choice where you must choose the right setting which works in your particular environment. --------------------------------------------------------------
In this case, the user misunderstood the dialog. He thought he could make a free choice, but, the system was asking to provide information it could not autmatically detect. It is best to keep in mind the different worlds that we have to deal here. I) User's view of the world. II) System model in software. III) Real Hardware World. These worlds are sometimes poorly connected to each other. cheers, Jw. -- o \ Juergen Weigert paint it green! __/ _=======.=======_ <V> | jw@suse.de wide open suse_/ _---|____________\/ \ | 0911 74053-508 (tm)__/ (____/ /\ (/) | __________________________/ _/ \_ vim:set sw=2 wm=8 SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) "Oral agreements are worth about as much as the paper they are written on." -- To unsubscribe, e-mail: opensuse-ux+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ux+help@opensuse.org