
Things end users care about but programmers don't - marianoguerra
https://instadeq.com/blog/posts/things-end-users-care-about-but-programmers-dont/
======
squarefoot
I know where this ends; been there done that. The programmer implements all
those options in a configuration panel, the user looks at it saying "uh... too
complicated" (0), shuts down and uninstall the software then chooses an easier
one that forces mostly predefined options on a dumbed down panel, only to
complain later that it can't do this and that therefore a more powerful one is
needed. Rinse, repeat:^)

Also, if anyone is using a RAD for developing the software for a customer,
never, ever, ever, show the customer that a button or any other widget can be
easily shown or not, moved, resized etc. on the panel, or be prepared to be
asked a layout change like twice a day, of course for free since it's just 5
seconds of clicking. Seriously, sometimes it's much better for users to
believe that the UI is some sort of black magic that cannot be touched
otherwise they'll waste all your time rearranging the layout instead of
concentrating on more important issues they're not aware of.

(0) Some good research has been done in the past about how much information
the user can be shown before the amount of it ends up distracting from the
problem; iirc probably IBM was involved; I was told about that in the mid-end
90s but it likely dates from the previous decade.

~~~
ehnto
> otherwise they'll waste all your time rearranging the layout instead of
> concentrating on more important issues they're not aware of.

I think if you're having trouble managing the workload of UI changes it's a
project management/process problem, your client should know how much it
interrupts feature development, so that they can weigh up the cost.

While I understand where you're coming from as I've been there, the article
was about exactly this line of thinking. You don't care about the minor UI
change but the customer does, and they're the ones using the software. Who's
issues are really more important?

I am sure you can come up with an example of a pressing development issue that
would trump the UI change, but is that really 100% of your time? I'm sure
tonnes of UI changes seem trivial to developers, but would be the difference
between hours a day of a task being frustrating versus a task being easy for
the end user. We don't use the end product like they do, so we can't really
know which one's are trivial and which aren't.

~~~
icebraining
The assumption that the client is the user doesn't hold true in many projects.
In fact, letting the client mess up the layout may ruin a UI that was
carefully validated with the the user.

~~~
ehnto
That's a fair point. My comment was imagining a project where the customer was
the user/users.

~~~
icebraining
I can't say I've ever seen one of those! (Except for B2C, but that's a
different case)

------
cyberferret
This article is a good reminder. When I started out my programming career many
years ago, these things were fundamental in the way I created software,
however things seem to have gone downhill in recent years.

The reason? The pressure in the past from co-founders or stakeholders to 'get
things out the door quickly' and to get a quick and dirty MVP out there. This
often meant lack of time to consider these small details (or even to backload
them into the system later for v1.0).

Also ironically, we've had professional UX and CX designers work on my
software creations who have cut a lot of these things off the interface and
functionality as 'unnecessary cruft'.

I would also add to the list under Colours/Formatting, that a lot of 'dark
mode' designs out there that are considered fashionable just have too low a
colour contrast or too small a font to make it readable my someone like me
with degrading eyesight.

~~~
shantly
My experience is a lot of money gets burnt making designs match some on-brand
design that looks awesome in mockups but is worse for the user than just using
the platform default GUI widgets with maybe some light color theming. Worse if
they decide to customize widget behavior too (guaranteed to be worse than
default—may look cool but there will be jank, broken state, and more) or do
any special snowflake navigation crap when some normal and platform
appropriate pattern would do.

This adds cost and worsens UX. It has less to do with making the app look
attractive from the user’s perspective than with designer ego and satisfying
the brand-over-all-other-concerns product owner types. Usually there’s little
discussion of features that will be missed so the widgets can work worse, but
design flair should, properly, be part of the discussion of what your velocity
may look like.

[edit] I suspect some of the motivation for designers here is a combo of
selling designs to clients or product owners, who are easily flattered that
they need this kind of thing, and their version of résumé-driven-
development—that is, highly-custom trendy screenshots probably “pop” a lot
better in a portfolio than a better-functioning app that looks more ordinary.

~~~
cyberferret
> that is, highly-custom trendy screenshots probably “pop” a lot better in a
> portfolio than a better-functioning app that looks more ordinary.

I think you hit the nail on the head here. The designers that have worked on
my site seem to be focused on screens that they can add to their Dribble
portfolio rather than getting the job done in an efficient way for my users.

~~~
shantly
I know we’ve been busy declaring victory over all those old-timer print
designers who’d transitioned to web & software, and hailing the rise of the
“digital native” designer for like the whole past decade or so, but to me it
looks like they’re all trying to make posters rather than software.

------
LarryMade2
A lot of those are nice additions, maybe in the third or fourth generation of
the application when you got the data structure nailed down you can look at
skinning and things. Other bits sound nice but are back-end hell or licensing
hell to implement.

I try to get the program being able to be useful informative, easy for data
entry, etc. After that - if I get the time - I can go onto enhancing other
features like the style sheet (now that you got a good idea of what styles it
utilizes its much easier to optimise the CSS to make it skin-able.)

Integrations and import/export is a pretty nebulous thing, and if you are
interacting with some proprietary system you are always needing to maintain
the export/import code to stay compatible (not that easy). Depending on the
format you may run into licensing issues to get interoperability, in others
some of the local dev or external use tech might not be mature enough to
implement well or correctly.

"Just put an undo on it." "Detailed and up to date guides in text with
screenshots at each step and highlights"

Yeah. _sigh_ If the development and team is mature these things will
eventually happen. But then comanies fall back when they are riding high on
just maintenance and loose the experienced members; then new devs that come in
are so overwhelmed on the legacy codebase they just re-write from scratch,
picking some bits to reimplement, and loosing a lot of others.

Then again,

you put a knowledgeable developer in to the planning process and they would
surprise you "We could reorder this entry process here and cut more than half
the time on data entry", "That report on the old system is redundant, here's
why" and "have you ever thought of doing this cool feature? Because that would
be so easy implement..."

~~~
mark-r
I've found that Undo isn't something you can bolt on after the fact, you need
to design with it in mind from the start. I've had very good outcomes with
that approach.

~~~
ken
Why would Undo be any harder to add post-hoc than any other feature?
Encapsulate each action, codify its opposite, and push it onto the undo stack.

~~~
mark-r
"Encapsulate each action and codify its opposite" is exactly the hard part of
this. Too much code is written assuming it has access to the entire state of
whatever it's modifying and doesn't have to worry too much about side effects.

------
pure-awesome
I'm quite sad that accessibility is not mentioned at all, because I'd say it
is THE CLASSIC feature that many users pine for but developers frequently
overlook.

Just to name a few of the major ones:

* Screen-Reader Support

* Alt-text for images

* Sensible zoom behaviour

* Options for keyboard input (instead of relying on mouse)

* Colour-blind & high-vis color schemes (Though "change color of things" covers that, at least)

Funny side-effect is that implementing this stuff very often (I'd even say
almost always) makes the product better for your non-disabled/non-handicapped
customers as well.

~~~
miguelmota
What percentage of customers actually request accessibility features such as
screen reader support? I agree that every application should strive to be
accessible for screen readers and the lowest common denominator but if the
project manager had to prioritize features to develop, they'd choose features
that majority of customers are requesting such as the things mentioned on the
list.

~~~
robinwassen
100% of all gov customers.

Basic accessibility tool support is not a feature, it just becomes a part of
the frontend workflow when you get into it.

My flow is basically:

\- Develop some frontend stuff

\- Check that I can use it with only keyboard

\- Check that it looks OK at 200% zoom

\- Run Devtools + axe audit

\- Fix any issues found

Of course there are odd cases such as complex custom components that are
really hard to get right, but mostly it's quite easy and goes fast.

------
phtrivier
Also known as "Things end users care but not enough to pay anyone to work on
it, rather than on your application's core domain. Which they are not exactly
willing to pay for either, but that's a different story."

------
perlgeek
> Use accounts/permissions from Active Directory

If users want that, they tend to be enterprise customers, and you can charge
money for your software. That's good for the programmer :-)

Users who want AD integration also want (generalizing a bit, of course):

* Audit logs

* Metrics export to common BI tools

* APIs

* Separate billing address

* Role-based access control

* a way to sync data between different environments

... and so on. It's amazing how much work you as a programmer could spend
"enterprisifying" a simple application.

I kinda wish for better tooling to make enterprise-ready applications, so that
many of these things are less effort.

~~~
PaulRobinson
Enterprise tooling probably needs to make event sourcing out of the box easy
to do, with metrics being either a real time stream they can tap into, or an
ETL process fed by that stream.

Having a decent integration layer is important: I'm about to spend my
Christmas "enjoying" Apache Camel installs to get up to speed there, and it's
probably wise to move all auth out to something like Keycloak so that it's
just "done" and federation back to AD is config, not code.

As to getting data synching between environments, well... that gets fun all by
itself...

------
mikro2nd

        Number/date formatting to the right locale
    

Uh,... maybe. This may work well for most people, but at least allow me the
option of setting up my own format. I happen to live in a locale where the
"official" locale-specific formats for numbers and money are almost never used
by real people (because they're ugly and fuggly.) So it gets pretty annoying
when LibreOffice _only_ recognises it's own list of locales and will _only_
apply the "official" formats. As a result, you can count on the fingers of one
head the number of people here who will use "Format > Money". They'll rather
use some number format that looks the way locals all expect things to look.

~~~
oeuviz
Just out of curiosity: do you mind sharing which locale/area this is?

~~~
mikro2nd
ZA

------
hn_throwaway_99
Umm, I want a pony too?

I mean, I think most programmers care about these things and want them too,
but people (programmers _and_ end users, but especially end users) tend to
drastically underestimate how much they actually cost.

I've contracted for a small dev contracting shop, and it's amazing how, when
customers come with a long wishlist of things they want a piece of software to
do, these customers quickly "stop caring" about most of these features when
they see actual dollar amounts next to each line item.

~~~
et2o
Most of these things are not ridiculous asks and a lot of them do seem like
they are truly underserved but programmers compared to the mildly tech
literate end users.

Of course parsing CSV will never go well

~~~
danShumway
> Most of these things are not ridiculous asks

\- universal undo (depending on what kind of operations you're running and how
large your databases are, this can be a really weird problem. How do you
"undo" a one way operation on 5-10 Gigabytes of data that takes several hours
to run?)

\- optional cascade deletion (Does your app allow references in formulas
anywhere? Have fun trying to automatically rewrite those formulas in a user-
predictable way)

\- translated to my language (AKA, hire a translator that speaks that
language)

\- works with the database and version we use (more on this in a second)

\- WYSIWYG editor that behaves like Word (Hahahaha, Slack)

\- etc...

None of these are "ridiculous" in the sense of, "we could never do that." Many
of them are significant asks.

To pick one example, I've worked in enterprise environments that allowed on-
premise installs with customer-specific databases. It is a serious pain in the
neck. Every time you want to do anything interesting with a data format, you
have to figure out what which clients support it, what connectors they're
supplying you, and how you can hack consistent file-locking and modification
times onto someone's outdated WebDAV client.

And honestly -- we've gone to customers and said, "hey, we could get features
out earlier if you switched to an industry-standard infrastructure", and a lot
of customers are very happy to make that tradeoff. The big thing to remember
is that customers are using your app to solve a problem. That's what matters.
End users do care about this stuff, but _only_ if it doesn't get in the way of
allowing them to solve their problems.

~~~
c3534l
You're cherry picking. At the risk of cherry-picking myself, there were 10
formatting wants. 9 of those are reasonable and you chose the 1 that was
difficult. Not only that, but "behaves like word" is probably meant to be a
class of things users want rather than a single thing. It's basically saying
that users want things to behave the way they're used to behaving, which is a
very valid design consideration.

The language used in the list is a bit flippant, so "Undo everywhere" could
seem unreasonable if you interpret that as "users generally request undo
features for most actions" and not literally any conceivable thing you can
think of regardless of whether or not it makes sense needs to be undone. You
immediately jumped to databases, which instead offer a wide range of security
and and protection mechanisms to prevent accidental deletions instead. People
pay good money for regular database backups because being able to recover from
a mistake or failure is important to people, on account of people constantly
making mistakes. Even GMail has undo for sending emails now (it just waits
half a minute before it actually send the email).

Obviously some of these are silly. "Use this color from here" is a joke
(nothing you do will please everyone). "Deploy on exotic
configurations/platforms" is almost a joke, but there is always someone who
asks when you'll get around to porting your autocad program to the iWatch.

~~~
jmiserez
> _At the risk of cherry-picking myself, there were 10 formatting wants. 9 of
> those are reasonable and you chose the 1 that was difficult._

The problem is that this is absolutely not clear to many end users and devs. I
have actually dealt with 8 of the 10 formatting wants in the past year, and
none are as simple as they sound.

E.g. "using the fonts I use in Office" can be expensive to impossible if you
want to properly license the fonts for server use. "No .00 for integers"
sounds trivial, but what about ".0000004" when you _also_ implement "No weird
.0000004 formatting anywhere". Solveable, but you may need to change the types
and not use floating point in some other parts of your application or round
the numbers (when?). "The right locale" to use for formatting might change
over time in subtle ways due to updates and political/regional changes. Emojis
look different in each browser, so you use images: now they look "wrong" in
iOS and you probably can't use the Apple Color Emoji font icons due to
licensing, etc.

> _Not only that, but "behaves like word" is probably meant to be a class of
> things users want rather than a single thing._

No! Some users might literally find "this behavior is not 1:1 the same as in
Word" and if you word ;-) it that way at least someone will understand it as
such.

Failing to deliver 100% on such "easy" functionality is often not an option,
so just hope that you planned enough time/budget for all the little issues or
explain it very well.

------
muzani
Surprising how much of it is about color. As a user, I don't really care what
color anything is, even if it's nasty like Discord. I want a dark theme, but
it's mostly because it lets me save battery and doesn't glow in my bed at
night.

~~~
onion2k
Dark themes only save battery power on devices with displays that have per
pixel lighting (eg oled like a modern iPhone). If the background lighting is
fixed like an led or lcd display then the thing that impacts your battery is
the brightness level, and most users can view a light theme at lower
brightness than a dark theme.

If you're using dark mode to save battery on a laptop it's not working.

~~~
magduf
>If the background lighting is fixed like an led or lcd display

This hasn't been true of LCD displays for years. They now use LED
backlighting, and the backlighting is dynamic (it varies in brightness
depending on what'd displayed, and changes across the display too).

>If you're using dark mode to save battery on a laptop it's not working.

This is only true if your laptop is circa 2005.

~~~
myu701
My business class just-retired-to-k3s-duty laptop was manufactured in 2014 and
has a LCD. That was only 5 years ago. Fixed backlight, no light ambience
sensor.

Cheap laptops today like the HP Pavilions of the world still use fixed-
backlight LCDs as well.

------
osamagirl69
Honestly this article misses my main request as a user:

1\. Software should be free of bugs. At the very least, updates should not
introduce new bugs.

2\. Software shouldn't phone home. Ever. If I want to submit a bug report I
will submit one through the usual OS channels, and I will give my feedback
through your feedback button.

3\. If you are a web service don't ever popup banners/tips/chat
windows/whatever. Put links to them and I will click on them if I want. If you
pop up a modal asking for my e-mail address I am leaving immediately.

4\. Assuming you are doing well on #1, you shouldn't need to release updates
on an hourly cadence. If there is a security vulnerability release a fix ASAP,
but for new features bundle them together and release annually for mature
software or quarterly/semiannually for software that is still being finished.

I mean having a color scheme that is pleasant to look at is nice, but I would
rather you just use my system settings in the first place. What I care about
is stability and that the software puts my interests, as a user, first.

~~~
hnick
Corollary for #3 on desktop: Don't steal focus!

Windows is egregious for this, I'll be typing away and a window pops up and I
hit a key and now I've just cancelled something that was running the the
background and was ready for the next step :(

~~~
yjftsjthsd-h
You know, this was one of the things that made me feel that I made the right
choice in moving to Linux, years ago: I realized that focus was under _my_
control. My current WM even has an option to disable focus stealing, but it's
not necessary because the software defaults to respecting you. That, and I
realized that _all_ windows could be resized, regardless of whether it even
made sense (Ever seen an okay/cancel dialog maximized? It's hilarious.). The
system put the user in control. So I stayed:)

------
greggman2
Users don't care about most of this. Custom colors? Tell that to Apple's
customers who seems to have no problem using a non-customizable OS. Running on
obscure hardware configurations? Users don't have those, programmers do.
Company branding? That's not a user request. Touch gestures? Who made this up?
Not users.

~~~
makapuf
Agree 100% it depends on the software but you cannot choose the color of your
professional tools in general. Your Bulldozer and medical scanner don't come
in purple, sorry.

~~~
ken
You can always customize it. Professionals paint their tools all the time,
since you don't want someone taking your drill home from the job site. Every
Genie lift rental has the rental company logo bigger and brighter than the
Genie logo.

Yes, you can even get your medical scanner in any color you want. One of GE's
standard designs is an MRI scanner painted to look like a spaceship, a coral
reef, or a hippo:

[https://www.gehealthcare.com/products/accessories-and-
suppli...](https://www.gehealthcare.com/products/accessories-and-
supplies/adventure-series-for-mr)

[https://www.flickr.com/photos/gehealthcare/sets/721576294887...](https://www.flickr.com/photos/gehealthcare/sets/72157629488755266/)

~~~
makapuf
I stand corrected,thanks. However the scanners are targeted towards patients,
and brand customization is understandable for clients. You however see my
point : for adults, having a precise or dependable MRI is more important than
having it in purple or branded for xyz hospital.

------
m12k
\- Some words or identifiers should always have a specific color

\- The same thing should have the same color everywhere

\- Good contrast

is at odds with:

\- WYSIWYG editor that behaves like Word

If you give users the option to use all bold Comic Sans, someone will do just
that - and other users they share their work with will have to bear the brunt
of reading it. Silly example, but it goes to show that you really can't have
it all. For every user that cares about one of these things, there's 9 others
for whom having to read, understand and decide not to care about it makes the
program more complicated than it needs to be.

------
janpot
You mean "Things end users care about but can't afford"?

------
l0b0
It's not that programmers don't care about this. It's simply that with today's
tools this is $1E7 to 1E8 to implement all of these decently for any
application.

------
Loranubi
Early Windows (probably up to and including XP) did a lot of these things
right. But now Microsoft is starting to go against their own recommendations.

------
paxys
These are mostly things that programmers _who are also end users_ care about.
I haven't run into a single non-technical user who cares about customizable
colors, dark mode, exporting to CSV/JSON/whatever else, customizable shortcuts
etc.

The average user won't even know what most of this list means.

~~~
baroffoos
Enterprise users love excel import/export. Potentially CSV as well.

~~~
ng12
So do enterprise developers. If I can use the "well they can do that in excel"
defense to avoid implementing a feature, I will.

------
EricE
Color is huge! There are so many half-baked trends in color that look great
for people on large screens with wide color gamut and young eyes, that in less
than ideal conditions are completely illegible.

Some of the best guidance for the use of color written in plain, easy to
understand language: [https://designsystem.digital.gov/design-
tokens/color/overvie...](https://designsystem.digital.gov/design-
tokens/color/overview/)

Should be mandatory reading for anyone with any hand in designing a user
interface.

------
adventskalender
Do users really care about being able to customize the design (themes or more
fine grained)?

I did that when I had my first Amiga. For a while, when I bought a new
Computer, I configured Windows back to "classic mode".

After the umpteenth time, it just gets tiring. These days I don't even change
the desktop background anymore.

I'd much rather the developer make sensible choice to begin with, so that I
don't have to think about it.

Maybe I should look into Vagrant. Even installing extra "developer fonts" on
every computer I might develop with is too straining to me.

------
TeMPOraL
I'd agree with only some of the suggestions.

> _[all things color scheme]_

A decent color scheme is enough. People don't change it much, if at all,
unless they're bored, so I wouldn't go out of my way to support it. Main use
cases are, arguably, light and dark mode, and supporting an OS-global switch
if one exists. Tips about assigning colors to things are spot-on, though;
consistency and discernibility turns color into a powerful communication tool.

> _WYSIWYG editor that behaves like Word_

Yes please. In some ways, I'm sad that ActiveX/whatever the way to embed Word
on your webpage was died. People really shouldn't keep reinventing their own
WYSIWYGs on pages, each with slightly different behavior or interface. That
said, this would probably be handled best by a set of guidelines or a library
from Microsoft, instead of having to connect to actual Word.

> _Number /date formatting to the right locale_

In my personal opinion, locales should die, and everyone should switch to dot
as decimal separator and ISO-8601, respectively. But I'm fully aware the
general consensus seem to be different :/.

> _Tell me what this does before I click on it_

That's what tooltips are for. Harder on mobile, but there's no excuse for web
developers who don't include them.

> _Support touch gestures and mouse_

Support touch gestures _and_ mouse _and_ a stylus, simultaneously, as separate
things. Because they are separate. A pen/stylus on a 2-in-one computer (e.g.
Microsoft Surface or Dell Latitude lines) is a huge productivity booster _if
it 's supported_. It rarely is. I'm constantly hunting for software that does
it right, but there's very little of it, and I have not yet seen a single web
application capable of handling a stylus (even though technically, the APIs
for that are there).

Examples of correctly handling a pen vs. other modalities: without having to
switch modes or active tools, allow me to draw with a pen, select with one
finger, pan with two fingers, and select with a mouse.

> _UX_

The entire section is spot-on.

~~~
ken
> That's what tooltips are for. Harder on mobile, but there's no excuse for
> web developers who don't include them.

I consider tooltips to be the Norman Doors of software. Users can't figure it
out? Slap more words on it!

Are they for teaching, or reminding, or clarifying? There are far better ways
to do all of these. The people that need them don't know where they are or how
to make them appear. The people that don't need them trigger them by accident
and get frustrated they don't go away. When someone does figure out the
pattern, they waste a couple minutes moving their mouse very slowly across
every square inch of the screen in search of more. Even if there are more
tooltips to be found, it's like reading a few sentences from the manual in
random order.

I don't think I've ever seen a case where tooltips were the best solution.

~~~
n3k5
> _When someone does figure out the pattern, they waste a couple minutes
> moving their mouse very slowly across every square inch of the screen in
> search of more._

Ableton Live (a DAW) has an interesting solution for this: There are no tool-
tips at all. Instead, you can open an 'info' box in the corner of the
window/screen that _instantly_ shows a quick explainer and relevant keyboard
shortcuts for the control you're currently pointing at (and its name), without
obscuring anything.

It's not perfect (e.g. there's no way to hyperlink to more information in the
on-line help), but on top of being easily discoverable and put-away-able, it
can do another nifty thing: For controls that are user-configurable, the
'info' text is user-editable as well. It's like source code comments, but for
the GUI. E.g. instead of "Macro 3", you can have: "Glitches the wubs. Don't
forget to wax the sidechain!"

------
sandoooo
All of these things can be had in the software you want - just need to ask for
it up front and pay a sufficient amount of money and accept a longer timeline.
Some of these things are surprisingly expensive, even when they seem simple.
It is entirely plausible that, after discussing prices, the response from
client is 'actually... can you just make me a CLI thingy that spits out a
csv?'

------
andai
Have you seen the settings of the current version of YouTube? First of all, it
took me a good ten minutes to find them, because now I have to scroll down on
the Account screen to reach it, and there is no indication that this screen is
scrollable.[1] No scrollbar visible until you start scrolling. Nothing peering
up from the bottom end. No drop-shadow at the bottom. It just looks like the
the last option on the page is Turn on Incognito.

Once I reach the settings menu, it took me a while to figure out what I could
click on and what I couldn't. The buttons are not buttons, they're just text.
In fact, everything is text[2], only the context ("Live chat" vs "YouTube, a
Google Company") suggests that something is clickable.

Why?

[1]: [https://andai.tv/img/youtube.png](https://andai.tv/img/youtube.png)

[2]: [https://andai.tv/img/youtube2.png](https://andai.tv/img/youtube2.png)

------
mannykannot
I still see retail sites crippled by poor search choices, such as requiring
the customer to understand how the retailer categorizes its inventory before
it will search for anything, or by showing the union of the matches to each
term, so that adding terms, in an attempt to narrow the search, broadens it
instead.

------
Lutger
This reads like a list of decent but non critical enhancements to many
programs. The funny thing is, myself and most programmers I know _love_
working on things like this but most of the time it is not the programmer who
is calling the shots on what his time should be spent on.

It's the customer who doesn't want to spend money or the product owner who
needs to be mindful of the budget spend.

So a better title would be: 'things end users would really enjoy but don't
actually feel is worth spending money on'. Because if those users would
actually think these are valuable things, they would pay for them and you bet
that programmers will implement them. They are also users and fairly nitpicky
ones.

~~~
jachee
Users _will_ pay a premium for high quality software. Just ask Panic,
1Password, BBEdit, and—until very recently—macOS and iOS.

~~~
dm33tri
Only Mac and iOS (and sometimes Linux) guys pay premium for software. Windows
and Android users only pay for games, sadly.

------
grenoire
> Can be mounted on a path that is not the root of the domain.

This is so important to me when deploying frameworks and whatnot; I don't want
to ever spend an hour battling nginx or httpd to move it into a fake
directory.

------
chiefalchemist
UX is tough. So tough it has it's own speciality field. Programmers are not
UX'ers. That's fine. We can't be accountable for everything. We would however
benefit from a better sense of empathy for users, as well as a more holistic
view of "the product."

The medium (code) should align with the message (experience).

Long to short, not a single user wake up and think "Today I want to use a
product based on Technology X, Y and/or Z."

------
harimau777
Isn't that what pay is for? If you care about something but your programmer
doesn't, then you pay them to start caring about it?

~~~
rexpop
In theory, but it turns out that most software products are most significantly
just systems of social control. The economics of it don't work out; I can't
_pay_ the military industrial complex to value my life. I don't have that kind
of money.

------
abalone
This is a great list and I want to add that the “simple” ones are a lot harder
when third party integrations are involved. Or even dependencies on other
teams in a sufficiently large org. It takes a certain mentality and commitment
to look beyond “programming” problems to address these scope/not-my-job
issues.

------
0xkalle
This is the true one:

* WYSIWYG editor that behaves like Word

------
myself248
> Case-sensitive/insensitive filtering.

YES.

Searching for "O'Brien" and coming up with no hits because it's in there as
"O'brien" is a slap in the face. It's a clear signal that the programmer
believes the user should serve the computer instead of the other way around.

Lookin' at you, Linux filesystems...

~~~
squiggleblaz
How often do you search the Linux filesystem case sensitively? I couldn't tell
you how to use `find` to search case sensitively (use -iname to match a name
case insensitively) and tab completion works case insensitively on my computer
(maybe it's some configuration I picked up two decades ago? dunno).

In the gui it's always been case insensitive.

The fact that the linux filesystem allows you to have a file named
"o'brien.txt" and another file called "O'Brien.txt" is a completely different
matter than case insensitive filtering.

Otoh, at least they let you call the file "O'Brien.txt"... How many
incompetent programmers suddenly decide that because an apostrophe is a part
of SQL syntax, it's prohibited to include apostrophes in names? (or prohibit
them when they aren't preceded by a backslash, which is just weird. the
thinking behind that logic is unfathomable. it doesn't actually make a string
safe to include in sql, simply because at some point in its lifetime, all
apostrophes grew unwanted backslashes)

------
ivanhoe
It depends a lot on a type of app, business users usually don't care much
about color palettes and having a dark themes available, and worry much more
about how streamlined is the workflow for their particular needs.

> but our tools make it really hard to provide

That's why we build web apps nowadays...

------
jdhzzz
Didn't OS/2 bake a bunch of those things into the operating system where they
belong? Why don't we use it? Multiple "Product of the year" awards (I've seen
4 in a row but cannot confirm). I'm still a fan.

------
jwilliams
Another title is "Things users will struggle through, because your product
fixes a critical, fundamental issue for them"

No snark intended. Often a product that solves a real huge pain point has it's
own sharp-ish edges too.

------
squiggleblaz
Spelling my surname properly. Computers can't do it. They just say "oh, let's
capitalise the first letter and make the rest small". Makes me sad.

------
wavefunction
Speak for yourself. This reads like an enumeration of the traits of a
stereotypical arrogant 'programmer' from the 90s.

(Got my start in the 90s but didn't stay there)

------
rsp1984
From 1st hand experience let me add

IT:

Your app can magically talk to servers on the internet from behind my Firewall
without my IT being capable to whitelist respective servers.

------
pc86
How are multiple export formats, configurable deployments/platforms, and
consistent UX things programmers don't care about?

------
foobar_
Yes, sometimes when you use new updated ... these things go missing in other
places so it becomes painful to retrain to the next version.

------
klyrs
This title is awful. Plenty of programmers care. It just takes a lot of work
to get a project to this level of done.

~~~
TheCowboy
There are probably comments on HN to back this up. When features like these
are removed for no good reason from various sites or products, often there's a
comment out there complaining about it at some point.

------
stock_toaster
... and also things they don't want to pay for.

------
dm33tri
This list looks more like what programmers care about as end users.

Average users prefer WhatsApp and Instagram over good messengers. I honestly
don't know why such bad software is still relevant.

------
hathym
if programmer.have_time() and programmer.very_well_paid():
implement_things_users_care_about()

------
ok_coo
End users don’t care that you want to refresh your design every year.

I know you need to keep your designers employed and doing work but please
stop.

~~~
laurentdc
This a thousand times. So many app redesigns. Every time I open Spotify they
moved the search option somewhere else. On Gmail for Android you have to guess
which is the "mark as unread" button now. The train app for my country is
still a bugged mess, but now they added one of those monochrome vector humans
that everyone has in between loading screens to mask sluggishness. I'm
starting to think UI design is the next bullshit job

------
catalogia
I'm sick of the meme that programmers aren't end users too. I use software as
much as any non-programmer does.

~~~
egypturnash
But you probably use very different software, in different ways. Do you think
your non-technical relatives want to spend a single second in a CLI?

~~~
samatman
Yet here we all are, using a browser, the most bog-standard piece of kit on a
given computer.

------
chadlavi
> Good contrast

> Automatic contrast of text if I pick a dark/light background

These are not preferences, these are minimum requirements. Programmers should
care about this.

------
closeparen
Here’s something users _don’t_ care about. Your next version. You’re a fucking
text editor. You do not get to update, ever. Not “remind me later,” not “skip
this version,” never. How _fucking dare you_ throw an update prompt or a
release notes screen when I’m trying to use a tool to do a job. It’s
unconscionable arrogance to think a change to an already-complete piece of
software is worth an interruption like that.

If I want it to behave differently than it does, I’ll go looking, and the
answer is “you gotta upgrade” then I will. But not a moment before.

~~~
michaelmrose
None garbage environments handle updating software in a unified fashion that
is entirely separate from usage.

Nothing need prompt you while you are trying to use it.

The os should prompt you not every app in their own schedule and with their
own ui.

~~~
ubercow13
Yep, which makes it even more annoying when package manager-sourced apps still
bug you about updating. For example Chromium on my arch install today popped
up a dialog saying ‘there is an update but this Chromium install can’t update
itself’. Yes thank you Google, that is intentional!

~~~
magduf
Another good reason to use Firefox. I never have this problem.

------
PaulHoule
As a dev I care about many of those things and feel like a voice in the
wilderness.

So far as weird numerics are concerned, it's astonishing how complacent the
microcomputer world is about that.

I think that 0.1+0.2 = 0.3000000000000004 or whatever it is is a distraction
from "it just works" and if we want to offer more functionality to the "non-
professional programmer" we should do something about it.

Mainframes have had decimal numeric types from the very beginning since the
people involved realized that fuzzy math meant you cut checks for the wrong
amount. In the micro world there was the time that Apple had an Integer basic
which schools thought wasn't good enough, so they licensed a basic with (bad)
floating point from Microsoft.

The people who care about numerics tend to be people who care about
performance, those people can deal with the weirdness but they don't want to
give up any performance for it at all.

~~~
dagss
Floating point has a specific purpose in computing, where you deal with
measurement, and don't know the scale. Adding one nanometer to a light year
(to get back exactly a ligh t year) is actually a useful feature in numerical
physical computation.

Outside of scientific computation, machine learning, statisticd, etc there is
seldom legitimate use for floating point.

Nothing to do about performance I think. Either float is exactly right. Or, it
is abused and is 100% entirely wrong.

Right now Javascript specifically is to blame -- for its insane choice of
making floats its only and default number type. This is a problem with
Javascript only though. If you use Java or C# or go or pretty much any
language except Jabascript and type "float" the problem is the programmer not
the language.

~~~
ajross
> insane choice of making floats its only and default number type

Javascript math on integers within +/\- 10^20ish produces integers and works
as expected. It's true that division produces a fraction, so if you're
expecting 2's complement integer truncation (absolutely the kind of "funny
math" that users in this context are expected to hate) you won't get it.

I don't see this as such a terrible design choice. The alternative is python's
equally crazy menagerie of almost-but-not-quite-hidden numeric types waiting
to bite you in unexpected ways.

~~~
dragonwriter
> The alternative is python's equally crazy menagerie of almost-but-not-quite-
> hidden numeric types waiting to bite you in unexpected ways.

No, it's not. Python and JS aren't the only two approaches to numbers, even
among dynamic languages (Schemes numeric tower, which favors exact types, is
another.)

------
for1nner
> It should work on my old android phone browser/IE 11

Disrespectfully, No. Please die, IE. Please.

But otherwise, I think the spirit of this is pretty accurate, if only that
parenthetical at the top were perhaps more emphasized or explained.

Anecdotally, working for crm-adjacent services, there was just a firehose of
things customers (and our own sales/customer-facing teams) wanted to implement
for the sake of "customization." And especially some of the customer asks were
incredibly QoL-based and reasonable (shocking, I know), but the reality was
that the roadmap was being pushed ever along, management and sales want new
features to polish up for leads and investors, and we simply lacked the
manpower to sufficiently cover both sides of that coin. Now that speaks more
to failures in the org structure and leadership than anything (imo), but I
think it's not dissimilar at many places, both small and large.

Long edit complete.

