Stop Listening and Start Watching If You Want To Understand User Needs
rsmiller510 writes "It would seem on its face that simply asking your users what they need in an app would be the easiest way to build one, but it turns out it's not quite that simple. People often don't know what they want or need or they can't articulate it in a way that's useful to you. They may say I want Google or Dropbox for the enterprise, but they don't get that developers can be so much more creative than that. And the best way to understand those users' needs is to watch what they do, then use your own skills to build apps to make their working lives better or easier."
Sorry, but to anyone who's worked with users in any serious capacity for any length of time, this is kind of obvious. And when I say "Kind Of", I mean "blindingly".
The best way to make the tools that help your users is to understand their job. Get in there and do it yourself. Only then will you have the knowledge you need to create the tools that will really save them time.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
Don't program what they say, but what they mean.
There are fewer illiterates than people who can't read.
I'm a developer and I've been doing this for years.
IANAD (I Am Not A Developer) but isn't this Standard Operating Procedure in most software development these days?
Another big factor is that very often they'll be afraid to say what they really want because they don't want to be perceived as lazy. And guess what - every time and effort saving enhancement to someone's job makes them look lazy until their boss piles on more work.
When designing systems for my clients I first listen to what they are trying to convey but then I always take a trip to their locations, departments, stores, whatever it is and I just ask to be allowed to be there, to see what they are doing. Some operations are quite intricate, so I have to sit in with a user and have him/her guide me through the processes, sometimes it's enough just to observe what the operations are like to understand problems.
For example when I started building my retail chain management systems, my background in telecom / banking / insurance / manufacturing / utilities did NOT prepare me for what I observed in retail, in fact it was counter-intuitive and seemed wrong on its face. When an execute order comes to a bank, everything is done in the proper sequence, the transactionality is ensured, etc. In retail that's not the case at all. An order arrives to a store, the boxes can be checked for the products quickly and then pushed to the floor, where the items are placed on the shelves immediately and then they can be sold right away.... but the order may not be in the system yet, so this means the products are NOT in the electronic system and they can already be sold.
This means you have to be able to handle negative amounts of products, as an example, all the way from the cash registers to the accounting systems and your systems have to be able to deal with all of these weird situations, weird from POV of somebody who is used to strict transactionality in terms of processes.
Yes, you have to observe people working IRL or you'll have a bunch of preconceived notions that may be totally wrong and your systems won't handle them at all.
MY OTHER COMMENTS
This isn't a problem of "eating your own dogfood" . . . Its not enough to use your own product. (I think) the point of the article, is that you should observe UNexperienced users and how THEY utilize (or have difficulty utilizing) the product.
I encountered the same thing this weekend using a popular "drawing" type product . . . watching the videos on the Company site, or on Youtube, made it seem easy. When I tried it for myself . . . I couldn't draw lines in an color but BLACK for TWO HOURS. The "experienced" users . . . unwittingly skipped over many basics a newbie user . . . just doesn't know.
It should almost be a "interrogation room" "through the glass" observation. So the developer can't "train" and can only see the suffering the new user experiences while trying to "find" the features they need.
For the tool I was using . . . its ultra powerful (once you know it) but . . . even the simplest features are maddeningly difficult to initially find. Easy and Powerful once found, but tortuously difficult to find.
That's the kind of "observation" I believe the article spoke of.
No, I don't remember your name. But the memory mapped screen on a TRS80 from 1977 is from 15360 to 16383 if that helps.
Listen to them and watch them. If you want really good app, work with them.
My first rule is to always ignore what the user said and go watch what action they were performing when the error happened.
Users are bad at articulating issues, because they often convey their opinion of what is wrong rather than describing the empirical event.
To be fair to users, I also suck at talking to people, which is why I fix computers for a living.
I think its more about understanding needs. Don't stop at listening may be better. Listen to what they say "I want drop box" and think what does that mean?. Does it mean "I want some third party to make everything work"..... no it means they want a way to make working with files so seamless that it seems like they have a single global filesystem...without having to think about it.
I want drop box everywhere too. I don't want drop box at all because I don't want some unknown third party who does who knows what and I don't want to run somebodies proprietary code and service for anything that I rely on working...but the underlying "I don't care about the details" functionality.... absolutely, I want it too.
"I opened my eyes, and everything went dark again"
My wife is a nurse practitioner. Anyway, she is constantly complaining about how the software's UI doesn't make any medical sense - like things she needs the most are a few screens deep and the things that she rarely needs are right on top.
Or when entering vital statistics the individual's height has to be entered every time - at least have it default to the last entry because even if you're doing pediatrics, the height may not have changed since the last visit.
i was an alpha tester back around 2008
there was no cloud storage, but you could sync files between your computers running the client. i left my home PC on and sent files while on vacation 1600 miles away. Everyone testing it said how awesome it was on MS Connect. Of course MS didn't do anything with it and dropbox was born
Apple tells me what I need, thats the perfect scenario right?
...but our idiot society has no clue what Industrial Engineering is.
I am a very good program designer who has an excellent grasp of what users actually need, but I had to give up trying to work in the field as every company expects me to just write code to some absurd specification.
When is the last time you saw a carpenter design a fine building...never.
FUKEMALL
When I did my Degree in HCI 20 years ago, this was the touted as the way to get the best results when building usable, user-centric systems. Sadly in the two decades since, I don't think I've ever come across a system - hardware, software, app, or anything else for that matter, that actually develops this way. Which is a shame because if they had, my elderly mother could have probably been able to use a PC by now, intead of "What you mean I have to move that little arrow thing All the way over there and press what?"
There is no substitute for side-by-side. Which is really hard to do if your user is in Denmark, your designers in California, and the development team is in India. Which is why Agile works not for distributed development.
putting the 'B' in LGBTQ+
I wonder if the Slashdot admins will be doing either when they pull a YouTube and inevitably (it's always inevitably, for some reason) turn the main site into beta.slashdot.org.
Here's an easy one: "Archieved[sic] Stories" at the bottom. Listen to us, watch us, whatever, but please don't fuck it up, and fix what isn't right.
You can hold down the "B" button for continuous firing.
Most of the time developers want to ship the product by the due date, and usually decide that they're smarter/cooler than the users anyway. "You'll take Feature X and suck it, luser." is the motto.
I want to delete my account but Slashdot doesn't allow it.
Any decent HCI text will tell you the same thing. This has been known for a few decades now.
Back in my Systems Analysis class. You don't just ask the user what he wants. You ask what he does, and then you sit and watch him do it for a few hours. Maybe take notes. Ask questions. Get comfortable with what they're doing. And once you feel comfortable, ask if you can "drive" their existing applications for a bit.
I would never have found out about a critical missing feature in the new application I'm working on if I didn't make a point to have my morning coffee with the local power user of the app. She was dealing with complaint phone calls from customers that day, and it turns out we had no real means of tracking the complaints. That should be requirement #1 for a CMS application!
Occasionally living proof of the Ballmer peak.
This may be surprising to you, samzenpus, but there is an entire field of study called "human-computer interaction", and it has been around for about as long as computers have.
And one of the most valuable methods for gathering data has ALWAYS BEEN the observation of users.
Isn't this what Business Analysts are supposed to do?
In C++, your friends can see your privates.
Market Pull. Tell them they need it, They will. Computing is and always will be a tool. The fact that i's now an intrigated part of our lives is just something or other. Im drunk.
A few years I was with a company where several hundred users had to use the same database application. It was fairly large, with lots of features and was the golden company standard. The problem was that it was a buggy, crash prone POS that made everyday a nightmare of restarting software in the middle of something important - worst case a full system reboot. It made everyone's lives miserable. The complaints were universal across all users, we were always complaining to management who themselves knew it was crap software. From management our grievances would go to the mysterious developers that no one ever actually saw. They would review our complaints and roll out useless software updates that would sometimes disable important features, or at best make the situation worse. They simply didn't get it because they were so disconnected and segregated from the end users. This went on for years - people quit their jobs over this. One day, without much warning or any explanation as to what it was about, I was called into a focus group with what appeared to be a random sampling of end users. Holy smokes! The mysterious shadowy developers were right there in the room! We spent a couple hours talking with them one-on-one about the issues and the order of priority for what needed fixed. At the end of the meeting, it was agreed that the developers would spend the next week sitting with us at our desks, watching us use the software. They would spend a couple hours with someone at one desk, making notes, observations, actually seeing our problems and the business impact they were having, asking questions, and then select another random person.
After that week of seeing things first hand, the software was fixed in about a month.
Brought to you by Carl's Junior.
As somebody who's been in the software industry for well over 10 years, this is both blindingly obvious (to the experienced) and highly useful information. (to new entrants)
It's why articles on screen or pidof on *nixCraft are useful: there are always people who haven't already been doing this for more than a decade, and we, as the more experienced, should rightly welcome informative articles like this as it improves the general pool of competent professionals.
I have no problem with your religion until you decide it's reason to deprive others of the truth.
My comment about customer feedback and especially surveys (so asking for customer feedback) is if you just ask them "what do you want" out of a product.You'll get back great useful answers back like: "It should be "better", cost a dollar, have all possible features we could ever possibly use, but we only really use 5% of them, but it has to be so easy to use nobody needs training, and a pony".
Generic and conflicting requirements that are frankly useless.
Ignore the users, they don't know what's best for them.
Henry Ford lost over 50% of his market share by refusing to listen to his customers, his employees, and his family. Everyone told him that customers wanted different color cars. Ford said any color you want, as long as it's black. And GM ate his lunch. Be condescending to your users at your own risk. Shoot, GNOME seems to pride itself on doing the opposite of what users want and that is working out so well for them.
Every time I've asked to observe a user, the request baffles them. They've never had a developer do that before. I've never seen a developer other than myself just observe the user, keeping one's own mouth shut.
Users do the most surprising things, so watching them really is instructive.
so you want to legitimize in-app or in-application analytics and monitoring? no thank you. the privacy and security implications are astronomical when done incorrectly... and history has shown that things like this are, more often than not, done incorrectly.
My customer is the patient and the FDA.
In all likelihood neither of those is your customer. Your customer is the person tasked with actually using the device, most likely a nurse or doctor, and the organization that pays you for it. The FDA is certainly not your customer. The FDA's job is to ensure you aren't selling snake oil. They do not buy or use your equipment. They are a regulator not a customer. Just because you have to please them doesn't make them your customer.
If making it easier for the nurse compromises the safety of the patient, its BAD software.
Of course but making it needlessly difficult for the nurse also compromises the safety of the patient AND it hurts operational efficiency which is both a treatment risk and an economic cost. Safety first obviously but don't try to excuse bad design as a safety measure when it isn't.
1) Ask the user what they need
In my experience users are more often than not pretty bad at articulating what they need even when they know. Even more often they simply cannot envision doing things a different way. I'm an industrial engineer by training. If I walk out onto our shop floor and ask even my best people what they need (and I do this all the time), I'll usually get a non answer unless it is something like a supply for something they are already doing. You still have to ask (sometimes they have good input) but almost always it is a waste of time. In fact you would be amazed at how few people can write a simple work instruction for something they do every day. They leave steps and critical details and corner cases out often because it is too second nature to them. They're even worse when it comes to writing specifications for things they haven't tried yet.
However when you do run into that rare person who can actually envision and articulate what they want, it is a joyful thing.
As I watched several users go through a few of my apps, an interesting behavior became apparent.
Many people as soon as they see a new screen on a mobile app instinctively flick up or down attempting to scroll. If the page doesn't bounce or in any way give them visual feedback they think that it's frozen and start to tap around looking for a response.
After that, I started making every single screen in my apps scrollable, even if it just bounces content smaller than the screen. That tiny little change makes users feel like the app is faster and more stable.
Cwm, fjord-bank glyphs vext quiz
However in the case of Google + and Youtube, developers can both watch AND listen.
http://www.youtube.com/watch?v=LTq8TrA3hb4
At one now-defunct Fortune 500 company I worked for, they were sort of reluctant to apply any informal techniques like watching users try to use software (without instructions or coaching), because they had a nascent Human Factors group that wanted to build a facility with one-way mirrors and video cameras, and they kept telling everyone that you needed to have a facility like that in order to learn anything.
On numerous occasions at numerous companies I've simply corralled someone, anyone, who had not yet used the software, and asked them to try to accomplish basic tasks with it. "Please forgive me for not helping, I just want to see how far you can get without help. I'll help you if you really get stuck." And then I've watched them as they tried to use my software.
I always learned a lot from this, and I learned it very quickly, and a lot of what I learned was really trivially easy to implement. You can so easily miss the blindingly obvious when you are familiar with the software yourself.
The worst advice--well, maybe not the worst, but bad advice--tended to come from people giving advice that they imagined was on someone else's behalf. You really do NOT know what things people are going to find easy or difficult until you actually watch them try.
"How to Do Nothing," kids activities, back in print!
Programmer sits down behind pretty new staff member with a bag of doritos and a coffee and starts munching and slurping.
"Don't mind me, I'm just here to observe your work habits."
*LMAO*
I do not fail; I succeed at finding out what does not work.
Sounds like what I refer to as "What do you mean, usability? It's skinnable!" syndrome.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
"And the best way to understand those users' needs is to watch what they do, "
I read that and thought this was another NSA story.
> People often don't know what they want or need or they can't articulate it in a way that's useful to you.
This is not an acceptable excuse for the existence of Windows 8 and "Modern" UI.
I work in Digital Interactive, building software for agencies & marketing departments, all of which ends up on the Internet. The software is what we call "consumable" in that it has a short life span, and only needs to be just good enough to work, and no better. It's not at all unusual to have the client redesign half of the project a week before launch. You write functional specs, nobody reads them. You create wire frames, nobody understands them. You get a creative brief that's all marketing speak, and layered photoshop files that are the design spec.
Coming from traditional I.T. the first six months were spent in a state of shock, refusing to believe that this process can actually work. Then you realize that 99% of the software on the Internet was written exactly this way... There is a "process" but you won't fit it into any SDLC you can find. It's CMMI level zero ALL THE WAY, everywhere.
This entire thread would have the Digital Interactive crowd going "Huh? What's this go to do with building websites?"
Murphy was an optimist