Version Fatigue
An anonymous reader writes "An article in TechCentralStation introduces a useful new term: "version fatigue," which describes what happens when you get tired of learning new ways to do the same old thing with each release of software. This is something that tech designers seem insensitive to, but that drives users crazy. Maybe it's because tech designers are more anxious to be creative than to produce things that users like?"
It seems that the UI of most Unix software (the shell, Emacs, even X) has changed much less over the last 20 years than DOS/Windows, and is still changing more slowly now. Is this an explanation for why Unix users typically learn more of the intricate features of their software? Or does the causation run the other way round - because all the obscure Emacs keybindings are so well known by its users (and developers), they can't be changed?
-- Ed Avis ed@membled.com
Except for Open Source Software, versions don't get upgraded so often. But since hardly anyone (1%) are using OSS, it doesn't really make a difference now, does it?
hahaha. *sigh*
Meanwhile, I'm still looking for hardware to load Debian 2.2 onto.
I have been pwned because my
look at what MS has done over the past 5 years with database access libraries.
We have had ODBC, Jet (various versions), SqlLib, RDO (various versions), ADO (many many versions). ODBCDirect, and now ADO.NET.
All do the same thing...Open the database, Get The data, close the database, and move on.
It is ridiculous.
I'm still working on a clever footer.
Nothing makes me happier than a slashdot front page that is pure italics. It looks great in Linux, because there's none of that nasty blurry anti-aliasing to get in the way!
Seriously, though, this article is a load of hooey. "Fatigue?" Please. It is an inconvenience at most. Is anyone complaining because their new Toyota doesn't have to be cranked before driving? Yes, interfaces and feature sets change over time. If you don't want the change, don't upgrade.
UI designers are by and large working for you, not against you. They're the ones who gave us context menus, tabbed browsing, keyboard accelerators, and every other Good Thing (tm) to come out of Redmond. This whining will get you nowhere.
Karma: Good (despite my invention of the Karma: sig)
I think that this is a case where version fatigue simply introduces a slower and more annoying way of doing the same thing the same way.
This isn't a very useful new term - it's not even a new idea. Fact is that there is a central paradox in the world of commercial software - truly successful stuff doesn't sell. Or rather, it sells once, fixes all the user's problems, and you can't sell him anything else.
Without trying to be too cynical, this is a very obvious reason for the re-release of old apps with very minor changes to the previous version. How many NEW features of your latest word processor/IDE (delete as appropriate) do you really use? Chances are very few.
The re-release cycle is a real problem for consumer oriented companies. In a technical/business backend server market (like telecomms or banking) the problem is even worse - shift an app, which will run for ten years trouble free and provide full functionality, once and you may have destroyed your job! Who needs you once that ships?
Nah. Market forces dictate that broken or incomplete software will be much more dominant in the commercial marketplace.
Maybe it's because tech designers are more anxious to be creative than to produce things that users like?"
No, every user wants something else in the new release, and whatever subset of wishes you choose to implement, the other users are going to be disappointed.
Be wary of any facts that confirm your opinion.
Designers always are under the impression that "bleeding edge" is the most enticing way to go, and assume that is what the consumer desires. Usually, however this is not the case, people want a stable, easy to use interface.
It's time we let this little tidbit be known. Quit fixing things that aren't broken!
I am the evil aardvark!
Adobe is aweful for this. I dread every photoshop release, I just no they're going to do something complicated and pointless to the interface.
The problem is, interface design is still an art and not a science. What little research that has gone into interfaces has gone completely unnoticed by the industry at large. I suppose there isn't vocal demand for improvement, so it won't happen.
In Capitalist America, bank robs you!
Working extensively with a designer/creative director/art director/etc. has definitely shown me that "version fatigue" is worth paying attention to. Particularly with applications like Adobe Photoshop. I try to stay on top of the new versions and the new features provided by said versions, but whenever I try to get a designer to upgrade, the resistance is magnificent. Changed command keys, different menu hierarchies, basically, different ways to do common things. I have a designer still using Photoshop 5.5 because its the last version she doesn't mind the interface for. Same goes for Illustrator - the "features" added between 8 and 9 (not to mention 10) kept this designer on 8 for over a year after 9 was released.
... but maybe I'm wrong? I dunno.
What I've learned is that when your work (and productivity) depends on a particular flow and interaction with your applications, even the smallest changes can significantly impact that and result in a very sour attitude towards new releases of software.
Now, what's the solution? I keep saying that there's no way for Adobe to add new features w/o incrementally changing the way you interact with the application
On the one hand, the article claims that people don't need to spend a lot of time learning things, because they're so intuitive. And that often people don't do more than scratch the surface. On the other, it bemoans changes in the operation of new revisions of software.
I can't think of any good examples of commodity software whose surface, elementary functions have changed in any massive way across revisions. The cosmetic look-and-feel changes, certainly -- but you can *still* click on that "B" button to get your text bolded, etc.
Besides, if users aren't spending the time in getting to learn the more esoteric functions, doesn't it make some sense to try to reimplement those functions in a fashion that renders their use more intuitive? Even if it's at the expense of the (apparently few) people who have spent the time learning how to use them?
I understand the frustration -- but, well, you can always *not upgrade* if what you have works for you.
I sometimes wonder what goes through the mind of the developers when they change a perfectly good working peice of software, and make it one that is harder to use.
Xaotik Designs
...why good operating systems have strong user interface guidelines. Apple is a notable example, its what makes them so easy to use. every joe blow windows programmer thinks he can revolutionize the UI, which makes running windows so god damn frustrating.
I want 2D games back.
Don't underestimate the effect of trying to make users feel like the 130 dollars they paid for the upgrade was well spent -- by completely reorganizing menus and features they certainly make you feel like you got something new.
:-)
At one point in my career I had three different versions of Word on three different machines. It was hilarious dealing with the different versions and how many differences there were, only to find out that, feature wise, they were almost identical.
I really hope the OpenOffice guys have a modicum of self control on this issue now that I've switched over to that office suite
I know much of the time any changes in GUI design is driven by either complaints or changes in tools available. New GUI widgets are being developed at a phenominal rate. To the developer it's almost irresistable to not use somthing that seems to simplify a task.
On the other hand, between my wife and my mom I've had plenty of experience with the frustation users feel at radical changes. For instance the new option in MS Office Apps that default hides infrequently used Menu options and toolbar icons. It took me almost an hour to tell my mom over the phone how to get her right-justify button back.
There is hope though, if Adobe keeps patenting obvious GUI interface concepts we'll all be back to command line programs and the point will be moot.
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
> This is something that tech designers seem insensitive to, but that drives users crazy.
...
This doesn't sound like the techies I know. I've worked in the computer biz for three decades, and as long as I can remember, there has been a standard excuse for not upgrading to the latest release: "I've learned to use the old one. It's working fine for me. I've got work to do, and I don't want to waste time learning to use the latest version. Maybe when I find I need some of the new features, I'll consider upgrading."
This has always been a fact of life in the "tech" sector, to the frustration of the Customer Support people who are always dealing with people who are 30 revs behind. You don't hear about it much because techies don't make a fuss over it. We just quietly listen to the hype for the latest versions, and we ignore it, unless we hear something that we think will be useful enough to justify the time lost in an upgrade.
There are some linux systems that have been running continuously for around a decade now, without any upgrades at all
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
I don't believe that's the types of changes they're talking about.
Apache fixing bugs is a good thing.. but what if they changed random config file options between releases for no apparent reason? You wouldn't be able to move config files between releases as easily.
Except we're not talking about bug fixes in a daemon; we're talking about learning a new user interface and way of working with every release of the software.
The reason we're seeing the version fatigue is that user interfaces haven't developed enough standards that new features can be added in non-bewildering ways. It's just like the early days of the automobile - as new electrical components were grafted onto them, the interfaces to them were complex and varied by auto maker. But by now there are pretty much standard ways to operate the radio, the headlights, the turn signals, etc.
User interface version fatigue is a sign that software user interface design is an immature field.
Your right to not believe: Americans United for Separation of Church and
On the other hand, I still know of people who would still be on Windows 3.1 and word 5.0 if they were not forced to "upgrade" for one reason or another.
heck, even look at webpages. With the new privacy statement implemetations in IE 6.0 people coding in basic HTML will tend to be locked out because the browser will generate an ominous error message about a lack of a privacy policy. The Current implementations of P3P are a legal minefield, so much so that at least one person has advocated dis-avowing p3p altogether, just for your corporate safety.
Version fatigue comes in when the new bells and whistles do not obviously justify the changes needed in work habits, and do not expand the core functionality in a useful and meaningful way.
there are only so many ways to re-invent the wheel.
Microsoft, for example, has got itself on a treadmill, because it has to come out with a new version, regardless of worth, every several years. This has irritated me so much that I hope they trip on the treadmill, fall, and do serious damage to themselves.
"It is a greater offense to steal men's labor, than their clothes"
I see Apache 2.0 as an achievement in this regard. When I was researching the new 2.0 branch I was expecting a new mind-bending config that'll destroy most of the work I had done over the years in standardizing my Apache builds; not so.
I can't say the same for every other software package out there, including almost every new major release of RedHat.
Luck favors the prepared, darling.
*** Rant On ***
As a programmer I can speak to the software end of this conundrum involving "version fatigue." In the companies I've worked for, the programmers are the lifeblood of the enterprise, but often treated as little more than throwaways (albeit usually relatively well-paid). And, software projects/products rarely have a clear definition - so their development is a moving target. So programmers cannot define what they should build - because they lack any control (other than to drive from the backseat) - and no one else can definitively tell them.
What does this have to do with versions you say? Well, for software that actually gets out the door (the minority of projects to be honest), it's almost never *right*; in addition, it has a bevy of unnecessary features, which made it in due to an unclear vision of what the result should be. Therefore another version is needed to "get it right", of course the unclear vision remains so some improvement is made, maybe features are cut (a rarity), and some new unnecessary features are added, and others changed (but not for the better and sometimes for the worse).
A good book on this topic is Alan Cooper's "The Inmates are Running the Asylum" Amazon. It focuses on User Interface Design, which at the end of the day really means developing the disciplines and indentifying the user(s) to actually define what should be done before it's done!
*** Rant Off ***
Ignore the users and you'll have software without users.
Obviously, you can't just let the users submit a list of things they want and then build that software, however good software should always take its users into account. I mean, you are building the software for users. I am no professional UI designer, but I can tell you that a good UI designer will take a look at how a tool is currently being used and try to find ways to make that tool more effient. I hate to go down the analogy road, but what if the auto industry ignored their users? You might have cars that people couldn't fit into.
In the end, users are king b/c they either pay for your software or they help make it better (as in the OSS world).
Especially when you are doing a software engineering project for clientele that you don't even know. In trying to establish a UI or base set of commands that seem the most user-friendly, the project designers are going out on a limb and using their own predispositions towards what they consider "easy".
Revisions and subsequent "version fatigue" results when they find out that, no, their intuitions were wrong, the users hate it/can't catch on easily enough, etc. The fact that it is even considered "fatigue" is that the concept of TIMTOWTDI is only applicable to the coder, not the user. They are stuck with what is sold to them, but in a move of consideration and a hope that the software can be more friendly, there is a revision. Different, must be relearned, but hopefully easier to use than the current product.
The biggest issue with this is that beta-testing is not done incremental, but comprehensively, in so many cases. The final result is that the overall amount of bugs that can be reported tend to dwarf "ease of use" issues, which are left to later revisions and version patches. Sad, but overwhelmingly the status quo.
Never attribute to Hanlon that which can be adequately attributed to Heinlein.
I don't know who this AC is, but my friends and I are very much aware of the consequences of constantly changing the way you do things.
Our focus was on development, specifically why MS developers seem to have arrested development at about the level of 2 years of real experience. This isn't a slam against them - this was so widespread that we knew it had to be environmental.
We eventually figured out that the problem was Microsoft's constant reinvention of the wheel. We focused on the GUI, and compared the fact that we had been using the same libraries for a decade (Xlib for low-level routines, Motif for lists, menus, etc.), while in the same time MS Windows had released something like 4 separate, and incompatible, graphics libraries.
This mean that while we were able to build on our prior experience - and more importantly build on other organization's experiences as we brought in new employees with fresh ideas - the MS shops were constantly struggling to "stay in place" and there was essentially no institutional memory.
To be honest, I think much of the problems with MS Windows applications can be traced to this. After 10+ years of Unix experience, most people have been bitten by a fair number of "it could never happen" errors, and they instinctively take care to avoid a repeat. A MS Windows developer has probably seen as many errors, but how do you map the solution for a library three generations ago to the current one?
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
No Software Engineers are not the new artists, they just like to think they are.
I used to work with someone who continually referred to programming as "art" and not "science".
THAT is exactly what the problem with software is. Along with the fact that these "artists" feel the need to continually be creating and recreating programs that users (at least the rational ones anyway) just want to work.
Definition for Legacy system - A system that works.
"I can't give you a brain, so I'll give you a diploma" - The Great Oz (blatently stolen sig)
Ever project I've been on that ignored the users ended up crashing and burning and eating up a lot of cash and time. In many cases a programmer doesn't know what a user needs because they have different experiences. I've seen year-plus-long projects go under because users simply refused to use a new system that was forced on them.
Of course its NOT easy to figure out what users want, and it requires some savvy to figure it out and get sign-off. That's part of the programming lifestyle.
I can sympathize with version fatigue, though. I'm tired of companies (read M$) deciding how I think.
"The Sage treasures Unity and measures all things by it" - Lao Tzu
that the title of this story was verizon fatigue... and I had a glimmer of hope that there was a professional diagnosis for being driven insane by their "can you hear me now? good..." adds.
dmarien
Rant mode: On.
This is pure intellectual laziness. What is wrong with being in a "learning mode?" We do it our entire lives! Why should someone want to actually stop learning?
I've noticed a very disturbing trend lately. It could just be my perceptions, but it still gives me cause for concern. Many people (both general consumers and professionals in business) don't want to bother learning anything. They want to tackle complex tasks that could never be done before, but insist on not having to learn the tools to do it. I see it here at work with people who insist on holding on desperately to suboptimal programming tools when others would tackle the job more effectively. I even see it in my own family: I once got a call from my mother, while she was on vacation, asking how to access the voicemail for her cell phone. She called me at work, in the middle of the day, simply because she had never bothered reading the instructions from her service provider! (I taught her the meaning of RTFM that day.)
I understand that many products can be difficult to use, especially software. It takes effort to learn these products, and effort to use them. However, very often we barely have the technology working. How can you expect it to be easy to use as well? Automobiles, television sets, and radios are all products that many now consider fairly easy to use. Now ask the question: How long did it take for them to get to be so simple? Some of these products have been continually developed and refined for over a century. Now consider how long VCRs, camcorders, and software products have been around. By comparison, these are all fresh out of the R&D lab!
People need to realize that complex tasks can't generally be simplified overnight. It takes time to find the solution to the problems at hand, and even more time to refine the solution such that it is both effective and efficient (i.e. it requires a minimum of effort to use.) All of the complaining does nothing but add to the noise.
Rant mode: Off.
Thanks for reading.-kjz
First, I think the article is spot-on. Gods, I'm tired of adapting to so-called upgrades. I rarely upgrade things unless there's a reason, but there are times you're left with no choice (say, a company-wide decision).
The other side of this thats ignored is the programmers. A lot of us are NOT trying to ram out Spectacleware, we'd like to talk to the users, like to go "slow and steady" and don't get the options. We don't often get the chance to make that decision, however, because someone wants something out the door pronto.
Version fatigue? I'd say its being suffered on both sides because the people making the decisions don't care about users or programmers.
"The Sage treasures Unity and measures all things by it" - Lao Tzu
One of the main reasons this happens is as a result of focus group testing and other usability testing on the current version.
If you take the current version of most software and do some usability testing with new users, you'll probably find that there are things that could be done better.
But when you make those changes, to please the new users, you're messing with the users who already know how the thing works.
Microsoft Visual C++ is a perfect example. With each new version they move things around - but they have "compatibility" modes for people who liked the old way. Even with the newest Visual Studio.NET you can still pick the old VC 2.x keyboard layout and use it.
That's a pretty good solution, as long as your app is customizable enough that you can use the customization to emulate the previous version...
The only real problem with this solution is that it makes it so nobody else can use your customized version. If I go over to my co-workers desk to try to fix a bug, I can never remember what hotkey to hit to get it to compile..
(Maybe the solution to this particular problem is to make it easy to set a "guest" profile that temporarily overrides the current profile).
Windows is a huge victim of this problem too - the whole redesigned Start menu in XP annoys most existing users, but new users (users new to computers, what few there are - I helped a friend "get online" and got to watch this) seem to like it..
- Steve
Remond? Aren't they the same people who gave us multi-row tabs, despite much of the UI design community calling them stupid for doing so? Ditto for talking paper clips, and zillions of tiny toolbar buttons with indistinguishable icons, and window-in-window MDI? This isn't the same Redmond that basically ignored these criticisms for years and perpetuated these ill-conceived designs.
You're probably talking about a different Redmond. I've often heard of Cupertino described as the Redmond of California. Maybe that's it.
Ergonomica Auctorita Illico!
At least it doesn't have to sell itself on the point that dumber people can run it :-)
Now are YOU going to be a cry baby or are you just going to shut up and drive the car?
Don't like the way we moved the steering wheel around from last year's model? Don't buy the new model.
That's whay your argument sounds like if you get your nose off the screen and take a breath.
Now, do you still think it makes sense?
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
If you don't want the change, don't upgrade.
That's a nice bit of advice.... if you aren't subjected to mandatum from higher-ups who decide unilaterally to upgrade.
Complaining because of the new Toyota? Try finding your mid-size automatic company car replaced by a SUV with a stick because the boss likes the shiny chrome bumpers.
Mod Karma -1: I sed bad wurds. If I cep my mouf shut, I wud be at riyses.
Corel made a completely new interface with each version, which is why their product died out.
Your quite correct, I am developing something at the moment and experiencing all of the above (fortunately I'm used to it).
What users *say* they want is not always what they *actually* want.
I would say it's good to listen to them if they want to point out a problem (something they find confusing or dislike) and try and do something about it but *never* simply listen to their advice on *how* to solve a UI issue!
If your good at software design, you should know more about it than they do and you should be able to come up with solutions they'd never have thought of. Generally they like to make statements without considering other factors or at least allowing the fact that their might be other factors.
Oh, and adaptive menus that constantly change on a user, adding confusion and blowing away the motor muscle memory that has been acquired for each of the menu items. This is one of the stupidest things ever done in an interface and has been very severely criticized by the UI design community.
I should have remembered to add this "feature" to the original post. My bad.
Ergonomica Auctorita Illico!
In fact, as a 'tech' person, I switch versions and machines more often then your average Joe.
.emacs file, and have gotten quite adept at fiddling with window manager parameters in short order to get focus-follows-mouse, and that's about all the config I care to do. It'll just get blown away tommorow, why bother?
My Linux friends are often amazed at how uncool my Linux desktops are, or my emacs config files are, or a whole slew of other things. The reason for that is that I am f'in sick of having to completely reconfigure the system every time I upgrade, or hop machines (which is almost always an upgrade or a downgrade; otherwise I could at least carry my config), or change software packages.
I switched which machine was doing my email processing last week, and I just wanted to copy the config across from one to the other. No dice; one ran exim3, the other ran exim4, which has a whole new, completely incompatible config file. The conversion script was wholly unhelpful for my config, so I had to do it by hand.
If versions weren't changing so often, or if it were easier in general to carry configurations around even across versions (an impossible task in general), I'd be much more likely to actually configure things. As it is, I carry around a *small*
Granted, I'm more violent to my systems then your average user, even more then your average Linux user, but it's still exasperating.
People, it's not a mark of manliness that your program requires text file twiddling to configure. Give me an easy, easy, easy method of at least setting the the basic parameters. Like Mozilla: The basic parameters are in the config box, but there's a lot of obscure ones you need to hit the prefs.js directly. That's fine with me.
And don't even get me started on re-re-re-re-re-re-learning keyboard shortcuts.
They also pushed the new version by sacrificing backward compatibility.
& lr=&ie=UTF8& oe=UTF8&selm=tTSK7.1339%24rY1.143064%40dfiatx1-snr 1.gtei.net&rnum=2s ?q=openrecordset+da o+ado&hl=en&lr=&ie=UTF8&oe=UTF8&selm=3b993cc9.3218 4196%40news.charter.net&rnum=6
.Net has completely changed the language, effectively killing Visual Basic.i sual+basic+.ne t+killed&hl=en&lr=&ie=UTF8&oe=UTF8&selm=3a50cbe9.7 644234%40news.clara.net&rnum=6
Every Access version prior to 2000 used DAO (Data Access Objects). In the Visual Basic Library References, DAO was checked.
In Access 2000, they pushed ADO (Active Data Objects), which many have said is more complex and slower. They removed the Library Reference to DAO and sneaked in the Reference to ADO! To make matters worse they duplicated the variable type "recordset" in ADO and DAO, which renders useless almost all Visual Basic Code that worked with a table.
If you used the phrase "Dim x as recordset", you had to do one of the following:
- Uncheck ADO and Check DAO (Forcing it to use the older version)
- OR Check Both ADO and DAO, then search all code and replace every "Recordset" with "DAO.Recordset"
- OR Leave ADO Checked and DAO Unchecked, then search all code and rewrite every line that opened a table.
It's already bad enough that Access Databases start misbehaving when it's shared by too many people or live tables exceed 80,000 records, or the database exceeds 1.9 Gigabytes. At this point you're already thinking about scaling up to SQL server, Oracle, or my SQL.
In addition to that, more and more features are added while the "little Jet engine that could" becomes more and more critical to the operations of an organization.
Does Microsoft think that Access programmers have nothing better to do than get interrupted by every department that has upgraded to Access 2k? How hard would it have been to tell the upgrade wizard to automatically link to the DAO Library and automatically replace every "recordset" with "DAO.Recordset". You might think that it means more money for a consultant but all it does is accelerate the time to burnout. They're getting harder to find every day.
See:
http://groups.google.com/groups?hl=en
http://groups.google.com/group
I've also heard that Microsoft's Visual Basic strategy towards
See:
http://groups.google.com/groups?q=v
It's no wonder that companies are switching to open source. Anyone's patience will wear thin after having to jump every time that Microsoft tells them to.
Software "leasing" is a lot more common
in the industry than you realize.
Most commercial UNIXes as well as other "enterprise" level software (databases, specialized APIs, runtime licenses, etc.) that does not need to be upgraded every 3 months is usually under "maintenance" for 100K+/year.
This is a pain to deal with sometimes (esp. with node-locked licenses) but the big companies manage to handle it transparently. I hope the idea never hits it big on the consumer market.
(XP is a disturbing path towards that trend).
It's much worse than that.
It's more like the developers are saying"we thought that the gas pedal would look so much cooler on the left, but then we had nowhere to put the brake so we just stuck it on the right. Please try not to get into any situations where you have to suddently avoid hitting children until you unlearn your 15 years of trained reflexes."
Ergonomica Auctorita Illico!
I, for one, agree. The longer people keep the same system and the same software, the better they learn it.
I don't buy this stuff about how unix is hard and other stuff is easy... I remember LOTS of yuppie boomers who learned old wordperfect just fine.. and that's certainly not wysiwig. Obscure keypresses, hidden markup codes, they understood it all.. and some were really good at it.
The problem is when things change rapidly. Totally.
Emacs keybindings aren't changed because there is no reason to change them. Nobody wants to re-write all that lisp.
But none of these keybindingds (I'm referring more to the shell here) or things that have changed have been very fundamental. Adding color to the shell, or extra keybindings, or re-mapping the backspace key are overly large changes to a system.
Nobody is saying a system can't evolve and change... but it's when a new version of something comes out every year and LOTS OF STUFF is just moved around or different that people get really upset. When the old things they want to do just no longer work.
software developers, people who only ever use vi or Emacs should shut up when the discussion comes 'round to GUI design principles or software usability.
They have no [expletive deleted] idea what the problems are because THEIR software has been stable for decades.
Using "make" or a shell does NOT make a coder into a user. It does not provide the programmer with any perspective into "user-land."
That's why most Linux GUI stuff sucks, can't copy/paste across applications, doesn't follow guidelines and is so ideosyncratic you just want to strangle the coder.
Being a domain expert is fine if you're working in that domain. But coders are supposed to be experts working in their OWN domain: CODING.
I wouldn't want to look at or use code produced by a domain expert (it'll be correct but it'll probably be buggy, unstructured, unmaintainable perform like a resource pig.)
By the same token, I wouldn't trust code that has been produced by a software God but has not been verified for correctness by a domain expert (it may be sweet and run like blazes but I can't trust that it actually solves the problem its supposed to.)
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
UI designer will take a look at how a tool is currently being used and try to find ways to make that tool more effient.
A good UI designer will do this, but a really great UI designer will be involved in the initial stages of design, doing a task analysis and coming up with the basic program interaction before any code is ever written or any features decided upon. UI designers can make a program so much more usable, but often they are brought in well into the late stages of design. By that point so much of the product has been designed and decided upon by programmers and so much code has been written that there's really not much a good UI designer can do make the product usable without a major rewrite.
Ergonomica Auctorita Illico!
Limewire! Not my favorite Gnutella client but certainly one of the easiest to use. (ironically I don't like it because it isn't as "powerful" as other clients)
The cool thing about Limewire is that even though the technology behind it has grown and they have been working hard behind the scenes - the software is virtually the same since I first used it.
KISS, Knights In... I mean keep it simple silly.
Of course though there are users out there like me who want to be able to play with all those cool options.
Fuck this "version fatigue". There should be a least two applications for each task - there can be a niche market for those apps that don't change and there should be that market for people that can read at the PC!*
* I've noticed lately that perfectly literate people can't read when they sit in front of a PC. Tell them to click "Ok" and suddenly they can't read, is this where 'computer literate' comes from?
Get your Unix fortune now!
That's the best peice of software design advice I've ever received. It came up during a discussion of windows 95, back when that was new, when we noticed that you can still click on the upper left corner of a windows app and get the window menu, or double-click there and close a window, just like you've been able to since windows 3. Really - try it!
Unfortunately, that's about the only prominent example of MS following that advice. After years of working on windows NT 4, for instance, I finally convinced myself to leap to win2k because the amount of supported hardware was just so much better. And I had NO idea how to administrate my machine! Just trying to partition my drives was a huge hassle; I used to be able to open up the disk management node in the control panel and now... well, I found it; it's in "administrative tools -> computer management."
Which is fine, but it was somewhere else for so LONG. Would it REALLY have hurt to leave a link to that program from its old place? And the sad thing is, MS isn't really the worst offender. I'm thoroughly confused every time I get a new version of KDE; in some ways, I'd be just peachy on using KDE 1 just because I remember how to configure it so well (and I would, except that the mail client sucks prior to version 2.2).
In all, I think there needs to be a good deal more attention paid to interface design before the FIRST release. Because, for better or worse, the first interface you give someone is the one they're going to expect from your product. If it sucks, you're just going to be pressured to maintain a sucky interface, or frustrate your customers when you discard what they're familiar with.
The reason why interfaces keep changing is so that software publishers can sell the same software twice. Users won't "upgrade" to a new version if it doesn't look any different than the old version.
Free software though doesn't need to sell itself. Free software is made to solve a problem, not make money. Big difference. Changing an interface between versions only makes a problem worse, since it's harder for the user to use the software. Instead free software is changed each version to help better solve the problem it was designed for. Just another reason to trust Free and OSS more.
Outdoor digital photography, mostly in New Engl
...this "version fatigue". I hope it gets as widely adopted as "vaporware" did. Version fatigue is an excellent way to describe that part of so many new releases of older products that are nothing more than moving the chrome around on the sheet metal, and have nothing to do with the underlying chassis and powertrain.
Sometimes one pithy identification of a problem is enough to cause radical changes for the better. Version fatigue might be a very powerful addition to the lexicon.
As soon as I read this story I immediately thought "Photoshop". With every version (the exception perhaps being 7, which I am really liking) they change around the key commands for things that have always existed, especially the pencil and paintcan. They also love to move stuff around in their menus, and change the key shortcuts for those, too. I don't think it even has to do with complex new features -- just some kind of randomized user study where they decide that it really makes more sense for the pencil to be 'b' instead of 'y', or for crop to be under 'image' instead of 'edit'.
I'm ok with changing the basic interaction with the software (type tool, choosing brushes, etc.) if they want to introduce new features, but changing the key commands for tools and operations that have already been there is totally insane!!
If you change your design around so much, you might not have done a good design in the first place. So, you met the deadline, but the design was inadequate. What do you do? You rush for the next deadline, trying to redesign the interface a bit as you go, making it smoother.
Iterate sufficient times, and what you get is version fatigue.
If you had spent enough time in the design phase, possibly with some prototyping, you might have escaped a bit of all these changes.
That said, if you look at Microsoft Word, I would argue that the version fatigue is not that great. Type at the keyboard, change the fonts with the dropdowns, and hit the printer icon. The floppy icon for saving. The looks are slightly changed, but almost everything is done in the same way as before (which is why I'm relatively happy with Word97). Gimme a good reason to get Word XP! If you can, I bet I wouldn't get version fatigue, since the fundamental functionality is relatively stable.
Changing the interface when the interface is flawed is an unpopular but necessary task. Changing the interface for the sake of changing the interface is a PR nightmare.
Stop the brainwash
I have never had this problem with moving from one Macromedia product to another. The nice thing about Macormeida is that all of their software allows you to customize keyboard shortcuts. Not only that, but the new version always includes the keyboard map for the old version.
They have also been very good about keeping their menu structure generally the same. Some things might colapse into a submenu, but they are still under the same main menu as they were before.
The world moves for love. It kneels before it in awe.
Perhaps software engineers should read a good book about ui design before they leave college. Software for Use by Constantine comes to mind.
managers...why god invented purgatory
Everybody knew ^S^D^E^X left/right/up/down and the ^K file commands. It flowed as naturally to the fingers as vi commands do today :-)
I cannot imagine what possessed them to change all the keybindings - but it killed the product stone dead.
Cheers, Andy! [ showing his age ]
Andy Rabagliati
Maybe it's because tech designers are more anxious to be creative than to produce things that users like?"
Yeah, right. Users are just plain exhausted by all the new functionality they get. The criticism, certainly not entirely unfounded, that arbitrary and capricious changes make life difficult, will never cost any company anywhere a sale. Never. The only customers aggrieved are already their customer, and if the customer is disinclined toward change or learning new ways to do things, would NEVER BE INCLINED TO ADOPT AN ENTIRELY NEW AND DIFFERENT product by a competitor.
On the other hand, avoiding changes to the status quo and avoiding inclusion of new and modern features (many of which include adopting new GUI standards imposed by OS manufacturers) will eventually assure the demise of a product, as the product gets branded old and obsolete, and gradually the competitors overwhelm us with competitive upgrades and the like -- soon, we are the stranger to the next generation of sedentary users. Yes, of course, we will retain a handful of those who like things "as they were," and they will be the last to leave us. However, they weren't going to buy the new upgrade anyway.
In short, OF COURSE, we shouldn't make stupid and arbitrary changes -- but tech designers who make sound, decent and forward-moving changes will ALWAYS be closer to the heart of the consuming public, even though a few old farts will grump from time to time (until they learn the new stuff).
Version exhaustion? Nothing a good cup of coffee and a manual couldn't cure.
Why can't a button be just a button, and why do skins seem to automatically mean bitmaps pasted over buttons?
-jhp
/. -- the Free Republic of technology.
OTOH, why do they reinvent the wheel? Two good reasons: (well, good being a judgement!)
You can't exactly set this problem solidly on the engineers shoulders. Management, investors, PHBs, and customers have driven things as much as engineering efforts have.
-- Mal: "Well they tell you: never hit a man with a closed fist. But it is, on occasion, hilarious."
Damn it. Once a program is published, the user's interaction with it shouldn't change unless it's for a very good reason.
Programs should be designed extremely well before any coding takes place. What's the program's purpose? How will the user interact with this program? Those are probably the first two questions that should be asked in the design process. Anything that doesn't fulfill one of those two functions doesn't belong in the program, period.
Once the program is published and folks begin using it, the user interface should remain consistent through every revision, and should only change for a very good reason. For example, if a feature so important that 99% of the users will jump on it upon release, that's a valid excuse for making a small change to the user interface. However, unless such a high percentage of the users need the change as bad as I need a bottle of Negra Modelo, the user interface (including placement of items in menus, images on icons, accelerator keys and whatnot) should not change, because it only annoys the user and creates trouble.
For example, I visited a Lenscrafters store yesterday to have some new glasses made. I remember their old text-based computer system. It wasn't pretty, but damn it, those folks could enter your information in minutes and you'd be out of there. Instead, now they have a system based on Windows 2000. There are all kinds of fancy graphics, but because the interface is so different, nobody knew how to operate the damn thing. A huge crowd built up, waiting for receipts or for credit card purchases to go through or something. I was there from 12:00 to 2:00, just because there were so many people ahead of me, and all the employees were trying to figure out this stupid new system. In other words, before, a new employee would learn which buttons to push and it just worked. Now, it's all supposedly self explanatory and looks pretty, but they have to click through a zillion menus to put a simple item on your receipt. If it ain't broke, don't fix it.
Another example... My company used to ship a lot of stuff through Delta Dash. I remember how it used to take them a minute or two to serve each customer at their little reception area. Their computers had boring text-based interfaces. The lines moved quickly, people got their cargo shipped, and everybody was happy. Then, one day, the employees showed up to work, and lo and behold, there was a new computer system, based on some form of Windows. Suddenly, there were a bunch of pretty icons to click on, everything was moved around, and nobody received any instruction (probably because someone convinced management that Windows is so good, nobody needs instruction). So I had to wait at least an hour for them to serve about 5 people ahead of me. The guy started getting the hang of it when he served me. Since I do pay attention to things, though, I noticed that he continuously has to move his hands between the keyboard and the mouse, whereas before, there were keys on the keyboard for each operation, and it went smoothly. In the past, a new employee would learn which buttons did what, and it worked. Now, they have to click through a zillion pretty dialog boxes. If it ain't broke, don't fix it.
Honestly, if you get a new antenna for your television set, you don't expect your volume dial to relocate, or to turn into buttons or something. Why shouldn't this be true of software? My way of looking at it is this: If you have to move crap around with each new revision, you didn't design the damn thing properly in the first place, and you probably shouldn't be making interactive programs.
Oooooooooh well.
Either, there's a hell of a lot of windows uses looking at Linux.
or
There's a hell of a lot of Linux uses searching from a windows box because there boxen has bwoken.
Likely both.
Some GNU/Linux users keep an old Windows box aroudn for playing games, surfing IE only websites, or running MS Office. Such people will likely use that machine to look up GNU/Linux answers if they mess their GNU/Linux box's configuration or installation up.
People converting to GNU/Linux will likely use their old Windows box to bring up on-line docs and answers to questions while they install.
And, of course, people running Windows but trying to get out from under Microsoft's Yoke will also be doing their surfing from their existing Windows box.
Based on the circle of people I know (in other words, anectdotal evidence with some humanitarian but no scientific interest), I'd say its probably 1/3 GNU/Linux users, 2/3 Windows users looking for something better. YMMV of course.
The Future of Human Evolution: Autonomy
Dude, how would adwords determine the popularity of an OS? If you look at the page he linked to, it says that one percent of the OS users accessing google are running Linux.
In fact, all you proved is more people search for Linux information, which would be more indicitive of users needing help with Linux than what you seem to be trying to prove.
Robots are everywhere, and they eat old people's medicine for fuel.
Upgrade-itis is the continual sick feeling that the money (or time, since time = money) you're spending on software upgrades is not worth the very small degree of enhancement provided in the upgrade, but you have to upgrade anyway because either 1) everyone else is, 2) you're addicted to upgrading (obsessive-compulsive disorder possible here), or 3) the upgrade contains a fix for a bug that drives you crazy (of course, the new version will contain new bugs of its own).
Steve Magruder, Metro Foodist
I'm not trying to prove anything. I said "I'll let the numbers speak for themselves".
I've had enough abrasive sigs. Kittens are cute and fuzzy.
What is the optimum design for a word processor? Does anyone know? Does being the god of all programmers mean you'll have special insight into how a program should work from a user's point of view? Actually being computer literate, let alone a computer god, puts you at an extreme disadvantage when it comes to DESIGNING a program that idiots are going to be using. You might be able to implement a particular design extremely well, but that doesn't mean you'll have any idea what the design should be in the first place. This is why there are so many bad programs out there, coders aren't users. It is also why these programs change so much without ever converging on the optimum interface or design, the people writing them don't know how to do anything but write the code.
If you want to create an outstanding application what you need to do is find people who work in the field that your application is supposed to be used in and ask THEM to design it for you. The less they know about computers the better. The imaginations of people who know nothing about computers are not stunted by an understanding of what is and is not possible. Because of this they'll suggest features and approaches that are much more likely to stretch the ability of a coder to implement them than anything that coder would come up with on his own. I can guarantee you that grammar checkers weren't the idea of anyone who wrote code for a living. They were the idea of someone who wrote type for a living.
These are the reasons why companies like Microsoft employ cognitive psychologists and make heavy use of focus groups to help them design their products. Say what you want about Windows as far as what goes on under the hood, you can't deny that the basic paradigm behind it's interface is superb. All running programs are always accessible from a task bar at the bottom. All applications are accessible through a heirarchial menu, and commonly used apps are available as quick start buttons on the taskbar. The windows themselves feature clear and concise buttons whose functions are immediately obvious. The basic design is so good that the two most powerful and popular Unix desktops, Gnome and KDE, both copy it to the hilt. This design was not thought up by some CLI speed freaks and code wizards who could write a 10,000 program that worked the first time, in assembly. It was the brainchild of people whose understanding of computers was rudimentary at best.
The key to designing great software is to get people who don't know anything about computers, because that is who your customers are going to be. Cater to these customers as much as you can and not only will your programs be very popular, but the problem of version fatigue will almost solve itself, assuming you can avoid feature creep.
Lee
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
...is the usability concept not often understood by designers, that the Familiar design is usually a better choice than the Good design.
People like what they understand. They understand what they are used to. It feels comfortable, and they feel a power over something they know how to control. Conversely, things which a person haven't seen before are things they often don't understand, and hence don't like. Because of this, it's usually better to design interfaces the way other programs/previous versions worked, rather than trying to fix previous stupidness.
Case in point -- <select> boxes on Windows IE vs. Macintosh IE. On MacIE when you focus a select box and start typing, it chooses the closest match to what you have started to type. So if, for example, you have a pull down with state names in it and type "MISSO" it will choose "Missouri".
On WinIE each character you type starts you over at the first item starting with that letter. So typing "MISSO" will choose "Omaha"...which is ludicrous. You'd have to type "MMMM" on Windows to cycle from "Maine" to "Massachusetts" and so on, each time hoping the next one was correct.
So...WinIE is clearly the Dumb Way wrt keyboard access to selects.
BUT! BUT!
While it would be rather easy to do, it would NOT make sense to use a JS library to change the selects on your site to behave like MacIE. It would be a BETTER way to behave, but it it would be the WORSE choice. Because users of IEWin who use keyboard shortcuts are USED to this stupid behavior, and expect it to behave that way. A windows user attempting to select 'Massachusetts' will type "MM" and be baffled when it jumps to 'Montana' instead. Frustrated. Angry.
SO...to get back on topic...you have program designers revamping keyboard shortcuts so they make more sense...re-organizing menus to be more logical...re-grouping tools in a Better way...and in the process they piss off their loyal user base.
Repeat with me now -- Familiar is better than Better.
I believe shifting gears with my right hand is the natural way to do it, an English reader would think that the left hand is much more natural, an American reader probably doesn't even know what a gearshift is, let alone which hand to use it with...
QED?
free the mallocs!