|
Sander Rossel wrote: The worker really needs to see all the information at once because they can't make informed decisions without all the data
Hmmm....could be me but I see a difference there....
Yours: "The worker"
Original post: "boss"
Yours of course is customer and requirements driven.
|
|
|
|
|
My point was more that a form with plenty of fields and states is not an "unrealistic constraint", but a functional reality
|
|
|
|
|
I know. Yours is that the users need that. The other (not your post) is how the boss wants it.
|
|
|
|
|
Richard Andrew x64 wrote: Have you ever had a boss who placed unrealistic constraints on your work? Not so much a boss as internal users. Our product is a commercial ink-jet printing system, and our application runs the machine. I do our user interfaces, which are the control panel for this $2M+ piece of equipment.
My ongoing problem is this. The mechanical, electrical, chemical, and service engineers love adding decisions to the user's workload. They want the user to decide whether they want to use mode X or mode Y when performing process A. When performing process Q, should we stop when condition C23 or C27.2 is detected? In a running joke in the group, they always suggest "Can't you just display a popup?". This is on a machine that must have certain operations always available (like STOP) and displaying a modal message box or task dialog is only reasonable in very select cases. The more important issue is that the user is a machine operator, and he simply doesn't care; he just wants to print.
I spend ¾ of my time figuring out how to not add buttons or knobs. Many times the decision they're asking for is for their own debugging purposes, so those get added to an engineering section of the UI that isn't displayed in customer installations. If the decision is one they make once for the customer installation, it's made part of the configuration loaded at startup. Most of the remaining decisions I have to present and place so that they don't interfere with normal operations, but are where the user will find if needed. Every so often I get lucky, and after taking a pick-axe to the engineer's brain, figure out how to make the decision within the application without involving the user.
When sales/marketing and management get involved this is harder. They like to dictate a particular solution ("can't you just display a popup?") and if they don't see that, they throw a conniption because you haven't done what they've asked. The advantage of being a Wise Old Head is that you become adept at explaining the benefits of your solution over the one they mandated, and doing so in a way that smooths their ruffled feathers.
Software Zen: delete this;
|
|
|
|
|
You could write the Caption: "Pop up brought to you by XXYYZZ decission".
I bet that after one of those popups come to production the petitions of popups from that person or department would be drastically less pretty soon.
And yes... I did something similar once.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Gary R. Wheeler wrote: I spend ¾ of my time figuring out how to not add buttons or knobs.
I think it was Pascal (the man, not the language) that said "I'm sorry I didn't have more time too write a shorter letter". People don't appreciate how much effort goes into making a smaller user interface.
My story: I had to design a data acquisition system used on boats with many different sensors from many different manufacturers that rarely have been able to work together in a smooth combination. My choice was to make the configuration part quite complicated with many different options that had to be set correctly in order for the system to run. The data acquisition part, by comparison, was child's play with very few options or controls. The idea was that you would solve all the complicated problems while moored and with time on your hands while out on the water you had better things to do than fiddle with a finicky program.
The program was a success and users loved it. Years have passed, many people have passed through marketing and bosses of many users have seen the program at trade shows. Each one came with a great idea like: "Can we see this in 3D?" (yes you could but than you cannot measure anything on screen) "Can we change color of each thing on screen?" (seriously? who has time to play with colors while running a boat?) and so on.
On top of that, some of my colleagues added new features and sometimes, instead of putting the effort to make a sound design decision, they just went "oh, let the user decide what he wants. We'll just add check-boxes for the different options."
Mircea
|
|
|
|
|
Mircea Neacsu wrote: "oh, let the user decide what he wants. We'll just add check-boxes for the different options." I've had to do that one far more often than I like.
Software Zen: delete this;
|
|
|
|
|
On the desktop app I work on, we have an admin section for that stuff. Let the manager decide. The actual users never have to care.
Bond
Keep all things as simple as possible, but no simpler. -said someone, somewhere
|
|
|
|
|
If the wizard evolution is linear it’s easy to present everything at once in one big menu of options. If all the possible options evolve into a tree (early options attract further changes down the chain ) showing all the options at once is difficult or impossible
|
|
|
|
|
Richard Andrew x64 wrote: It was extremely difficult to make this work when there were many steps in the particular screen being developed. There were just way too many different states that the screen could be in at any one time to be manageable.
Disaster in the making. If you have a hard time, how's the end user supposed to make sense of it?
Maybe group the related controls that are on each page, so that what used to be one page, is now inside its own user control. So if the wizard had 6 pages, you have 6 user controls, all dropped on the same window as your boss wants it. As far as he'll be able to tell, it's all one page, but internally, at least, everything within each control will be wrapped in its own file/class. That should make it more manageable...?
And just to mess with him - initialize the window so only the first control is enabled - disable (gray out) the other controls. Once those are filled in correctly and validated, disable control #1 and enable control #2, until you've gone through all user controls. Hey, he can't call it a wizard...
|
|
|
|
|
Just a thought: would it help to convince him to use what he asked for in a real-life scenario?
- thus make a serious use case evaluation ...
I wonder what would be his answer. Perhaps "no, it's too complex", "no, too much work" ...
|
|
|
|
|
Richard Andrew x64 wrote: I had a boss one time who personally disliked wizard type interfaces in software. It doesn't matter what your boss at the time (who I assumed was some sort of engineering manager) liked or didn't like. What matters is what the customer wanted. But I assume he probably wasn't smart enough to realize that.
/ravi
|
|
|
|
|
Who is this boss who dislikes Wizards?
I'll turn him into a toad if he is not careful.
Nothing succeeds like a budgie without teeth.
To err is human, to arr is pirate.
|
|
|
|
|
Do not meddle in the affairs of wizards, for they are subtle and quick to anger.
"F*** subtle", added Harry Dresden
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
I kinda prefer your former boss' UX philosophy, within reason. At the very least I prefer parallel settings rather than sequential, thprugh the usage of tabs for example. Of course in some situations having different steps makes it for a more intuitive interface (case in point: installation wizards) but, barring obvious distortions like what you mentioned, 'complete status display' is the way for me.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
Without more context, it is hard to know if your boss was correct or if you were correct in this instance. IMO every project needs to be tailored to its audience and the answer as to if step by step dialog boxes are applicable will vary greatly depending on the audience, the frequency a user will use the UI, and the learning curve just to name a few factors.
Who I can say is most often wrong is the person who believes there is always a specific way to do something such as "always create a step by step dialog experience" or "never create a step by step dialog experience". And frequently more junior developers who don't yet have the lay of the land are more likely incorrect by following some "basic rule" someone previously taught them (or they developed) without educating them on the required context for the rule to apply.
A good example in this case is the interview step through UI in Turbo Tax. For those of us who fill out a tax form once a year, this is a great interface. Imagine though if you worked at H&R Block and you filled this out every 30 minutes for 8 hours a day. That would be a horrible interface. Same job, same information, different user.
|
|
|
|
|
Very good example with Turbo Tax!
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
We converted most of our “wizard” UIs to tab paged UIs.
Certain tabs only enable for certain conditions, etc.
One summary tab for validation errors that navigate to offending tab + field.
We also have a few super long forms, but these start with most fields hidden. As you work down the form the relevant lower sections are made visible.
|
|
|
|
|
Absolutely everyone thinks they are a UI designer.
I once developed a programming language for testing and troubleshooting. (It was even a modest success, with about 1300 users). In my design, decimal numbers were represented as sequences of decimal digits, and hex numbers were a # followed by hex digits 0-9, A-F. The choice was arbitrary, but was a convention used in assemblers and had the advantage of being only one character, unlike the 0x prefix used in C.
My boss, who was an electrical engineer, not a programmer, insisted that unadorned series of decimal digits should be hexadecimal, because this was the most likely use in his opinion. I argued the choice was arbitrary and users would adapt to it. I argued that users would be angry when for i = 1 to 10 did sixteen iterations. But he was the manager, and I was nobody, just a masters degree in CS and a few years experience, so I reluctantly implemented his demand.
Our first user was IBM. Their number one complaint about the language was how numbers were represented. Duh! I was tasked to "fix it." Of course, adding an # to all numbers made every line longer, and lines had a limit of 255 characters, so the fix wouldn't necessarily work on all programs...
Why, oh why do we hire expert language designers and UX experts, and then overrule their expert decisions?
|
|
|
|
|
I would usually ignore suggestions to simplify (I'm a one man team) but this one time, I came back from a long vacation (3 week roadtrip), and I forgot my reasons not to simplify a two button process with one...until I actually tried it.
2 weeks later, a port from R to Python and we have the most mind boggling interface to fill in information, press the red button, and hope the multicore machine finishes in an hour to see if there's any mistakes in the simulations.
The other engineers seem happy with it.
|
|
|
|
|
Actually no. Almost all of my bosses knew that I knew much more about my field of programming than they did (I was a firmware engineer). Only one of my bosses had done any programming at all (he ran a BBS and had done a little BASIC programming).
|
|
|
|
|
How about 1 screen (to meet the boss's requirement) with a tab sheet across the top. Each tab would be the equivalent of a dialog in the wizard. Disable tabs until the correct state is reached. You could even hide tabs. Problem solved!?
I fully admit this stinks like a desktop app from the 1990's, but it does work.
Bond
Keep all things as simple as possible, but no simpler. -said someone, somewhere
|
|
|
|
|
Richard Andrew x64 wrote: I had a boss one time who personally disliked wizard type interfaces
Were you creating software for your boss or for customers?
|
|
|
|
|
For the boss. It was internal line of business applications.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Not had a boss require it, but users, yes.
There's really a purposeful design difference between wizards and dialogs vs a "form". For me, a form collects a lot of information that is required at once. Typically, only dropdowns and checkboxes are used for changing the displayed information and flow. Really depends on the target, in terms of "expert user" vs general public and desktop, mobile, or web.
Wizards are often failures when the user needs to remember what the heck they answered seven dialogs ago. That's both what the answer was and if they clicked on the right thing or not.
There's good cases for either and/or both to be used. Sometimes giving the user the TurboTax options of step by step or just fill it out make sense.
|
|
|
|