[HN Gopher] When users never use the features they asked for
___________________________________________________________________
 
When users never use the features they asked for
 
Author : jermaustin1
Score  : 150 points
Date   : 2021-09-29 20:41 UTC (2 hours ago)
 
web link (web.eecs.utk.edu)
w3m dump (web.eecs.utk.edu)
 
| ipaddr wrote:
| People will buy products because if features they will never use.
| Not building costs money.
 
  | 542458 wrote:
  | This is particularly true if the "users" aren't the ones who
  | are signing the cheques. Sometimes shiny stuff that looks good
  | in a product demo or on the trade show floor is what it takes
  | to actually move units.
 
| adamm255 wrote:
| Nice post. I liked this take away. "Users say things for a
| reason, but there may be more to it than face value."
| 
| Theres often more to what a human says than face value. The key
| is to always be asking questions, always ask why, multiple times.
| Ask questions until you feel like you're on the edge of pissing
| someone off.
| 
| Often, a good bit of time up front can get to a few outcomes
| which save you a massive headache.
| 
| 1) You understand the feature so well, you're ready to go and
| know it will be used. 2) The REAL ask was something totally
| different, and now you know what you need to do (nor not in some
| cases, sometimes its training, using the product properly/as
| intended etc).
| 
| You're also going to be giving the requester the space to fully
| explain themselves, and sometimes they can talk themselves round
| as well. At the end of the day everyones a winner when we ask
| more questions and listen.
 
  | new_guy wrote:
  | The 5 whys https://en.wikipedia.org/wiki/Five_whys
 
| strict9 wrote:
| A metaphor for this situation (building exactly what customers
| ask for) could be the car Homer Simpson designed ("The Homer").
| 
| https://simpsons.fandom.com/wiki/The_Homer
| 
| Not that all users are equal to Homer, but what they think they
| want and what they actually need are very different.
| 
| It's better to get more detail on the problem, then present a
| series of possible solutions to evaluate and iterate on.
 
  | smusamashah wrote:
  | Not just that. If the feature is given in an usable or other
  | poor form. They won't use it even when they have it right
  | there. May be its not very obvious, or complicated, or too time
  | consuming. Design makes all the difference.
  | 
  | If you give them something they never needed or asked for, but
  | it's so obvious and simple to use, they will use the hell out
  | if it.
 
| KirillPanov wrote:
| ... and this is how we got WebUSB.
 
| everdrive wrote:
| Sometimes I wonder if software is becoming worse because logging
| is coming better. We have so much data about problems that users
| are having, feedback they're providing, etc. Perhaps following
| the mass of people is the root cause of software's constant and
| worse UI changes.
 
  | quickthrower2 wrote:
  | Jira takes the biscuit with their text editor. Always changing
  | and hard to make sense of. Recently ctrl-enter and enter
  | actions were swapped!
 
    | Minor49er wrote:
    | My favorite thing about their text editor is that it will
    | delete all of your changes with no option for recovery if you
    | accidentally hit the escape key. I also like how this has
    | been an open issue for many years on Jira, but they refuse to
    | change it for some reason (or at least that's the state of it
    | the last I checked about a year ago. Thankfully, I don't have
    | to use any Atlassian products anymore.)
 
| valparaiso wrote:
| Ha. Title is right about Android fanatics and Apple.
 
| [deleted]
 
| protomyth wrote:
| The funner one is unique to enterprise developers. Begged to
| implement a feature to the enterprise software, the development
| team puts in a hell of a lot of hours to get this time sensitive
| feature into the production. Then, out of nowhere, a manager of
| some import informs everyone that they cannot use that feature as
| its "against best practices" or some other language to that
| effect. Bonus points if said manager was on the email chain about
| the feature and its progress.
 
| datavirtue wrote:
| I was hoping for a good old fashioned, negative developer rant.
 
  | rightbyte wrote:
  | The author is atleast referring to those rants as "angry mails"
  | he got.
  | 
  | I think these automated CI systems is a losing battle. It makes
  | the build chain to complex. There is too much corner cases that
  | gives false positives unless you keep it dead simple, like eg.
  | enabling all warnings are errors or something in gcc.
 
| macando wrote:
| > _Turns out there were a few hiccups: everyone involved in that
| project we wanted to use had left the company, we had no idea how
| to build the source code, it had something like 500,000 lines of
| code, and the one person we found that knew anything about the
| project was 13 hours ahead and stopped replying to our emails._
| 
| When you don't talk to users this is what you end up with.
 
| [deleted]
 
| [deleted]
 
| commandlinefan wrote:
| I once spent a week working on a fairly complex feature for a
| product that the users were demanding almost daily updates on. I
| delivered it and, by coincidence, happened to be where the users
| were a couple of weeks later and I stopped by to say hello and
| saw that the user who had been asking for the feature every day
| was still using the product the "old way". I asked why and he
| didn't seem to follow what I meant, so I reached over and showed
| him the _feature that he had been demanding I add_ and he said,
| "oh, wow, that's awesome, that's going to be such a huge
| timesaver for us!"
 
  | jsemrau wrote:
  | The wonders of digital transformation. One of my biggest
  | insights here was that digital transformation is not only the
  | technical upgrade or simplicity of implementation but rather
  | the cultural implementation i.e., process re-development and
  | re-training.
 
  | quickthrower2 wrote:
  | You did the customer success role.
 
  | DrammBA wrote:
  | How subtle was the update message letting the users know about
  | the new feature?
 
    | garmaine wrote:
    | Yeah sounds like the lesson here is that nobody reads the
    | update messages.
 
      | Semiapies wrote:
      | Couldn't have anything to do with how app update screens
      | share the exact ergonomics that subscribe-to-the-newsletter
      | nags and other ad popups have.
 
    | Aeolun wrote:
    | I mean, they stopped demanding the feature every day. Clearly
    | they were aware that _something_ changed.
 
| oceanghost wrote:
| Before the launch of the XBOX 360, the company I worked for was
| one of their suppliers, and without going into enough detail to
| make me identifiable, the management of our two companies had
| arrived at sort of a stalemate: We didn't want to tell them
| exactly how our algorithms worked, and they didn't want to tell
| us exactly what they were doing with them-- think of it like a
| data compressor where, we don't want them to know the exact
| compression algo, and they don't want us to have their data.
| 
| So, somehow, It is arrived at that a website will be created that
| encodes MS's proprietary data, but doesn't store it, but also our
| algorithm is implemented server side, so there's no leakage of
| proprietary stuff.
| 
| A month later, the app is done and tested and I'm decoding data
| from the website on real hardware. I move on to the next project.
| 
| Three years later, the Xbox 360 is out, I decide I'm tired of
| filling out reimbursement forms for Heroku and its got to be a
| security risk with no updates in 3 years... so I take a look at
| the apps stats to see if its feasible to shut it down--exactly
| zero users. Nobody ever attempted to use it, not even once.
| 
| Ironically and unknown to me, the source code had been lost in a
| freak accident and when I deleted the Heroku account that was the
| only copy of the source left.
| 
| Even worse, a year later someone claimed to have a use for the
| app and where was it please? And I had to explain we no longer
| had the source. I remember a very long e-mail about how
| irresponsible we were.
 
  | arthurcolle wrote:
  | Cool story thanks for sharing - so how did they get around the
  | issue for three years without the app?
 
  | AmericanChopper wrote:
  | The worst programming experience of my life related to lost
  | source code.
  | 
  | I was working for a place that had a service running from a
  | Java app that was customized for each customer, about 200
  | copies of roughly the same app. There was source control at
  | some point, and when a new customer was being on boarded they'd
  | just make the customizations they required, compile the app,
  | and deploy it.
  | 
  | By the time I worked there (years later), all source code had
  | been lost, and I was tasked with creating a CI/CD system that
  | included managing these apps (they'd now decided they needed to
  | be maintained).
  | 
  | For each one I had to decompile the whole thing, rewrite the
  | code into a human readable format, redeploy and test it. They
  | were filled with all sorts of horrible anti-patterns too, like
  | hard coded file paths, and some of them were only used once a
  | year (but for an absolutely business critical process).
  | 
  | About half way through we had a major data center failure that
  | meant we had to do a failover, which of course broke most of
  | these apps with all their hard coded configuration. So instead
  | of having months to work through all of this garbage, I was
  | asked to get them all working immediately.
  | 
  | I got them all working in 3 days, which I thought was quite a
  | monumental accomplishment. But my CEO was very dissatisfied
  | that it took so long. I quit a couple weeks later, and still
  | almost regret putting so much effort in to saving them. A
  | friend of mine still works there and apparently all of these
  | applications are in exactly the same state as I left them.
 
| karaterobot wrote:
| Slightly frustrated to read this, because this is user research
| 101! It's really impressive when someone independently discovers
| practices from an outside discipline, just by observation and
| inference. However, somebody could have saved this poor guy a lot
| of frustration by not forcing him to develop a product design
| methodology from first principles.
 
| huang47 wrote:
| thanks for this great write up and I wish I could read this 10
| years ago :).
 
| kerblang wrote:
| One of many things I learned from writing software just for
| myself is that I'm just about as bad as anybody at figuring out
| what I really want, even when I'm talking to myself. I've even
| had one or two cases where I ignored a feature I asked myself
| for, and much later realized: Hey, I could actually use that. The
| worst is asking myself, "How many times do I have to ask for this
| before you quit procrastinating and just get it done???" I'm not
| sure which of me is the bigger jerk.
 
  | Arrath wrote:
  | Oh hey its me. I've done some painstaking work to add a feature
  | (hell, even just an excel macro that at the time seemed useful)
  | and realize like 9 months later I've used the feature a
  | whopping 3 times.
 
  | austincheney wrote:
  | The challenge there is when people start using your personal
  | project. Yes, you remain in control and you remain the primary
  | user. But... now regression and features become a much greater
  | concern because the last thing you want to do is harm other
  | people even if they are only a secondary audience. As the
  | project grows this becomes the most pressing concern regardless
  | of who is the primary user.
  | 
  | That begs the question: Why bother growing the application
  | beyond the smallest set of explicit use cases? When you are the
  | primary user AND the only use environment or input samples are
  | written by you life is simple. The moment you must analyze
  | something not written by you, even if this usage is only for
  | you, the problem cases blossom. If your application refuses to
  | solve for those cases then you need to add more features or use
  | a different application.
  | 
  | Those two scenarios seem to feed each other which becomes
  | evident by traffic or usage numbers as you pull your hair out
  | keeping up with some hobby application.
 
| yupper32 wrote:
| A fine post and I'm sure a fine tool, but why is an internal
| linter tool the subject of a proper academic paper?
| 
| I can't imagine writing an academic paper for any of the projects
| of similar complexity and general interest that I've worked on.
 
| endisneigh wrote:
| This was a nice article, but I'm not sure the title is
| representative of its contents. I think the first (Keep your
| users in the loop, always. Do not go build in isolation) or
| second to last (A user's workflow is everything ) bullet the
| author uses for their summary is findings to be more enlightening
| and representative.
| 
| Internal tools definitely require a close relationship with some
| set of users to really validate what's being worked on. It's just
| too easy for teams to make unused internal tools. The feedback
| loop is generally just not there initially. You really have to go
| and find some users. In this way it's similar to pre-seed stage
| startup life.
 
| david_allison wrote:
| Great article, but I disagree with the premise.
| 
| Code review is too late for most automated analysis (at the level
| of: "parameter isn't validated" as seen in the screenshot), it
| should ideally be done as a compiler/lint check in the IDE, and
| at worst as a git pre-commit hook.
| 
| In most cases it's not worth sending a code review if there is
| automated feedback which can and should be addressed before a
| human sees it. It streamlines the reviews for reviewers, and
| gives new contributors a much better experience as they have less
| feedback to address, and more confidence that their code is
| correct.
 
  | Quarrelsome wrote:
  | There's nothing more frustrating than a stupid machine telling
  | me it knows better when it doesn't. I used to work on a team
  | where the build defaulted to fail if something wasn't used and
  | debugging was a fucking nightmare because the moment you
  | comment out a block of code there's a cascade of warnings into
  | errors that is just never ending (it was typescript so it
  | leaked all the way back to module definition). I had to piss
  | away some time to write a script to turn a bunch of the rules
  | off and then remember to re-enable them later or I'd break the
  | build by breaking someone's OCD.
 
    | macando wrote:
    | Had an issue like that. The workaround snippet that fixed it
    | was aptly named stfu.js by the author.
 
    | marcosdumay wrote:
    | Well, don't turn warnings into errors. Doubly so on your
    | development environment. That's not a good reason for not
    | running a linter while developing.
    | 
    | But, of course, if the decision was out of your hands, people
    | that do that are usually the same that enable all linter
    | rules. Neither decision makes for a good development
    | practice.
 
  | 3pt14159 wrote:
  | Your comment is more true today than it was back then, not that
  | I disagree with you posting it. Back then linters were a
  | twinkle in the hopeful eye of software devs. Now they're battle
  | hardened.
 
    | buescher wrote:
    | Back then was 2018. Lint dates from the seventies. I doubt it
    | was the first static analysis tool, either.
 
      | 3pt14159 wrote:
      | You're right. I read 2008 in the post and thought the
      | writer was talking about a time shortly after then. By the
      | late 2010s linters were prevalent.
 
| caseyross wrote:
| When you ask people to imagine a feature, they're going to
| imagine the absolute perfect version of the feature, for them
| personally. A feature that requires no effort to set up or use,
| provides exactly the information or functionality they want, and
| never gets in the way of anything else.
| 
| Everyone takes for granted how smooth their own workflow is to
| them, both because they're already used to it, and because they
| sunk effort into it to make it smooth (via learning or planning),
| which has probably been forgotten. So, people just take for
| granted that new features will maintain that acquired smoothness
| --- unfortunately, they usually don't.
| 
| As the author found out, most of the work in building features is
| often not in the "raw functionality" of the feature, but rather
| in making something that performs its functions while _also_ not
| costing the user significant extra mental or physical effort to
| use.
 
___________________________________________________________________
(page generated 2021-09-29 23:00 UTC)