Archive for December 3rd, 2009

I’ve been perusing David Sirlin’s fantastic blog, and one of his recent posts resonated with me:

The Design Of Things

I have a similar tendency to question design decisions wherever I go.  I don’t imagine meetings based on them, but I do look at nearly everything and reflexively assess the design of it.  My wife has noted more than once that when I complain about something, it’s most often pointing out that it suffers from bad design.  Whether it’s a business schedule, social construct or thingamajig, bad design bothers me.

To be sure, many altercations and accidents are simply user error, but there are a lot of boneheaded decisions industrial (and game) designers make.  Even bad UI bothers me.

I know, I know, it’s not always easy (thanks, Psychochild!) to really fix these things.  At the same time, there are some simple things that could have been solved by just a few seconds of actual thought, if you can imagine that.

One example that vexes me day in and day out is a relatively small and simple thing.


It’s “Save File” in almost every single Windows program, under almost every circumstance.  That’s good, and it’s come to be expected by the end user.  You’d be an exceptionally cruel or criminally idiotic software designer if you mapped CTRL-S to “Stop Program” or “Scuttle File” or some such.  The guys behind 3DS Max, a rather expensive bit of software (it’s expensive if you have to click through three links to get a price), aren’t criminally insane, but someone flubbed this simple design task.

Y’see, if you happen to be working with UV layouts (getting to which being a dumb task in itself, with at least two clicks too many en route for a VERY common 3D art task), and have the Edit UVs window open, CTRL-S no longer saves your file.  No, now it toggles the Snap function.  You can’t even click back out of the Edit UVs window and have CTRL-S work correctly again.  As long as you have the UV editing window open, there is no keyboard shortcut to save your file.  Heaven help you if you’re working with an unstable machine (Max isn’t all that stable in itself) and have gotten into the habit of saving every few minutes or so to keep from losing a day’s work.

In the end, users get used to it.  Snap is a useful function, and it’s not all that difficult to go click on the File menu and go down to the Save command in the list.  The trouble is one of changing user expectations and lack of consistency.  The “s” key toggles Snap when you’re not editing UVs, and it does nothing when you are.  A user could be excused for thinking that “s” would toggle Snap and CRTL-S would save the file even while editing UVs because that’s what they do everywhere else.

So, I have to ask:  Who executed this?  What were they thinking? You don’t change the function of your UI arbitrarily like that.  That’s freshman year UI design, as Ernest Adams might say.  (Thanks, No Twinkie database!)  That the software package costs more than I paid for either of our vehicles is rubbing salt in the wound.  These guys should be getting these things right.

Similarly, if you happen to be editing several polygonal surfaces via a shared “Edit Poly” modifier (modifiers themselves being an idiotic extra step, incidentally, including the inability to work on more than one object’s UV set at once), the keyboard shortcut for Rotate changes.  Let me stress:  Move and Scale shortcuts are the same, but Rotate changes.  These three operation modes are key functions of editing things in 3D, and likely a significant part of why you’re Editing the Polys in the first place.  Why change the keyboard shortcut to do something completely different if you’re working on more than one object? This is simply incompetent UI design, and annoying every time it comes up, since again, the only solution is to go click on something to get to the function the keyboard shortcut should get to, and does almost all the rest of the time.  (And when editing multiple polygonal subobjects, CTRL-S changes yet again, this time to toggle “Soft Selection”.  I really want to knock some UI designer heads together when I run into this sort of idiocy.)

Context sensitive changes in UI work with mouseovers or right-click menus, since you can preview visually what will happen and you have to go looking for the changes.  When you change the basic core functions of your UI in context sensitive ways with no warning, you’re just punishing your users who you have taught to expect certain behavior.  That’s Bad Design.  No Twinkie for you! Or, as Sirlin might note, Every Click Counts, and making users jump through unnecessary extra hoops is Bad Design.

Moving on, I’ve noted that my wife and two kids and I have moved to a new house after living in a condo for 4 years.  It’s still a bit surreal, but so it goes.  The house is older than I am, so it has its share of quirks.

The washer and dryer hookups are in the lower level bathroom.  That in itself makes some sense, since you’d not want the washer to overflow in a carpeted area or on an upper level that might drain to lower rooms.  Still, there are two elements of the setup that are clearly Bad Design.

One, the approach to the room is very narrow.  The brave souls that installed our new washer and dryer almost couldn’t get the machines in, and only barely escaped personal injury.  I have no idea what we’ll do if the darn things need service.

Two, the vent to the outside that the dryer needs is set up on the left side of the niche, but the slot for the dryer is on the right.  The washer hookups are immediately next to the vent.  This means the dryer vent hose has to reach at least twice as long as it has to (meaning failure is easier), and has to fight for space with the washer hoses.  I’m hard pressed to see why they set the thing up that way, as it’s just asking for trouble.  This isn’t rocket science.  They even had a 50/50 chance of getting it right if they designed the hookups via coin flips.  You have to TRY to be that incompetent.

The last thing that has bothered me of late is the phone line setup.  It’s a bit excusable, since it is an older building, but still, it’s annoying.  The best rooms for the computer (the main entertainment/living room and the playroom) don’t have a phone jack.  All of the bedrooms have one, and the food storage cellar has one, but not the places where I’d actually put the computer.  Sure, the jack in the kitchen makes sense if you’re just using a phone land line, but how often do all of the kids need phones in their rooms but the main room where people spend their time at home not need one?  Oh, but we do have a satellite dish with hookups piped into that room.  Small compensation for a family that has absolutely no use for satellite TV.  (Free network TV is mostly atrocious; I’m not paying for edgier, darker, smuttier garbage.  Anyone want my dish?  I’m not going to use it for internet or phone access; we’re in a nice area for landlines and DSL, and I like the consistency and cheaper price.)

So, some Bad Design decisions we inherit from past decisions.  Some are the simple lack of foresight.  Some are merely incompetence.  Some are malicious.  The key in my mind is that any that could have been avoided should have been.  It wouldn’t have taken much thought at one point in the process.

Perhaps most importantly, it makes me question myself.  What design decisions am I making that are idiotic?  Why do I do what I do?  Am I thinking when I do my work, or just going through the motions?  Do I care?

I’m always designing, always thinking of ways to better the things I use every day.  Always thinking of ways to do what I want to do with stories, games or whatever else I’m in the mood to create.  I’m always asking:  Does this work?  Does this make sense?  Will this do what I want it to?  Will this work for the end user?

Because yes, I do care.


Read Full Post »