Why Users Hate IT Products and Developers
bfwebster writes "The Washington Post has a commentary by one of its regular columnists, Marc Fisher, on why computer users hate what he terms 'our techie masters.' One of his more pungent and, I suspect, on-the-money comments: 'Computer training has become the living hell of the American workplace...each new system is more confounding than the last, and each new product strips away many of the advantages of the previous system.' Not a Luddite screed; more an angry outburst asking why commercial software systems are often so wretched. Worth reading and pondering."
The short answer would be:
RTFM
The software is usually designed for the wrong reason in the first place: to fulfill a marketability niche seen by some buzz-word driven demand. It's sold from a marketing and sales rep, whose usual job description could be summed up under "schmooz with customer", who pulls out his checklist of latest technologies to make sure he promises X, Y, Z and hyperbaric interoperability with toasters from obscure places like Kansas.
These requirements and obscure promises are handed to engineering who satisfy the technical aspect and ship it. Never have any of the QA departments I've seen have a dedicated usability expert; most of the QA engineers were just re-tasked programmers without any HCI design principle background or experience.
So, since corporate and enterprise level software development is driven by the sale by those out of touch with the true needs of those making use of the software the incredibly wide gap develops that frustrates the @#$( out of everybody.
Any spoon would be too big.
Each new system is more confounding than the last? But somehow these "mere mortals" manage to forward me tons of "funny" mpegs and powerpoint animations, and I'm sure that wasn't part of the computer training.
You can come work at my school, we haven't upgraded our computing system in nearly 18 years.
Western Illinois University UIMS
University Information Management Systems uses an IBM Multiprise 3000 model 7060-H50(S/390) processor to support host-based administrative information systems. The H50 system's suite of operating system software is based on IBM's z/OS. More..
The four members of the systems staff select, install, test, maintain, implement, and trouble shoot a wide variety of z/OS based products on test and production systems. Over eighty products from about twenty vendors make up this system. A separate z/OS system is maintained on the same machine for use by WIU students enrolled in programming classes. More..
While these systems may not seem so out of date you have to remeber they're all COBOL backwards compatible from 1985 and up. So don't like upgraded, don't do it! Upgrading to a new system would be completely impossible right now as tied in as the entire thing is. The best case scenario for switching to something not so old would be a phase out plan, which is not in place.
So obviously this doesn't affect EVERYONE!
Ignore the "p2p is theft" trolls, they're just uninformed
Why'd you move the send button, though? It was fine where it was.
Also, why in the hell are companies "upgrading" constantly? What ever happened to the days of buy something and use it. Hell, that's what I do for my tiny business. Every "upgrade" is expensive and time consuming. I'll just use what I have, thank you.
Perhaps when developing a new system the developers could take some time to study the methodologies that are used in the gaming market. After all Games are highly technical but must be very easy to learn and use to be popular.
If anything they might start thinking more about the end user then they do right now
Example - Sniffer. Great piece of software. Does everything you could want. But it's so confusing with random tabs all over the place, buttons that are similar but do different tasks in different parts of the program, and completely lacking in intuitive interface....
haha, this is +5 Funny right?
What computer program do any of you use that you had to be trained to use? Microsoft Office? Umm, *most* people have no use for any of the apps other than Word.
I was able to sufficiently use Access and Excel in 30 mins or less.
Now, let's look back in the day. WP5.1, DOS 5.0, and Lotus 123. WYSIWYG+123 was not much better. Those applications required training and complicated Function Key cards above the KB.
Most people can fumble their way through the current Word version by searching the menus and using their doc "wizards".
People are just lazy.
If we are talking about mainframe frontends, they are even MORE insane. Most programers (while not the best UI designers) have made it much easier than using a VT100 term emu. for using the mainframe.
Stop the whining and learn to use the god damn things...
He must be new, and uninitiated by his bofh. My users would commit suicide before uttering such heresy. Almost.
Not a Luddite screed; more an angry outburst asking why commercial software systems are often so wretched.
Heh, let's give 'em all Linux kernels to play with, and sendmail.cf files and procmail filters too while we're about it, and watch their eyes shine with joy as they appreciate the wonders of the non-commercial world...
Er, maybe not.
There is a good point there. Users don't always understand what they want, or can't think through the "unintended consequences" of a system change. They see the result, not the process.
But on the other hand, I know that us geeks have a tendency to read our own agenda into what we're asked to provide, and to ride hard on anyone who disagrees with our intepretation of "how it should be". We deliver a wonderful process, and if it has a good result, that's just icing on the cake.
I used to work with a group of professional architects, and I learned a lot from watching them take user input, question it, refine it, and try to turn it into a project. They spent a lot more time learning about the customer's personality, what sorts of things they liked and didn't like... and the ones who were consistently loved by customers were the ones who were the best listeners.
(A nickle to the first person to identify the person I quoted above!)
Was anyone else reminded of that SNL skit with the Obnoxious tech-support guy? I can't remember the name, ah well.
I think a lot of this has to do with the elitist mindset of a lot IT workers. They see themselves as the masters, the ones who ought to be in charge because so much of the work is done through systems they built. But really, they should think of themselves as servants, trying to build the best system they can to support the end-users. After all, in a business setting, the end users are the ones who produce the true value of that business. IT people are just there to make it easier.
I think this attitude is seen here on slashdot a lot, I see posts by people who feel they are entitled to set policy because they can implement policy at the touch of a few buttons. But that's asinine, policy should be made by people paid to set policy. The IT person's job is to implement policy on a technological level.
autopr0n is like, down and stuff.
*THWACK*
Okay. Here's your 386 running Windows 3.1
"And this is what I mean: I'd really like to have the system before that."
*BEEP*
Here's your old Apple II.
Yes, many computer products are hard to use, but in our corporate society, I don't understand why it is the developers who are getting the blame for that. Most software corporations strive to save money by doubling up on jobs and having people design the UI who are not skilled at it. Often it is the developers or marketing people, neither of who are trained in human interface skills.
Once senior management realize that they need skilled UI designers so that the end users don't get frustrated, then we will make progress. But as long as we live in a bottom-line society, we will continue to put out poortly designed software.
In software..
1) Corporations think it's a good idea to add more features to their software.
2) Corporations have no idea what people actually want to do with their software's new features.
3) Corporations fail to realize that what we often want are not new features, but actually smoother design, better ease of use, more speed, and more stability.
Thus, what we get is "bloatware" such as ICQ - where so many new "features" are added to the program that it becomes impossible to use and navigate even when you want to use the program for even the simplest functions. (When I got the latest version of ICQ it took me 5 minutes to figure out how to add a new contact by UIN#.) AIM is headed this way, too.
I can't stand Office XP because of all the stupid features you don't need.
Even Office 97 has a large plethora of thoroughly useless features.
Send To Routing Recipient, Send To Fax Recipient, Footnotes, Comments, Document Map, Field, Cross-Reference, Index & Tables, Insert Object, Insert Bookmark, Look Up Changes, Track Changes, Change Case, Style Gallery, Merge Documents, Letter Wizard, Formula
It gets worse as the version numbers get higher. Maybe what we want is more ease of use and less damn paperclip animations.
... entropy is getting the better of us. Have never been in a devshop where that wasn't the case. Most developers I've met have had the knowledge but most imho lack the discipline.
Always ask yourself this before you commit (to CVS): "Will this commit add value to the program?" - or have you introduced new weak ideas or hacked around to get a new feature introduced in a hurry. Abstractions live, details and entropy kill.
HCI - Human Computer Interaction.
It is a new major at such schools as CMU, Georgia Tech (the program I am in), UMich and a couple others. It addresses just this fact, that software is simply not made usable. Maybe it will be the up and coming craze, to "make software so that our mothers can use it"... or at least those of us in the major hope so.
So 20 years ago I would have had to pay more for an airline ticket than today, to fly to Washington, to by a copy of the WP, to read whatever this bozo has to say. Now I can do it sitting at my desk at the arse-end of the world withing seconds of him hitting the "publish" button. No progress or convenience there that I can see.
-- Free software on every PC on every desk
Note however, that Fisher doesn't propose returning to his trusty Underwood typewriter to write his columns.
Opinions on the Twiddler2 hand-held keyboard?
Upgrading to XP would suck. I've used it, and it ain't purty.
But come to think of it, this is one area where Linux is *much* nicer from an end-user perspective. I've been using Linux since RedHat 5.0, running Afterstep. I 'perfected' my GUI years ago, and it hasn't changed since. No matter how many times I've upgraded. Granted, the other apps I've used have changed, but this one constant would be nice for many end users.
"Ignorance more frequently begets confidence than does knowledge"
- Charles Darwin
I'll bet if the people who wrote MS Windows had to answer help desk calls, they wouldn't have changed the location of TCP/IP settings in every single operating system. I also like the quote "Techies, professors conclude, must act more like psychoanalysts; they must learn to "appreciate the difference between what people say and what they mean."" For example - "The CD-ROM won't read my CD" translates into "I keep putting the CD in upside-down" Or - "My Email program doesn't work" becomes "The voice in the computer says I don't need to dial an area code"
This frustration and hatred also applies to Free Software projects/products, probably even moreso.
Mac OS X and Windows XP working side by side to fight back the night.
It's incidents like this that make me think it really is time to listen to the usability experts. Sure, the extremists we hear about seem to have some crazy ideas, but there must be some out there that have a clue about how we can make interfaces more usable, right?
What a fool believes, he sees, no wise man has the power to reason away.
What bothers me most about this 'discussion' and others like it, is that it seems anxious to place blame on one 'side' or the other. it's not *US* vs *them*, really at all, and this kind of thing only makes the argument louder.
that said...the article seems to imply that it is on the 'techies' to adjust thier point of view, which is pure, pandering, horseshit. Why *shouldn't* perfectly (otherwise) competent adults be expected to learn a bit now and then, and adjust to new technology?
Anyway- if the new stuff sucks, blame the people who picked it out, and insisted on it, and bought it, rather then getting all catty with the poor schmuks who have to make it work and teach 'users' how it works.
pffffttt.
Skip "Breathe in, breathe out...the rest is easy"
I worked on large systems for large companies. However I never got to meet anyone that actually used the product. We were on the forth revision of software by the time I left.
I was basically the main coder. I was pretty good at my job, but I would get 100 page technical specs, 70 pages of which would describe how on the front page this dolphin would swim from one side to the other. On a company intranet. sigh.
Several years later I saw the said company at a careers fair. I mentioned that I wrote quite a lot of their intranet, and how it was doing. They said there were still many problems with it - and I wasn't surprised.
The trouble was that I had to go through my boss, who went through the company bosses, who went through the top level managers. The end users weren't consulted at all.
Also everyone wanted to see results _now_, requiring fast development.
Anyway, I've rambled enough.
At least in part, because they make more money each time they re-invent the wheel, and what's in their best interest is not in the users best interest.
With free software, it is just as difficult and technical - but long term standards are allowed to emerge and be built on, learnt slow or fast, used all or just some. You can form an education and a culture arround them, you can build learning, sharing, and application into that culture so that it becomes more and more second hand as society moves onto other things, and as those who really want to can specialize and grow as fast as their able to without artifical or closed limits.
The acceptance of closed software as normal commercial behavior has caused a lot of collateral damage, and I think this is one of the symptoms.
And they say the techies are the ones lacking communications skills? How about people ask for what they actually want; maybe they'll have a better chance of getting it that way...
It takes much longer to turn on your machine in the morning now than it did 20 years ago.
;)) and finally another floppy to load my document in. Faster, yeah right.
I don't know what kind of system this guy was using in 1983, but mine required one floppy to boot, one floppy to load the Word Processor (anyone remember WordStar, now that was a simple system
Techies, professors conclude, must act more like psychoanalysts; they must learn to "appreciate the difference between what people say and what they mean."
Actually, it sounds like techies are suppossed to be more like psychics than psychoanalysts.
In a study of 8,000 tech projects in businesses, only 16 percent of the new systems were deemed successes.
Maybe this because the techies gave the users what they wanted, instead of what they _said_ they wanted?
I don't know, you make the call.
Whereas Righteous Free Software programs like crontab and gnu make and grep always have intuitive, orthogonal systems that make sense at once!
Mind you, oddly enough I do find vi[m] extremely intuitive.
Whence? Hence. Whither? Thither.
The first answer is simple. Ease of use and power are inversely proportional. If you increase ease of use you decrease power. A CLI with toos like grep is powerful, but harder to use than F3 in windows. You can sometimes get more power without losing ease of use, but only to a certain extent.
The second answer is that people fear computers. The tech industry on purpose or by accident has created the illusion in people's minds that computers are difficult to master, extremely complicated, and hard to learn. This is not the case. I tell people every day to build their own computers, and they have this fear they will mess it up, or that its difficult. In fact it is no more difficult that putting together a set of legos. Square peg and square hole. If people stop fearing computers and begin to believe they are simple, then people will have an easier time learning them.
The third problem is trainers. The method of teaching computers sucks. People learn processes, click this, click that, then click this. They don't know the meaing behind what they are doing. To use the old car analogy, they've reduced the number of controls in a car to steering wheel, two pedals, and stick. The driver doesn't have to know how the car works, because they can memorize what all the controls do, since there are few. In a computer it is impossible to reduce the number of controls to so few. So in order to make use of it, you have to know at least a little about how it works. The biggest thing people need to learn is file systems. We all know about the metaphors of desktops, files and folders. But common folk just don't get it. Because of this "easy to use" programs like MS Office become difficult. Trainers should teach people the parts of a computer, how they work, how their operating system works, and all the basic things that apply to everything they do on a computer. Once they comprehend this much, picking up a new system is not so difficult. Instead the trainers just say "click on the OK button in this box". If they don't know the meaning of this, they don't know what to do when something weird happens.
Summary
A)power or ease, can't have both
B)don't fear the reaper
C)learn the basics then the specifics
The GeekNights podcast is going strong. Listen!
in a conversation with a co-worker; the rhetorical question - what is the function of the IT department anyway?
A: They observe you carefully and determine whether you're doing your job. Then they try to find some rule or regulation about the machine or network they control, that you use, that will prevent you from doing your job. Then they enforce it.
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
From what I have seen, not having the IT staff train all the employees is a good to avoid friction between IT and the other departments. Have IT train a few enthusiastic and knowledgable non-IT people, and then have those people go out and train the rest of the employees. The teachers will be able to sympathize more with regular employees, and the regular employees will look at the teachers with more respect than if they were IT.
Anyone can state the problem.
How about a solution?
That few percent that were deemed a success; what was different? What should the teeming masses attempt to emulate? Why?
They're on to us! Hide all the evidence that we've been deliberately writing confusing software and in an effort to become their techie masters!
Remember: You have no idea what they are talking about and we never had this conversation.
I'm one of those software instructors who provides the training on the huge custom software package to the customer.
Typically when I arrive on site to show the customers the software we just spent a year creating for them, (**after the customer signs off on the requirements**) and I show them some super wham-o-dyne feature that is not included in the base package, I usuallyt get one of these responses...
1. (90% of the time) What a stupid feature. Why do we have that? Does anyone on earth use this feature?
Typical answer: No one else has it but you, your firm asked for it, and we spent about a jillion hours of developer time working it in and testing it even though the only person on Earth who thought it was a good idea was your project manager.
2. (10% of the time) What an excellent feature! I'll really use that. It will make my job easier. I'm glad we have this super wham-o-dyne feature.
I've seen it again and again. Most of the software ends up confusing users and being far too complicated because a few people insist on adding bizarre stuff to the base package.
I've seen the same thing in some open-source projects too, where the main developer can't resolve (or doesn't want to resolve) a dispute between two other coders, so they add in "options" so everyone can be happy. But it sometimes ands up making the final product a mess.
And as for spending enormous amounts of time in training on the new computer systems, I have to say that many times customers demand it.
If a customer lays down a lot of money for a custom software package, they simply expect an instructor to appear on site, in a tie, wielding donuts and coffee and lunches. We have CBTs that take about 2 hours and cost virtually nothing and cover the base package really well, but customers would rather have half thier staff sit around in a class room for two days instead. For non-technical personnel especially, they just demand that level of service if it's needed or not. So at least in my case, I can't take the blame for forcing the end users to sit through training! Guilt no more!
Never confuse feeling with thinking.
Still, there is a counterargument that the "we hate 'techies'" pundits tend to gloss right over. It can be encapsulated in the old saying, "if it were easy (or fun) they wouldn't call it 'work'".
When Indycar racing went from smooth shapes to lifting bodies, do you think that race car drivers just jumped in the new cars and set records? No, I imagine they spent a lot of hours at the track practicing, I mean working. When lumbering went from 2-man saws to chainsaws, and from chainsaws to diesel logging machines, do you think old Sven just picked up a chainsaw and got started? No, I imagine he had to do a bit of training and practice so he wouldn't cut his leg off. If Shakespeare showed up today, would he start off with a best-seller, or would he have to do a bit of research about modern society, language, etc? In other words, a bit of... work?
You see where I am headed. When a simple change is made to a computer system, the worker bees who use that system in their daily tasks expect that it will just automagically be understandable to them. None of that nasty "work" here - it's a computer!
Now since "techies" spend 40% of a typical day teaching themselves new systems (since Marketing bought it but forgot to budget for any training or support, IT has to figure out how to make it work. You don't understand the procedures for analyzing sales of women's underwear? Better learn that quick too so you can get the new system set up right!). We do the work. The worker bees just kvetch.
That's another line of thought, anyway.
sPh
The basic argument of the article is that due to "techies" being analytical and "users" being intuitive that the techie is not anticipating what the user needs. Maybe this seems to be the case from the perspective of the perplexed user, but it quite simply is not so. How many young children are near experts with their family computers while their parents haven't a clue. The fact of the matter is that most computer technology, including most software, is quite intuitive. Otherwise children would not have such an easy time picking it up without any training. The problem lies in how the "users" have trained themselves. As we grow up, the technology of the time is introduced to us and we implicitly trust it, and learn to understand it. But most people do not do the same thing with technology that develops as we grow older. How many of us have grandparents that can not set the clock on a VCR? The users just need to learn to trust the technology and learn how to interface with it. They are probably never going to understand the underlying technology, and noone should expect them to. Just as I am never going to get into the particulars of in depth news reporting (which this guy sure seems good at), but I obviously can interface with it, ie. read the article.
The short answer seems to be "get a mac". Ease of use, standard ways of doing things, tendency to failsafe even if it wont let you eject the disk, and desscriptive error messages are the hallmarks of mac's human interface. even the computers cost more because in part they have higher standard for fabrication and higher level of standard features (fire wire, ethernet) so the software and users can count on commonality in operation and fewer options to choose from.
microsoft on the otherhand has won the market by doing exactly the opposite. Proliferation of features. Constantly changing features. This permits both the embrace-and-extend and the planned obsolescene (word 5 cant open word 6). It also muddies the waters so much thet people give up any buy the product with the most features rather than the product that integrates its features the best. And it lets them release code as they go, no need to plan ahead, just slam out the next feature.
This is not an isolated effect. its well documented in economics theory under the rubric "bad apples drive out the good". meaning when the buyer has insuffient information to make a comparison between good and bad before the purchase, then it becomes a race to the bottom, or a race for irrelevant aspects that a buyer can judge.
I am reminded of Dilbert Interviewing the elbonians for iso9000 compliance with a documented software development feature:
Dilbert: so what is your process for code development?
Elbonian1: We hold a village meeting and boast of our skill
and curse the devil spawned end user.
Elbonian2: sometime we juggle
Elbonian1: Then we slam out some code and fo roller skating
The amazing part is that as long as they always follow their process they are ISO 9000 level 2 compliant. They might even generate uniformly better code than someone without a process.
Some drink at the fountain of knowledge. Others just gargle.
There is plenty of evidence in IT history to support this, but it is not that easy to cast such a blanket observation. I also feel I have seen plenty of evidence of usability specialists designing over technical user interfaces.
One phenomena that has not been adequately researched is the user interfaces designed by the developer/techies themselves. I know a lot of people are going to say this is the problem, but I ask this question, why is it that of the many web sites out there, the ones that are designed by developer/geek/hackers, the blogs, etc, these seem to have much more clean, elegant and easy to understand functionality than the majority of other sites? I know this is an over generalisation, but I do feel there is a strong point here.
Also, I could go on and on about how developers have been too typecast in this position. How many of us have told management and business analysts of the problems inherent in changing the product, but you learn to keep your mouth shut if you want your job. Your opinion is not wanted, just shut up and sit in the corner and code.
If you can sell a new version of the product, with the training, this is how you make money. Without the upgrade path, there is no future in normal commercial software. You have to produce product, which requires new marketable features. And the shit comes back on the developer, who is often the one person who is very aware of the problems with this whole process.
I could write essays about all this... but that is for another place and time.
Take anyone off their current WinXP/P4 1GHz+ box and put them back on a 33MHz 486 running DOS or Windows 3.11 and force them to use it to do work for a week. Not even anything involving networking or receiving files from outside sources, just let them create a few Office documents and try to work with them. At the end of the week, ask them whether or not they still miss the "good old days". I'll bet anything they'll shut up.
You see? You see? Your stupid minds! Stupid! Stupid!
'techie masters' hate users
As much as i've personally spearheaded various upgrades throughout my time working with computers this article raises a very interesting point.
I can't remember how many times I have had users almost beg me not to do upgrades. It is not as if they didn't care about security concerns or the latest greatest version of the software, it's the trouble of having to re learn how to use the software. My most recent experience was with Quick-books Pro for Macintosh. The small business I worked for had spent approximately 3 years working with a copy of Quick-books Pro 4.0. All the inventory and accounting information had been tweaked to suit this particular business and for the most part everything worked as it should have. From my perspective this outdated copy of Quick-books was a constant thorn in my side. It had numerous bugs and the user interface was awful. Well, one week ago I got a call from the bookkeeper of the business. She was delighted to hear that Inuit had released a copy of Quick-books for OSX! This shocked and surprised me as I was under the understanding that Inuit wasn't going to release any more copies for the mac (not enough demand the phone rep told me). As I headed back into the shop to help do the upgrade I had visions of a improved user interface complete with networking support. To make a long story short they didn't change much. In fact they managed to remove some of the features (perhaps bugs) that my client had come to use quite frequently. The toolbar comes to mind. In the older version of Quick-book Pro the toolbar had about 15 or twenty buttons with icons. It could be moved all around the screen and even disabled if needed. The best part was the ability to add almost any report to it. The owner and bookkeeper of the company had become very used to opening the pending sales report from the toolbar. The new version changed that, you could no longer add reports to the toolbar. You where even limited to less spaces in the toolbar than the older version! After spending a few more minutes working with the newer version I discovered quite a few bugs that where still present. This was definitely not an improvement.
I think this outlines one of the basic problems that programers have in relation to their users. What is obvious to the programer or even the power user is not obvious to the end user. For programer the task up dialing up is as simple as finding the ppp program and telling it to dial. For the end user this logical progression of steps isn't so obvious. Why do they need to know what a dialer is? Why not have the system just work as expected. I find it hard to come up with concrete examples of this problem because most every system I work with is logically laid out. For the client that I work with it is not. He is a mechanic and what is logical for me isn't logical for him.
In my most humble of opinions apple has made great progress in this regard. They have tried to keep their interface consistent across many changes in the underlying operating system. Even when they made drastic changes to their system as in the case of OS-X the user interface was still quite the same. However small things did change. Once again from a computer users perspective moving the status icon for the dialer to the upper right hand corner isn't a big deal. But for my client it is just one more annoying thing he is going to have to relearn.
Computers are tools. I feel that the industry sometimes forgets that with every change we make in the name of progress. I for one love having a updated system and latest technology but for my mechanic friend a simple consistent system is the most valuable asset.
He doesn't know what he wants. He didn't cite one specific gripe or even a trend. All he said was "new software sucks", simply because he was used to the old stuff. May as well say "change sucks". Some reputable theories of the universe say that change is the only constant.
That aside, yes, there's a personality/approach gap between those making the software and those using it. Most frustrating are the multitudes whose approach is so crippled that to their questions I deliver the pithy universal advice "try it and see".
Start Running Better Polls
I get pretty sick of these stories. I certainly understand that there's a lot of bad software and user interfaces out there, but I'm aware of it, and I put a huge amount of effort into designing interfaces to be intuitive to whoever's going to use the system.
However, here's how my projects go: we get a contract in mid-January to write a custom software application. It has to be completed by, say, May 1st, because that's what our sales dept. sold them. They never asked an engineer how long it would take, they just promised the moon to get the contract. Then, we write a functional specification, and give it to the customer for review. We need to get it reviewed and signed before we can move forward, but for some reason, my contact with the customer doesn't have the authority to sign anything. Not only that, it goes through countless revisions as the customer finally realizes they don't actually want what we sold them. Of course, the deadline of May 1st never changes, so by the time the functional spec is approved, it's April 25th, we've had to start writing the application without a fully approved functional spec, and we've got a week to finish writing, testing, and debuging the application, so no matter what, we're going to deliver late and overbudget.
That's when your boss comes by, shows you the budget numbers for the project and says, "We can't afford any more time on this project, so just do whatever it takes to make it work." Making it work does not mean spending hours designing and revising user interfaces to make them intuitive. I hate it, but that's why software interfaces aren't intuitive.
"I have never let my schooling interfere with my education." - Mark Twain
The unwavering constant in my world of IT consultation work is the assured shittiness of the Customer's line-of-business application. Either it's an off-the-shelf app. that they're pushing beyond its functional limitations, or it's some home-grown bag of dung that coddles their entrenched antique business processes and reeks of inconsistent user interface, poor or completely lacking forethought in design, and lamentable "technologies" (everybody say "toolbars of icons with no tooltips and no menus", "two digit decimal date fields" and "shared file database"). In the end, it really doesn't matter how they've chosen their IT fate, it always ends in everybody bitching about how bad it all is!
The idea of defining requirements and selecting off-the-shelf packages based on those requirements seems to be completely foreign to non-technical users ("I have three (3) kids and a dog-- I think that two-seater little red convertible sportscar will make a good family car!"). Of course, software marketing would have you believe that their products will allow you to travel backwards in time and transmute gold from pocket lint, as long as you keep up on your "maintenance agreement".
On the "internally developed" side, the failings I see almost always involve an inability for a development group to shut the fuck up about their fucking "technology" and learn about the users' BUSINESS REQUIREMENTS! They users aren't going to get any benefit from your buzzword-fortified J2EE-compliant mobile wireless XML fibre-channel attached pneumatic Bluetooth ass-rampager if they never USE the damned thing because it doesn't satisfy any of their business requirements.
We don't have the fucking computers in the business because we just want to have computers! We are here to make fucking money, and the computers are tools to help us.
Doesn't really matter much to me, though... They'll all still need switches, routers, and infrastructure gear, whether they ever get it together or not... *smile*
The Attitude Adjuster, I hate me, you can too.
We live in a society that results from three generations of teaching that the entire class must move at the pace of the slowest person. I say to hell with the idiots. You need to know how to use the software to get your job done? Tough, learn how to use or make way for someone motivated to figure it out. McDonalds is always hiring.
"God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
As somebody who knows how to program, I suffer even more from the stupidity of many commercial software products. Granted, I also know that time is often too short to implement every nice-to-have intuitive feature, but on the other hand I often encounter stupid solutions that would have been trivial to solve in a better way. That kind of stupidity tends to drive me absolutely mad (I don't like that trait of mine, but still).
I pity the normal users who tend to think that it's their fault if the computer is not intuitive. Let's face it, most commercial software products are bad...
The largest problem is that there is no time or budget to review and improve the human experience on software products. In the "Skate or Die" world of software development, finishing touches are always set aside for the next version of the product.
Software companies aren't profiting on the fact that their programs were the easiest to use. They make money buy selling their products with shinier chrome and more options than the other guys. Even worse, companies will try to glue on new shiny bits and pieces of bought-out software onto their product and hoping to get it to work. And if they get it out first, they'll get all of the customers who might need those features (and drag in those who were happy with the old one but need to upgrade because the new formats are no longer compatible).
Selling the support contracts makes companies a pretty penny too.
There is VERY little incentive to improve user interfaces or simplifying tasks. Apple has been able to tap into this market from the beginning, but even now is derided by those "in the know" as more toy than tool.
Software engineers are a problem too. The "cool" and "sexy" obscure features of a product appeal to most programmers while the rather mundane problems of fixing bugs and ease of use fall to the wayside.
Even customers are a problem. Management wants to be able to keep tabs and increase production by having new and different reports created and all information tracked. And they are willing to buy software from a different company (with an imcompatible format) to get that information. Plus demands for customization increases the level of task obscurity. Oh, and if they don't spend the money for the upgrade, they lose the money in next year's budget.
It's insanity.
"I may be Love's bitch, but at least I'm man enough to admit it."
I designed a computerized inventory system a few years ago at work. It really worked and all but it also took longer to use than the old pencil, paper and catalog system it replaced. My co-workers at first chaffed at the paper-work and soon outright sabatage.
My boss had assigned me an hour block of time for training on my baby, where I stood up in front of the whole office and said 'You guys hate this all ready don't you? Everybody agreed, I continued, 'It was one of those good ideas that just don't work out in real life, just because you can put a screw in a board with a hammer doesn't mean you should throw ou your screw drivers; we doing it the old way from now on'. Now my ideas are respected more than ever because people now I'm not above giving up on a lost cause.
Apocalypse Cancelled, Sorry, No Ticket Refunds
The author got it almost exactly right. When you study the Myers Briggs Type Indicator (MBTI) for techies you find that they are made up almost entirely of 4 types INTP, INTJ, ISTP, and ISTJ. nearly all the core software that runs the Internet was written by INTP and INTJ people. (In general INTs are more likely to like python or lisp while ISTs are more likely to like Perl.) NTs are concept oriented with STs are detail oriented.
INT*s make up about 2% of the population and IST*s make up about 10% of the population. The key is the IT in the type. "I" stands for Introverted and "T" stands for Thinking. The ITs make up only 12% of the population. The opposite types, the EF Extroverted Feeling folks, make up 36% of the population. The EF folks like to talk to people and make friends. The IT people like to learn things and make systems that work.
The result is that the people writing the code have a point of view that is shared by only a small minority of the population. While the largest subgroup of the population has a point of view that is exactly opposite of the techies.
Obviously the techies can not design for the "feelies". And, the "feelies" will not take the time to communicate with the techies. They write us off as "geeks" and "nerds" and belittle us every chance they get. While we tend to call them "air heads" and ignore them.
There really are two cultures. Until people on both sides of the divide understand that the divide exists and work to bridge it, we will keep seeing articles like this one.
Stonewolf
...to make it easier on IT to manage user's systems. Thousands of
ugraded Dell PCs with OS's upgraded to XP.
Let em upgrade as they will. I stopped caring when they took the
SparcStations off of engineering's desks and gave us all Win98. I
don't care anymore. I edit all text in emacs and then copy and paste
the result into the appropriate Companywide Enterprise Solution (Lotus
Notes, Word, etc.).
"Its not that I don't want to learn the new stuff Bob, it's that I
just don't care."
Although I agree with the underlying sentiment that computers are still too difficult to use, here's a sample of what can happen if users drive the show.
I worked for a few years doing performance tests for a large telco. One of the applications that had been around for years was a total dog's breakfast. The backend was written in COBOL, and wrote to a "database" comprising zillions of ISAM files running on a Unix server.
This Unix server was ENORMOUSLY configured considering the relatively small amount of work it actually did; for some reason, it performed like an absolute dog even with loads of CPUs and memory. Unfortunately, that particular Unix vendor was no longer around, so none of the performance tools we were using supported this 10-year old orphan piece of hardware. We basically had to rely on top and sar to get performance data from this system; OK for measuring how performance is at any point in time, but not great for isolating problems and identifying problems such as long-running locks on ISAM files...
The user interface was a strange mix of an ancient proprietary GUI and Java applets - as a result, some screens were only accessible via a browser, while other screens needed this extremely fat client to be used. The proprietary GUI interface was very strange; in some cases, you'd click on "buttons" and they'd turn into drop down menus, or you'd click into a text field, but you'd then have to hit prior to typing anything in that field.
Using this interface to create repeatable business transactions for performance testing was simply hilarious - I eventually resorted to writing down details of every mouse click and keystroke I had to make, because otherwise I could never perform the same task in the same way twice.
For any given business transaction, there might be up to 10 totally different ways to enter in the information - different screens, different sequences of screens, and so on.
How had this app ever gotten to this state?
Apparently it had been fairly leading edge when it was first installed in the mid-80s. In those days, there was no standard Web browser interface, and ISAM files were regarded as faster and at least as robust as databases at that time. Furthermore, ISAM functionality came free with the OS, but you had to pay for databases licences... Then the users started asking for new features to be added to cope with the changing business requirements. Each request had bypassed the internal IT department as a matter of policy for this application (no idea why), so there was no sanity or quality checking done along the way - the vendor simply implemented every strange request from the user base exactly as documented.
Over time, the initial expert users of the application left, and were replaced by newcomers. These new users were faced with a system that wasn't particularly intuitive, and sometimes couldn't figure out how to do business process X. No problem - they just submitted a request for "new" functionality to be added. Meanwhile, the original developers of the application had also left, and been replaced by newbies as well. These newbies looked at the request for "new" functionality, couldn't figure out how to do it with the existing interface, so they built a totally new interface to do the same job and bolted it on to the application.
Now, the new user who requested the change might not have been that clear on the how that business process occurred in real life, so maybe they got the original request slightly wrong. No problem - they just submitted a change to the interface, describing how it should work. This time, the request went to a different developer (did I mention there was no centralised bug tracking for this app?), who might build a totally new interface and bolt that on - he didn't know the "new" interface existed, so he just built a "new new" interface.
If any of these changes required "database changes", no problem. The app just uses ISAM files, and any centralised diagram of how all these ISAM files hung together had presumably been lost. If the developers couldn't find the relevant group of ISAM files they needed, then they'd just create some more and get the users to populate them with data. Over time, there would be one group of users maintaining data in one set of ISAM files, and another different set of users
maintaining exactly the same data in a different set of ISAM files for the same instance of the application.
The Java interfaces came about because a manager at the customer site decreed that Java was the way of the future some time in the mid 90s, and made a blanket decision that all new user interface work would be done using Java applets. It was deemed too costly to rewrite the existing interface using Java, but over time the whole user interface would migrate to Java so there wouldn't be a problem... This situation stayed in place for a few years, but eventually this manager moved on and his replacement decreed that Java applets would no longer be used and a new interface would be chosen. An extensive review of user interface tools was conducted, before it was decided that the cheapest option was to go back to the original proprietary user interface - after all, the users already knew it so there was no training required... Once again, it was deemed too expensive to migrate the existing Java applet interface code to the proprietary interface, and again it was assumed that the Java interface would disappear over time as requirements changed and the replacement screens would be implemented in the proprietary GUI again.
When I finally got to look at this app, it had more downtime than all other host-based applications combined (and telcos use a LOT of different applications, so that's a pretty big statement). As I said earlier, the hardware requirements of this app were unbelievably high given the number of users it supported and what it actually did, so it ran on two extremely expensive Unix systems from a deceased vendor. A pilot had been done to investigate migrating off this hardware, but it had been killed off when it was found that the proprietary GUI wasn't supported on any current hardware - it too was deceased.
As far as I know, this app is still in use today. I regard it as a great study in what happens if you let the users run IT...
That SNL skit resonated because it's true. Hey, they don't call 'em "geeks" for nothing -- many technical people *are* socially retarded.
I too see a lot of this on Slashdot -- a lot of one-dimensional thinking, and serious immaturity.
I think that the increasing complexity and 'function-holism' of software actually is detrimental to efficient computing. Just finding a simple virus scanning program is near-impossible these days. Every piece of software wants to embed itself into the registry (assuming a win setup for average-joe users) and the quick launch bar, to remain in memory, hog ressources, and generally be a nuissance. All I want is to click a button, scan for malicious code and remove it, and close the program when I'm done. That's why I think F-Prot is actually a superior product than some huge, bloated Norton-style suite.
I just want straight-forward programs that don't fsck with me. I *still* use command-line archiving tools (pkzip, etc) over the proper Win versions because I find the latter too greedy and invasive. I use them for the same reasons I use Google as a search engine: clean, efficient, and not evil. But every new version of any given program is compelled to add new 'features' to justify its existence.
I can't pretend to speak for the average officer user. I have mid-range knowledge of computers and run Win at home by choice (availibity of music-production software was a major consideration). But for what it's worth I think that contemporary software design is getting top-heavy. I prefer clean and simple minimalist design-- the Google or F-Prot aesthetic.
iopha
Well he should try dealing with PHB's who have some vague idea of what they want but can't explain it. Then when the project is 90% complete turn around and say "Thats nothing like what I wanted" even though it matches the original specs to the letter.
I think mr Journalist had better have a talk to his IT procurement committee before he goes off half cocked. Usually these committees are staffed, not by end-users and techs, but by middle management types whos closest interaction with a computer is getting their arse kicked on any number of first person shooters.
While I sympathise with end users of shitty software (I too am forced to use Windows now and then), I take offence when they start blaming the techs themselves for the problems of an entire package. Its like blaming the carpenter because the building committee decided to only use styro-foam in the foundations of the building.
Quote:
No, offense, but I have interpersonal skills. What I lack is patience for attitudes like these, where "it's all your fault". Half the answer is that techies need to be more empathetic. The other half of the answer (missing from the article) is that users need to meet techies halfway, and at least try to understand what the computer does. Not mind you how to create animated transitions with sound for their power point slides, but the basics of computer usage, like we used to get in 8th grade computer literacy. Directories, commands, arguments, files, etc...
When I run across a user who actually tries, I am willing to do a lot more explaining than for the marketing guy who seems unable to use his docking station...
If you think you can hurt me again, you're wrong. I left my heart in my other pants.
The main problem I see with typical end users is that they don't realize that the computer is a tool they are required to use to do their job. They are extremely reluctant to learn anything. The funny thing is, when they interview for jobs, they say "Oh, yes, I love computers, I have one at home, it's great." Then when they get on the job and don't want to make an effort, they call support and laugh, saying "heh, I'm computer-illiterate".
Would you go to a mechanic who held up a wrench and said "heh, I'm wrench-dumb, these crazy things." ????
Users need to understand that they CAN read the screen and actually THINK about what it says before panicking and calling support. They need to realize that they must know how to use the tools that are required for their jobs. Or, they need to find another job.
"Would it kill you to put down the toilet seat?" -- Maya Angelou
I'm an attorney at a law office with about 16 computers. We are still using WordPerfect for Windows 6.1. Why?
Because EVERY new release since then, of both WordPerfect and Word, hasn't given me (I make the IT decisions) a sufficiently good enough reason to ask the staff to learn how to use a new system.
Contrary to those bashing Microsoft, this isn't MS's fault, and it's not a case where people using Macs just don't have this problem. It's really simple - Once you get used to a system, you don't want to change, as long as the system you know does what you want.
We've gone though multiple changes in software - WordPerfect for Windows 6.1 was much easier to use than WordPerfect 5.1, ACT! has improved over time, and we've more or less kept upgrading Windows whenever Bill Gates wanted more money. Except for ME, each windows upgrade was worth it, from a usability and reliability standpoint.
But we still use WP6.1, even though it has 8.3 filenames and an automated template system that's crippled (and was finally finally fixed in WP10). Not only is this program reliable and does what we need it to do, it's faster than any of its successors because it was written for computers running 80386's.
Also, I have to say that the WP6.1 file dialogue boxes, are just plain better than anything I've seen since. Who in the hell thought that a sideways scrolling file-open dialogue box filled with useless icons was a good idea, especially when you can have really long filenames that take up half the screen?
Before I upgrade our software, there's got to be a reason better than "there's a new version out". The new software has to fill a need that isn't filled by the old software, or it has to solve serious reliability problems.
144l. ph34r my 133t l3g4l 5k1lz!
Steven Covey wrote a book a couple/few years ago titled "The Inmates are Running the Asylum". In it, he makes a compelling case the modern software development is divided into four areas:
1. Management, which sets requirements and determines resources.
2. Developers, who, uh, develop the code.
3. QA
4. Support.
His premise is that what is lacking is a fifth group whose purpose is to design the usuability features. In my software development group, we've got all four of the above mentioned groups and what we end up with is a powerful, feature rich, stable tool that is the devil to learn. The developers do their best to design UIs that are intuitive, but what's intuitive to us is often backwards to our end users.
Covey states that developers fear ceding control over their work. It is this fear that was the basis for the resistance of the initial creation of QA departments. Apprarently, back when dirt was new, developers tested their own code and resented QA encroaching on their turf. It took a bit, but now QA is more or less entrenched and developers rely quite heavily on QA (I know I do). Covey argues that the UI design work that is currently left to these same developers should similarly be farmed out to teams of UI designers. Granted, it just so happens that he happens to run one, but I still think his point is valid.
Developers have no place designing how a user inteacts with the back end processes. Asking us to do so, or, more likely, not asking anyone to do so results in software that is a PITA to learn.
if apple made an os X for pc, they could trash m$ in just a couple of years
I don't understand why people believe this to be the case. The main problem is not that the mass market wants x86 hardware. It's that Microsoft has used its infinite resources to completely obfiscate the advantages of non-Windows platforms. If the collective consciouness of computeruserdom undestood that you shouldn't have to put up with all of the problems that Microsoft throws at you, I think we'd see a substantial exodus to Mac OS X.
Moving Mac OS X to generic x86 hardward partially solves the problem of initial cost, but you're still feeding into the mindset that computers can be easy to use if they're based on such on architecture. There's absolutely no way a user can expect to consistently have a good experience when their particular computer is but one instance in a sea of configurations of varying quality.
In other words: the hardware/software integration is a core component of why Mac OS X is so good.
And regardless of the state of software/hardware compatibility, the biggest issue is and will continue to be that Microsoft has made things so confusing that it has scared people into thinking Microsoft is their only option.
- Scott
Scott Stevenson
Tree House Ideas
Ive said this time and time again to people.
When they ask me "Oh, you're a computer science major, do I need to upgrade my computer?"
After supressing the urge to repeat my 'comp sci != IT != retail' rant, I ask them what they do with thier computer. The fact is unless you are compiling, doing a lot of graphics work (3-d modeling, not pics from you digital camera), or running the hottest bad king shit FPS uberGame of the week, YOU DONT NEED A TOP OF THE LINE SYSTEM.
Proof by example:
My uncle/aunt. Living in a rural part of ohio, they have phones and power, but no sewer or cable. The got a dirt cheap 450mhz generic wintel. They use it to type letters, send email, and do some banking all via *cringe* AOL. I would utterly slaughter that computer, but for them they simply dont need anything faster, and wont for at least another decade.
The author of this article. As a journalist he would need a word processor, the internet (for research), and an interface to the article submission system (assuming they even use one).
My parents. A little more savvy than most people their age, but still the only upgrades that they have needed to thier 500mhz Gateway were peripherals, a good scanner, a digital camera, and a fax/copier/scanner. In a year or so I can see them needing a new hard disk and/or a CD-R because of the massive amount of data that theyve collected that could stand to be backed up and/or moved off site (documents, picutres, finances,etc)
Me. I do some programming on my own machine, some graphics editing (photo retouches in photoshop, mostly practice for my day job at the photo lab), and the occasional FPS or RPG gaming session. My recent video and sound upgrades were only done becuase I was offered a good deal on a trickle down upgrade (friend got latest and greatest, i got something better than what i had).
Im hesitant to push this idea because if it wasn't for the 'ooh new shiny and fast' attitude that pushed people like this to make sales, I would be paying a lot more for my next hardware upgrade. Dont blame us grunts, we don't like working to give you worthless upgrades any more than you like to have to constantly learn new things.
While it's true that some techies are poor in the "user friendly" department, the majority of bad system design comes from the management.
I've worked on a number of systems where what would have been a nice design has been sabotaged by management decisions. Almost always by management that doesn't actually use the system in question.
Unbreakable toys can be used to break other toys.
It's nice to hear this guy whine about not being able to use the new systems. Try being a developer and keeping up with the changing technology that keeps getting thrown at you every 12 months because of the marketing departments of MS and company. He seems to think that it's the technical staff vs. the users. Sorry buddy, but I am a developer and from my perspective it's the techie's vs management; but the users get the fallout (crap product). The clueless are not the users as far as I am concerned. Anybody ever work for a tech help line? Can you BLAME the customers for being pissed? These companies just want your money...period.
I can't even count the number of times that the dev team has tried to convince management that we, (the dev team) should be allowed to help with creating specs for systems (I preume they feel it would undermine their authority). Companies unleash the sales guys, who don't know their assholes from a hole in the ground, who promise stuff that WE can't deliver. And then the client wonders why it's not in the system or just plain crap.
This is just the tip of the iceberg. The ENTIRE High tech industry needs a reality check. Starting with management. It isn't possible to be a good manager of the high tech department without having some sort of background in the project your managing.
Fear not users, every techie I know wants to build you a good product(do you like the idea of your work being respected? So do we), but the MBA's from above know ALL.........;)
Having read the article, I feel insulted. I'm an "IT person" and the fact of the matter is that the end users are not some kind of "extroverted and intuitive" person that I just need to listen to more. If they were extroverted and intuitive then maybe their explanations of what they did to their computer would make sense.
I pride myself on being a good listener and handholding users through change that they are often ill-equipped to handle, but the author of the article implies that I need to become more proficient at understanding things like "when I clicked on it it wouldn't do anything, and then all my icons were gone, ever since you replaced my screen". I may be analytical but I'm not a mind reader.
It is true that computers started up faster twenty years ago, but I have never met a user that wasn't happy to get a new computer ("It's so much faster!"). I also meet many users wondering when we'll be upgrading to this that or the other thing because new software does more. There isn't some vast majority of users saying "bring back DOS, take away my mouse, why do I have to use IE5.5 rather than Netscape Navigator Gold?".
These brilliant journalists that are reduced to babbling because they don't understand software most likely also cannot program a VCR, set presets on their radio, or master even the most basic of computer concepts like single-click versus double-click versus right-click. The computer would have to be HAL-9000 to be able to figure out what they wanted it to do.
XeoMage
That's why I do one-on-one training with every professor when change them over from mac OS9 to OSX. Yes, it kills 30 minutes per user out of my day, but I have found that my tech support calls have plummeted. The phone is rining every 30 minutes. Now, if I get 3 calls per day it is a bad day.
Why is the author so ticked off about receiving training? If you give someone training they're better equipped to handle the new equipment/software and they don't need to call IT as often to have their hand held. Yes, software evolves. Get over it. Be glad that your employer thinks enough that they provide training, many don't.
I thik the author of the article needs to go to the clue line and get a clue.
This is outright hostility, not mere feature bloat.
I'm still a student and thus largely insulated from this sort of thing. Still, I think that people are looking at the wrong issues here.
First it's more likely that people are simply pissed off. They're not the head jock anymore, they're drone #2817-G and noone gives a fuck who they dated in high school. Even worse the people they used to pick on back then matter now. They're doing something and rather than spend the minimal ammount of time required to understand how to use something they'd rather get pissed about it. "That damn geek expects me to learn this shit? I've got better things to do than read a manual writen by some science club loser."
Second is that these training classes don't seem entirely necessary. Indeed there's a lot of bloatware out there with obscure and pointless features that are a pain in the ass to get at. Still, you don't need to spend 8 hours having some idiot try to teach you how to use them. In some highly technical applications it may be necessary and useful to spend some time in training, but you probably don't need it for the next version of Word. Seriously. My school teaches 8 week courses on how to use Word and Netscape and they're unnnecessary crap. Back in high school there was a "Technology Literacy" class that would spend a day explaining the basics elements of the Windows UI, one day was spent almost entirely on right-click context menus, another on signing up for a Hotmail account and e-mailing someone. Not the theory behind any of this, just the practical ability to do it. People will try to teach anything whether it's necessary or not.
You'd complain, too, if a bunch of outsiders shoved a bunch of unwelcomed, unrequested changes down your throat.
In business, IT is a supportM function. No one else cares about hacking your precious kernels.
-- Slashdot: When Public Access TV Says "No"
It's these forced choices that piss off the users.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
Dont make the upgrade today. Say that its not worth it. We can survive for a bit, the incremental difference is not worth the cost. Talk to me in a year when you come out with another major version.
The choice is not this crap or that crap. You can also choose not to buy any crap at all!
You know what I do when my gaming machine gets doggy as hell, and crashes a lot? I format the hard drive and re-install a fresh copy of windows 2000. Seems to fix the problem every time. Screw upgrading to XP, or windows 2004 in a year, I will stick with this more stable 3 year old service pack 3 OS. It runs well on my very outdated 1ghz machine.
I don't blame the OS as much as the ENDLESS DAMNED SPAM AND AUTOMATIC SPYWARE INSTALLS. Shit, there is always company x that wants to embed itself into the browser and log every page I go to. And this damned 'save' app that will not die.
I remember when I first started to use a WIMP system (Acorn Archimedes). I had not the slightest clue what I was doing.
Since then, I have found that what I have learned is not just how to do things, but 50% of it is how to deal with unexpected/confusing circumstances.
I think sometimes thats the real reason I can use one - I'm not scared out of my wits about what is going on. I know it, its my environment, and I understand the (in)significance of various popups/error messages, actions, etc.
I suppose I really went on a steep learning curve because the software wasn't aimed at any specific user type; rather, it is aimed at everyone, specifically those with prior experience.
But there seems to be less Training given in the basics of operating a computer (filing, security, etc), than there are in using a computer to perform a small set of tasks (MS Office XP course, anyone?).
I have also noticed that once new user has worked out only what they want to do (not what they *can do), they will in general stick to that small range of skills but not branch out any further - wether that be through fear or laziness. A lot of the training for applications is quite mollycoddling in that way - the trainers know the users limitations - and they just want to show them how to use "mail merge" and get out of there, rather than increase the user's confidence in using a computer, overall.
*That*, ultimately, is why it is so hard for people to use new Software. Most of the time, it's not the software - it's that the users are pissed off that they have to relearn everything, for the same tasks they could do before. (as I said, its a heck of a lot easier with prior experience of a variety of other apps)
Of course manufacturers could remedy this by having every tool look and operate the same way (albeit near impossibly), but in the long run it would make more sense to teach people how to explore and deal with their overall environment. Its only natural that this ability and confidence spreads into the other areas.
<B>note to self:</B> <I>post as html</I>
...after watching this cycle repeat itself over 25+ years, it comes down to this:
When users choose and buy their own software, things work. When IT departments assume control of the computers and the software acquisitions, things go downhill.
In the mid-70's, I worked in a Computer-Aided Design department that had been built on department-purchased minicomputers (PDP-8's and -11's) and was moving onto the corporate 3x0 mainframes for performance. The transition was a disaster, and we were saved by the availability of mid-size systems (Prime's and VAX's) the department could acquire and control itself.
In the early 80's, the availability of workstations (Apollo's and their ilk) created new opportunities in the computer-aided engineering space, driven by the demands of the departments doing the real work.
A few years later, people started to buy PC's (and the software available for them) on their own dime (and later on their department's budget) because they ran software that enabled them to solve problems and get their work done. Once PC's had established themselves on corporate desktops through the back door, the IT departments moved in and took over.
More importantly, the vendors of the software once selected by individual users (Lotus, in my personal experience) started to realize that they had to sell their product to IT managers, not end users, and that started to drive the further evolution of the products (to their detriment, IMHO).
The PDA market exploded when they were purchased by individuals, and that marketplace has stagnated since they became an "enterprise product" selected by IT departments.
Apple still sells the Mac to end users, and Linux was driven by the needs and motivations of individuals. This is where the real action is today, and I hope and trust that there will always be a corner of the computing business where real people decide what they need for themselves.
Even if a high quality software is produced I don't think there is a good chance it will be adopted by the masses.
Take my favorite editing program, EditPlus. It was recommended by a friend and I found it to be perfect for what it is supposed to do: edit files. It beats the crap out of Notepad and Kate for KDE is just a broken reflection in comparison. But nobody has heard of the program and no one uses it.
If there is a Linux equivalent I haven't heard of it and I don't think there is any way I could. Currently there is no way that the highest quality software can be brought to the market. If users could go and easily try out and aquire different programs for their regular tasks then I'm sure the quality of software would appear to increase dramatically.
Unfortunately we are stuck with the defaults and the status quo (notepad.exe).
ICQ was an exception to this theory, great software when it came out, sadly useless now. Trillian is a case for the theory, better (I think) than ICQ, but not that many people seem to have heard of it or use it.
Mars
My two favorite common features are undo/redo and cut/copy/paste. In fact I believe that if either of them was to dissapear from the face of computing tommorrow, I'd commit suicide. Yet most of the end users I know don't use either. Ever. Is it really that complicated? Do people really enjoy typing so much that they'd rather not use these features? No, I doubt it. I think maybe we're right.
I also enjoy the way I can learn what an app does by poking at menu options. I figure if an app can do something but it isn't obvious from either the menu or some simple sub-dialog or something, then I don't care if it does it. I think maybe we're right.
I think there are two kinds of people in the world: those who see something and try it, and those who don't notice anything until they're told what it is, what it does, how to use it, why they should try it, and what to do if they have a question. I don't think the latter type understands the former, and I know for sure that I don't understand the former. But I think maybe we're right.
We think the way to write good software is to make it intuitive, consistant within itself, and consistant within a group of similar programs (use common keys for cut/copy/paste, for example), but I don't think it much matters. Alot of people would look at a program with one menu option that says "Click here to see a funny joke", get glossy-eyed, and ask "what does it do?" They don't even know how to find the online help. It might as well be hidden right in the middle of a menu labeled "Help". Could it be we're right?
Maybe end users really are dimmer than bozo.
Instead, we hear that kind of thing about software developed in-house. I believe the "hatred" is a combination of the user never (or rarely) getting what they really want, and frustration when they realize part of the blame rests with them, and IT can't wave a wand and make it easier for them.
The unfortunate part is it's a double-edged sword, because IT often works very hard to give the user what they ASKED for... but what they requested isn't what they WANT. This is not a new problem (and all the CMMing, SixSigmaing, UPMing, RUPing and other process crap in the world isn't helping -- sorry, pet peeve). Being non-technical, the user doesn't know how to ask for the right things. They don't know how to think critically about a design they firmly insisted upon in the early phases of the project, which then turns out to be cumbersome and hard to use. They don't understand how non-technical people like themselves respond to user interface issues, so they demand weird features, and surprise, nobody can figure out how it works when it's deployed. They can't identify bottlenecks in the processing flow, but by god they WANT that flow, and then the bottleneck is IT's fault.
Indeed, my current employer relies heavily on legacy systems, some pieces of which are 30 years old... there are plenty of cases where we're asked to reengineer something, but the business users really aren't even sure how that part of the business actually works! Sometimes the best information we get is, "Then we go to green screen XYZ and put an 'R' in this field, and we don't know what happens next". Then it's up to us to track down how it actually works, backtrack WHY it's done that way, and figure out what WE need to do in the new app... all within the original deadline. Very often in medium and large companies, users have the *final* word when it comes to in-house applications, and very headstrong non-technical people end up making those decisions, so whatever those people want GOES -- and IT gets the blame if those people don't guess correctly. I've seen it at several large companies -- as far as I can tell, it's just The Way.
On the flip side, IT is to blame (sort of) because we are often in the position of having to deny requests, reduce functionality, or take other shortcuts just so we can meet immutable deadlines and budgets. The real world often does nasty things to Dream Projects, and IT is usually the ones who have to deliver the bad news. Time to wake up, your dream is over, and your budget isn't big enough to buy what you've requested.
Finally, there is a nasty bit of hidden overhead that users rarely take into account. When it comes to writing custom in-house software, IT must wear two hats. We need an intimate undestanding of programming, databases, networks, and more esoteric things like good UI design, various levels and types of architecture, the available frameworks and libraries, OOP theory, and so on... but then on top of that, we have to learn the user's job, too. In fact, since our "work product" has to CORRECTLY support, improve, emulate, and/or reproduce their "work product", we often have to learn their job BETTER than they know it. Little details they can ignore, or track down when it becomes an issue -- all must be accounted for UP FRONT before you can safely build a new system to do that job. This requires serious effort, no small amount of brains, dedication, and talent, and often receives no recognition whatsoever. The user thinks IT overstates the difficulty of our jobs (because after all, THEY do their job every day, and "all" we have to do is what they do every day), and consequently their opinion of us goes down at every turn.
This reminds me of my current project. I asked the users how they wanted the software to handle a rare but financially serious condition which I discovered was a possible case given a certain series of inputs. The user was baffled. "But that almost never happens," was the best reply I could get for several *weeks*. They had a very difficult time understanding that we still had to account for these rare cases. I could have taken the easy way out and just thrown up a warning (or some equivalent shortcut), which in this case would have caused a minor disaster at some point in the future -- but instead we eventually (slowly) tracked down the right way to handle the condition, and now it's a documented process which the application addresses transparently. Yet the user's frustration with IT inched up another notch in the process, and somehow, it's *our* fault.
I believe *this* is the kind of scenario that lead to the newspaper article we are discussing, not the occasional MS Office update.
Microsoft's Nathan Myrrhvold made a hilarious statement in an interview recently. When asked for details about Microsoft's processes for changing features in Office, he replied, "Software sucks because users demand it."
It's sad, but true.
Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005
I have to agree on at least some of his points, and also have to point out that user interfaces have, IMHO, gotten worse. The real problem is (apparantly) a rush to make users think 'hey cool, I'm using a computer!' rather than to make it actually easy to do things.
For example. Progress Bars. Progress Bars are very neat and useful. However, Progress Bars that do not rise at a constant real-time rate are useless to the user. What do they care that your program is 75% through the list of necessary operations, when the ones done so far took 5 seconds but the last one might take 2 hours? This is combined with the stupidity of the progress bar at 100% - you should NEVER SEE that, as when the progess is 100% the task is done and the progress bar should disappear. And yet one of the worst culprits for both of these is InstallShield, which has been around for years and puts this stupid convention onto almost EVERY PIECE OF COMMERCIAL SOFTWARE.
Another one is the abuse of words in user interfaces. Having an "OK" button is fine, if you're asking me for settings or to confirm an operation. But "This application has failed and will close." errors should not have an OK button on them, because the user should not be requied to indicate than this sort of thing is OK - it isn't! Yea, I know, any techie will tell you that it's 'just a convention' but why use that convention? Why not use the totally neutral "Dismiss", as used by UNIX? Likewise, in just about every application, pressing the "Help" key actually causes information, rather than help, to appear - so why not call the button "Info"?
Even worse is the responsibility shifting. Get a bluescreen on WinME and hit Ctrl-Alt-Del, and you get: "The system is busy waiting for the Close Programs dialog box to be displayed." That sounds a bit like me saying "I'm waiting for my leg to move." What, other than "the system", is going to display the dialog - the CRT fairies?
When this sort of thing is sorted out, then we can start talking about apps being user friendly. Until then, I'll be doubtful.
I'd mod you up and the parent post down. Really, I'd love to rant a little more, but you've pretty much said everything I wanted to say.
It's funny -- most of the replies in this topic basically prove what the article said -- that IT people have poor people skills and can't understand that different people think and work in different ways. Most of the replies are people pissing and moaning that users are stupid.
Amen. IT people are amongst the most arrogant and, paradoxically, insecure people in the world. When users are faced with increasingly complex systems and the only support to which they are pointed is a conceited jerk who can't understand why they don't get it and isn't shy about saying so, is it any wonder that IT departments are being disbanded in droves and the work is being outsourced? Generally speaking, the consultants who get paid more can work as a consultant at least in part because they -- shock, horror -- understand how to relate to people in a positive manner.
And part of relating to people in a positive manner -- bigger shock, horror -- means making software easier to use and ultimately more useful and productive for the end-user at which it is aimed. The people who fail to realize this are the same people who will also fail to understand that they're being laid off because the rest of the company is tired of dealing with prima donna brats.
This is a constant dilemma for a developer, because no matter how much you dumb it down, along comes a dumber user. I manage a password-required web site, and I get users who call because they can't log in, and it usually boils down to they can't type their password correctly. The most hostile exclaim "Why is this system so hard?" or "Why is this happening?" and I restrain myself from replying "because you didn't type your credentials in correctly." NO, that's "blame the user" which they don't want to hear, yet I feel vindicated when I ask them to enter a new password twice and then they say "it says 'you didn't enter the same password twice'" - after hearing from them "of course I'm typing the same password that used to work!" Ok, enough venting and back to work...
The author writes:
/. I rest my case.
Give me back my old computer stuff. And this is what I mean: I'd really like to have the system before that.
The funny thing here is that the "hard-core techies" this guy is complaining about would say the same thing! Reference all the PDP-8 / Amiga / VMS / Commodore / Apple ][ nostalgia that we are regularly subjected to here on
I do believe that software advances have left many a user out in the cold because of the inability to have their desire to learn a new tool match the speed at which the tools are revamped. I can't help but think, however, that the level of support currently provided for users allows them to get by without putting in any real individual effort. I would argue that support people do too much for their users. Technology may have moved too quickly for the average user, but it has provided a larger subset of support professionals who don't aren't represented by SNL-parodied stereotypes. I think all of us who do tech-support have tried to explain an underlying logic behind a process only to be told, 'just do it, I'll be getting coffee'.
I'm seeing a lot of comments about how Linux or OS X or whatever is easier to use than Windows. That's not relevant! No one really "uses an OS" in the sense of getting work done. In an office, most people are running one application all day, whether it be Freehand or a front-end to a database. Or they switch between a few applications, but they still don't spend the day futzing about in a desktop explorer thingy. So we're talking about how well applications are designed, not OS interfaces.
(As an aside, I think that 90% of the people promoting "Linux" are actually promoting a window manager or desktop environment, and it makes very little difference what's running beneath it.)
If I had had to summarize it into two pieces of advice, I would say:
Try this exercise....
Pick ten of your friends or relatives and visit their homes. Make it a mix of people who are techno-savvy and not techno-savvy.
1. Use their phone to make a phone call from their house.
2. Turn on their television, tune to a local channel, and get sound and audio.
Now total up the time that you needed to perform those tasks and ask yourself how much longer it took today than it would have taken 30 years ago. Even the most technically astute of us usually have to pause to find the right button to enable "Talk" on a telephone or input the broadcast or cable signal to a television that is not our own.
Amazing that while we have a lot more capability in our telephones and televisions, the most simple things have become more difficult because of the "bloatware" we've added.
First rule of software and all types of engineering should be: Don't make the user feel stupid.
JoAnn
Believe it or not, everything you just said, except for the "load of..." part is covered and descriped by personality type theory. Over time, the normal progression of a personality is to learn to mimic, or actually develop, the skills of the opposite types. So, with age and experience techies start to understand feelies and vice versa. But it isn't ever perfect. It only gets better with age and experience. And not all people ever get past their original orientation. No matter how well I can act like a extrovert, and I do a good job of it, I still find it tiring and need time alone to recover from over exposure to people. I, of course, am and introvert.
In our current techie world, one in which you are considered to be over the hill at 35, the majority of technies never really have a chance to develop the skills demanded by the majority feelies. By the time you have a chance to develop the skills, you're having to learn to work as a fry cook.
A study I read recently measured the MBTIs of a large number of engineers in all fields. Then cross compared their yearly evaluations to their MBTI scores. They found a better than 90% correlation beteen an engineer being rated excellent, and having an MBTI of INTJ. INTJs make up roughly 1% of the population. Most people will go their entire lives without ever meeting one. And when they do they will find the person to be very odd. And yet, they are the population of top engineers in all fields.
The greatness of humanity is not in our sameness, but in our variety. It is through recognizing and appreciating the differences that we gain. But, if we don't recognize the differences we can't embrace them. If we belittle people for being different, we can never embrace the differences. The first step is admitting that the differences exist. The second is learning to value and respect the differences.
I have found MBTI to be a very valuable tool in dealing with people. Once I understood that the other preferences existed and what they meant, I found I could deal with people more effectively and understand where they were coming from. I'm an INTP, one of my dearest friends is an ESFJ. Before I learned to understand the differences and the value of the different preferences I would have considered her to be odd and annoying. Now, I have some understanding of her point of view and can communicate with her easily. And it works the other way too, now she understands what it means when I don't say anything, or just ask questions.
Pretending that everyone is the same, is as bad as belittling people for being different.
Stonewolf
Thus speaketh the pundits:
"Techies, professors conclude, must act more like psychoanalysts; they must learn to "appreciate the difference between what people say and what they mean."
and...
"tech folk "would need both technical and interpersonal skills."
Over and over I hear end users whining about how difficult it is to understand computers, when the apparent total extent of their computer knowledge revolves around the top four commands on the file menu. Try to show them something new (i.e., Copy/Paste), and you're rewarded with a lengthy lecture on how things used to be, and how much better it was when ignorance was bliss. While that may have once been true, the age of Internet-everything demands at least some form of end user intellectual responsibility, or something or someone gets seriously hosed.
And it's not as if this stuff is difficult. The last time I looked, ALL of the computer manuals and help files in my office were written in bloody ENGLISH! What, in the name of Christ, is so difficult about reading?!?
I think its high time end users changed their attitudes and took a few steps towards learning how to deal with technical staff.
Geeks are continually being fed lines similar to those above at just about every stage of their careers, yet there is very little being said to end users about their attitudes to "techies". Part of the problem, as I see it, is that most end users are unwilling to take on any extra knowledge that doesn't directly apply to their defined job function. As a result, anything a "techie" offers in the way of improvement is viewed with either outright distrust, or cagey cynicism.
For many, it is far easier to marginalize technical staff ("Oh look, the techie's talking again. Isn't he cute?") than to make an attempt to approach them at a personal level ("Hey Bob, can you explain to me why a DDoS attack is a 'bad thing'?). Geeks, on the other hand, are constantly reduced to deconstructing just about every aspect of a computer's functionality down to terms that border on Seuss-ian simplicity. What the end users seem to be unwilling to grasp is the fact that, ultimately, there is really only so much dumbing down a geek can do. New technology requires a new vocabulary.
BTW. In the field where I work, "techies" are referred to as "Computer Responsible Persons" or "CRPs" for short. Anyone care to venture a guess on how THAT acronym gets pronounced?
I'm not tense. I'm just terribly, terribly, alert.
Sure IT people have problems. Some are their fault, many are the fault of management or marketdroids or someone else. But when it comes right down to it, it is impossible to design software that is easy to use by all who need to use it. It's that simple.
Let's start with a real world example. Many people drive cars. Most consider cars easy to use. They go as far as to compare them to software and say "it should be simple, just like turning a key and it goes!"
Cars are NOT easy to use. You have to take many classes to learn how to use them and log many hours of driving before you're even allowed to use them unsupervised. It takes years to get proficient at it (inexperienced drivers get in lots of accidents). They aren't a "turnkey solution", they require a very complicated set of actions to get it from one place to another, and the actions vary significantly each time depending on conditions, traffic etc. But since people do it every day, and are willing to learn, and practice and work hard in order to have the priveledge, they THINK it's easy.
Cars only are good for one task really - driving from place to place. On the other hand, computers perform HUNDREDS or THOUSANDS of tasks. Most of the time, those tasks require the exact same steps each time you do them. But people are unwilling to set aside time to learn, and just complain. They ask for changes, but won't articulate what they'd like it to be like. They just want it to be "better" or "easier" or "more like [some invalid analogy]".
No matter how easy you make the software, people will still be unwilling to learn it, and will remain confused because of their own stubbornness. An example to prove my point:
We recently installed some new shipping software. We had to because it needed to interface properly with the company doing the shipping. It isn't the greatest software in the world, but there weren't a significant number of end-user changes, and all of them were good changes, mostly small ones. Of course, right away we get a call from an employee who is utterly confused. They were so confused in fact, that they shut down the computer and were afraid to turn it back on.
They had entered some orders, and with each a dialog appears asking for shipping information. There is a certain checkbox that they check for almost every order. After entering several orders, a dialog box popped up that says roughly "I see that you've checked [that checkbox] for the last four orders. Would you like me to check it automatically in the future to save you time?" It had two buttons, "yes" and "no".
Now, I would argue, that the course of action in this situation should be COMPLETELY intuitive, and any idiot should be able to decide which they'd prefer. But apparently that's not the case. This is almost an exact transcript of the conversation. No, I'm not joking.
Employee: "It came up with this box, I've never seen it before!"
IT: "I'll take a look at it." [brings it up on the computer] "Oh, it's just asking you if you want it to automatically check that box for you in the future."
Employee: "But it's never come up with that before! Why is it coming up with it now? What should I do?"
IT: "Well, it's probably part of the new software. It sees that you always check that check box and wants to save you time."
Employee: "But it's never come up before! I don't know what to do."
IT: "Well, do you want it to check that box for you automatically when you enter orders?"
Employee: "I don't know. I don't want to do the wrong thing."
IT: "It will just check the box automatically. If you have an order that doesn't need that, you can uncheck it."
Employee: "So which should I click."
IT: "It DOESN'T MATTER. WHAT DO YOU WANT IT TO DO?"
Employee: "I'm not very computer-literate."
IT: "Just click yes."
Employee: "Ooookaaay. I just don't know. It's never come up with that before."
IT: "Yes, you mentioned that."
You can see that the person didn't even want to try to learn what the thing does. They went as far as refusing to let the English language of the box into their brain for fear of being contaminated with thought. It goes way beyond being unwilling to learn complicated instructions or cryptic commands. They were unwilling to not be a robot. If a task involving computers requires any sort of independant thought, logical processing or even READING of direct, onscreen instructions, many users are completely unable to accept the idea of them performing the task themselves.
... "Give me a woman who loves beer and I will conquer the w
And so after a nice test-drive we knuckle-walked off into the sunset. But I understand end-users of software much better now.
Well I think the reason why people do not like IT people is a follows. We are at fault for it. We as tech people will go around telling them that since they don't understand computers that are stupid. The other day at my LUG group the people were calling the general public a bunch of stupid idiots. Look at it this way, why work with and respect someone who just going to call you stupid. I know many very very intelligent people that have never used a computer.
I have at my church gotten linux used on 2 computers, soon to be 3. The reason the people were open to the idea, was not because I went in and started badmouthing what they were using, I went in and said this how we can make what you do more efficient. I have set up a network and installed a samba server and a linux firewall (this also allowed the church to save on internet connectivity, instead of 3 isp at 20 for the different users, one dsl at 40 a month a savings of $20 a month.) When you go to people remember that they may not know computers, but that does not diminish them, and does not mean that they are idiots.