Hacker News new | ask | show | jobs
by parliament32 2178 days ago
>"The rat is always right." Green explained: "If you set up an experiment and the rat doesn’t do what you want it to do, it’s not because the rat is stupid, but because you set up the experiment wrong. It’s the same with humans."

I think this is important to remember in our field too. Too often I hear about a user story breaking down because "the user wasn't doing it right".. blaming the user is the wrong way to go -- you just set it up wrong.

3 comments

blaming the user is the wrong way to go -- you just set it up wrong.

Sometimes the user is wrong. If a person drives their car into a lake and drowns, do we say that cars are broken because they allow this? Or do we point to the millions of other drivers out there and say that driving on roads (and not into lakes) is the expected user behaviour?

An extreme example, sure, but I think it also translates to software. Some people criticize vi/vim for being modal because it confuses beginners. They use this as the basis of an argument that vi is a bad way to edit text or that modal interfaces are bad in general. But tons of other people take the time to learn the vi system of modal editing and they love it so much that they write plugins for everything else in an attempt to replicate that experience. Who is wrong here?

That vim dumps you into a screen with no guidance and where your keypresses appear to do nothing (or apparently random things!) would be the problem here. It would take very little to have it say "type :help to learn how to use this program" in the bottom of the screen when it starts up. It's also confusing because many Linux systems are set up by default to launch vim whenever another application requests an editor, even if the user uses something they are more comfortable with otherwise. This could be resolved by asking "which editor do you want to use?" instead of dumping the user into a randomly selected editor.

You can build powerful systems without confusing people who often never intended to wind up in your program in the first place. You can even build them to show people how to use them.

It would be great to have a tutorial you can run, a tutor of some kind perhaps.
> It's also confusing because many Linux systems are set up by default to launch vim whenever another application requests an editor, even if the user uses something they are more comfortable with otherwise.

  export EDITOR=/my/fancy/editor
You usually don’t figure this out until after you’ve already run into this issue.

In Windows if you open a new filetype for the first time, it asks you what application you’d like to set as the default type, and on top of that it tells you where to go to change that later. That’s what beginner friendly UX looks like, not just throwing the newborn into the pool like Linux does with Vim editing.

It is not that I don't understand the "problem" - after all, I ended my very first accidental vi session with a reboot as well. But that was 23 years ago, long before Linux/GNU distros would be installed with a GUI and then boot into a GUI.

If the "newborn" in 2020 insists on using the terminal instead of the much more beginner friendly options that are the default nowadays... granted, but why compare a terminal editor in unix to a GUI? That is like comparing apples and oranges and then complaining that the strawberries don't taste like bananas.

Throwing up a menu to provide context and ask you what you want to do, rather than assuming a default, is not some thing that only magical GUIs can do. CLIs with menus is not some crazy new thing.

As an example of how manually configuring the editor flag can be annoying, consider a job where you regularly ssh into many machines, each that just by default use vim. I know how to use vim, I just don't like it, but pretty much every single machine I have booted into always assumes I want to use vim, and even if you remember to change the flag doing it to many machines all the time is majorly annoying.

Way to miss the entire point.
That's what the EDITOR environment variable is for.
Which is great... as long as you knew about that environment variable before you got into this situation in the first place. You're not exactly told about it during the install process or "first steps" guides for any distro I'm aware of.
>do we point to the millions of other drivers out there and say that driving on roads

Cliffs, lakes, and highways often have guardrails, even if millions of cars drive by without going over the lines.

Vim, IMO, is different because it's not meant for consumption by the general public. Vim is a sysadmin tool, in unix-like environments, where the users have a general amount of competency before even encountering it. The whole rat-experiment analogy is more about stories that are public facing.

Reminds me of a story I saw on here about restaurant staff using a physical whiteboard marker to cross bookings off on the screen because the software didn't do what they want. Maybe someone can find the story (I can't).

Users will always find a way to do what they need to do. The challenge is in finding out what they need to do because most of them would rather come up with their own solutions than come to the developers with a fully-specified feature request. I think this is why spreadsheets are so popular. They are never the best tool at any job, but users can bend them a million ways to do what they need to do.

Some places just plain don't care what the end users want. The worst version of this is when you're stuck in a shop where features are very obviously only dictated by managers. You can usually tell this is the case when the manager insists on being a MITM for all communication.
And sometimes people just calculate probabilities wrong.

People race trains all the time because they don't want to sit for 120 seconds. The problem is that losing that race means death.

The is especially stupid for the trains cited. "Metrolink" is not some slow cargo train that you will be trapped behind for 15 minutes. A "Metrolink" is about 6 train cars and is generally moving at a decent clip--probably no less than 35mph. You're not going to be waiting long.

LA has a much more significant problem with people walking in front of or committing suicide on the train tracks. Those cases generally far outnumber traffic accidents with the trains.