49 comments

[ 3.3 ms ] story [ 56.2 ms ] thread
I’d say overreaction.

The real world is full of tradeoffs and I’ve seen people try to get minutia like this correct in convoluted contexts which actually broke the core application logic.

Given the limited time we can spend on things, supporting proper plurality falls below some of my other UI priorities like proper accessibility settings.

I don’t think plurality is bad, just low in the stack rank of things that matter.

Glad the snippet is == 1, this problem drives me extra insane when it doesn't handle the zero case. Not only has my upload failed for some mysterious reason, I have successfully uploaded zero item!
Could not agree more.

As a child in the 80s I read a programming book (can't remember the name anymore unfortunately) where the reader was encouraged to write software that is always friendly and human when it comes to communicating with the user. For example, 'Please input a number:' instead of 'Input a number:'. But also exactly the thing the writer talks about in the article; do not be lazy when it comes to pluralization.

I get nostalgic remembering that era in computing.

Number "two" in Polish (depending on context): dwa, dwoje, dwie, dwóch, dwiema, dwom, dwojga, dwojgu, dwójka, dwójki, dwójkę, dwójką, dwójce, dwójko

So that's just my mother tongue. It think your problem is a bit more complex than (s).

given the image in the post is specifically of the azure portal, the following is a very real notification message from the same:

Deleting load balancer '[object Object]'

Not for me. Exccessive customer obsession puts me off as customer. Don't try to read too much into me. Don't try to sell too much. Don't try to please me too much. Don't think about me too much.

Instead, think about the stuff you are offering. Treat it as if you are building it for yourself, and not for selling. Build it the way your like most. Sound as if you don't care about selling. Be proud of it. Get off of the sales pitch and pleasing talk.

Stay equal with your customer regarding who should please whom. It's an exchange of value between equals. No need of one pleasing the other too much. Customer need not have the upper hand. They should be just as desperate to buy, as you are for selling.

If selling is seen as a win for the seller, then it should always be a loss for the buyer, which is not true. Once you stop seeing it as win, you will stop this overreaction.

This is the brown m&m theory. https://www.smithsonianmag.com/arts-culture/why-did-van-hale...

A trivial, superficial fact is assumed to be indicative of a much more substantial concern. For Van Halen, the candy dish indicated adherence to contract terms; here, pluralization indicates the integrity and values of an entire company.

It’s a cute idea that suggests an easy way to understand something complex. But there’s no free lunch. If you want a free lunch, you’re asking to be taken for a ride.

For non-technical users, the user interface is the program. To them, there's nothing beneath the shell. My last boss didn't like Macs because his PowerPoint presentations rendered differently on them compared to Windows. There are millions of real people with consequential positions in important organisations who think like this.
There's so, so many different reasons in the real world as to why/how details like that end up in front of the customer.

Is OP happy to work for Satan as long as he appears grammatically accurate, polite and concise?

Alternatively, OP is a nightmare to work with because every single other role in the company has to do things in exactly the way the engineers want, otherwise they're careless morons.

This is the Californian Ideology in a blog post. The implication that title and intro mean to imply is working for companies that build products that are not evil and hostile to their users.

But the call to action is to.. embed logic in the programs to pluralize properly (in English).

It's possible to write evil software that pluralizes words. It's possible to write beneficial software that does not pluralize words. This blog post is about the color of the bikeshed next to the torment nexus.

> The implication that title and intro mean to imply is working for companies that build products that are [...] hostile to their users. But the call to action is to.. embed logic in the programs to pluralize properly (in English).

So it's your belief that paying attention to how your tool communicates with it's users (in the language they're speaking) has no implications on user hostility? That's certainly a fascinating point of view that I would guess is in the extreme minority, and probably isn't actually something you believe yourself, if you stop trying to rant about California long enough to consider the words you wrote.

Also, would love if you'd call out where anything about "evil" is actually implied - I would assume that, when you read the actual written words, you'll realize you've added that yourself, and that perhaps you'll be a bit more careful in the future when trying to throw in a slightly wordier Twitter-slap. Or not, I suppose your post is "current social media discourse in an HN post" or whatever.

Always thought you kinda have to do this to create a product that can even be translated considering languages like French where plurals take many forms.
> a cold, hard reminder that this is clunky, soulless machinery

This is where my view differs fundamentally. If I get another "let's set up your account!" text in a soulless, cold software, I am throwing my laptop out the next window.

It's a machine. It needs to communicate information to me. A large part of the AI boom is that we can now pretend that it's not a machine by using enough compute power to probably solve every problem ever, just to say "Of course -- you're so right!".

We made sure to write software so inefficiently and badly that you can barely tell how powerful modern computers are.

Just another little layer, one more branch, one more step between the user and the hardware -- just buy more ram. Buy a better CPU. They now have double the cores, you hear?

Wait before author finds out there're languages with more forms than singular and plural...
I literally couldn't care less. You can call it '1th of April' for all that i care if the actual functionality you offer is clean and fast I'll gladly accept!
It's a tradeoff.

I love projects where I can "sweat the details" and refine not just wording but typography, padding, visual alignment, layout, edge cases, colors, workflow, etc. And where the back-end, QA, doc teams are similarly able to hone their work to perfection.

But I know that this isn't always Pareto optimal. Sometimes your user, customer, and business are better off if you swallow your pride and deliver an imperfect solution now instead of a better solution in the future, and knowing when and where to strike that balance is a sign of maturity, not disrespect.

>You can’t have your UI disrespecting [...] and I care too much!

I think it just highlights that people care about different things. I've seen the "(s)" placeholder for decades in computer UIs and it's never bothered me. On the other hand, blog article characteristics that bug me are titles consisting of a non-descriptive teaser with ellipsis (...) that doesn't describe the main point and not having a publication date at the top.

But I'm not going to complain about blog articles that "disrespect" readers that way because apparently, it's ok with some writers and some readers.

Likewise, someone using the Comic Sans font enrages some folks but it never bothers me. On the other hand, displaying big numbers without any thousands separators is very annoying.

I code a lot of utilities for myself and I always avoid the "(s)" problem by re-ordering the text. Instead of:

  Uploading 3 image(s)
The UI is:

  Number of images uploaded:  3
That looks ok for all quantities and doesn't require tedious ternary logic everywhere :

  Number of images uploaded:  0
  Number of images uploaded:  1
  Number of images uploaded:  2
The quiet tragedy of "almost good" software

    (minutes == 1) ? "minute" : "minutes"
I really care about this one. One option I suggest is to use minute(s) etc that can take care of both 1 and higher numbers.

    1 minute(s) works
While I don’t think proper pluralization is indicative of anything outside of real world time constraints, I am a fan of these kinds of tacit signals.

Last week, my wife and I toured a school for our daughter. The school gave us these pretty notebooks with a blackwing pencil, saying that they “take writing seriously here.” I noticed that the students, however, did not use blackwings but cheap low quality yellow pencils. This signal prompted me to pay closer attention, and I found half a dozen things that affirmed the bad feeling I had about the place.

It’s a simple rule, but in the era where everyone is trying to sell me, I use Bill Hamilton’s Say Mean Do rule from his “Saints and Psychopaths” about finding real spiritual mentors. Broadly: saints say what they mean and do what they say. Unfortunately it’s probably just as hard to find tech companies who are honest as it is to find a true spiritual mentor. B2B SaaS sales cycle is usually just checkbox hunting and CYA.

I know this is besides the point but translation libraries are perfect for this even if you aren't creating a multilingual site. You define your singular/plural forms in one place.
“이/가” is the Korean version of this. It depends on the sound of the word that precedes.

I still remember seeing it when I first started using Windows 95. As a kid, I was amused that it didn’t know which one to use. Really, I didn’t even know that I was making that choice (and couldn’t say what the rule was).

If anyone is interested about it, this page explains https://www.90daykorean.com/i-ga-grammar/

I feel the same way about wasteful software. I've spent most of my career working for people who would rather I sit idle and do nothing at all than "waste" valuable programmer time trying to optimize our software. We have websites that load slowly, downloading gigabytes of unused and useless scripts that nobody has the courage to remove because nobody remembers why it was put there in the first place.