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.
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.
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
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.
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
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
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.
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.