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.
Peppering input fields and forms and folksy welcoming language scattered thoughout might be useful now and then, but for systems where people are using it repeatedly hourly/daily/weekly... it's (at best) clutter and noise.
So that's just my mother tongue. It think your problem is a bit more complex than (s).
Definetely not "always".
In English, it's easy:
* 1 *file* sent
But: * 2 *files* sent
* 12 *files* sent
* 21 *files* sent
* 16,777,221 *files* sent.
How does Polish go about that?2 pliki wysłane
12 plików wysłanych
21 plików wysłanych
BUT
22 or 23 or 24 pliki wysłane
BUT again
25 plików wysłanych
16'777'221 plików wysłanych
22 pliki wysłane
12 plków wysłanych
Any chance you know of a good article on this? (I could ask ChatGPT, but I'm trying to let go of that crutch.)
dwa ptaki (two birds)
dwoje ludzi (two persons)
dwie dziewczyny (two girls)
idę z dwiema dziewczynami (I'm walking with two girls)
dałem kwiaty dwom dziewczynom (I gave flowers to two girls)
kanapa dla dwojga (a sofa for two - gender unspecified)
dałem śniadanie dwojgu (I served breakfast for two others)
dwójka to słaba ocena (two is a poor grade)
dwie dwójki to razem czwórka (two twos are four altogether)
dostałem dwójkę z Fizyki (I got a two in physics)
z dwójką przyjaciół poszliśmy do klubu (we went to the club with two friends)
w autobusie dwójce siedział pijany facet (there was a drunk fella on bus number two)
O, dwójko, nie wracaj już do mojego dziennika (Oh, two, don’t come back to my gradebook again)
Of course I don't consciously think about when to use the right conjugation. I just know it by heart and it's second nature but I can only give coherent rules to some of them.
https://perldoc.perl.org/Locale::Maketext::TPJ13#A-Localizat...
Deleting load balancer '[object Object]'
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 exactly what the author is doing. Paying attention to detail. Not upselling you anything. He is not getting any direct ROI for doing that.
I recently hired a contractor to clean ducts in my house. He was really nice guy, while his partner was working, he chatted with me about how their carpet cleaning service could make my carpets look like new, and even pointed out a few spots in the kitchen where grout cleaning might help. He was a great salesperson and very personable but when they finished the duct cleaning, they left a bit of debris behind. It wasn’t a big deal, but was enough to make me forget all the upselling he did before. Just goes to show that a little attention to detail can make a big difference. Next time I might shop around or may hire them again only if they give me a much better price.
As in: I agree with your sentiment and ideas. Out of context, you're bang on correct.
But I don't think paying attention to details (like pluralization) is an indication of obsession with the customer, at least not for me. It's about caring about the craft.
When I'm building something for my own use, I care about every aspect of it. I care about the unseen parts. I care about the process. It brings me satisfaction. And when I'm buying something, I like to know that the person who made it cared as much about their craft as I do.
I don't consider than pandering. It's respect: Respect for the craft, for the craftsperson, and for the end recipient/customer.
But maybe I missed something. What was it about the original post that felt like excessive customer obsession? Genuinely curious and open to being mistaken here.
Btw, passion displayed in your post is great, but sometimes, it could mean excess for you and your team.
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.
I think we're in agreement, just highlighting these are very different approaches to essentially management at different phases of the project lifecycle. Van Halen probably didn't have that rider in their contract at their first show.
I have never bought it.
If you want to make sure the venue is set up right you probably need to send an electrician to check on it before your tour arrives. The M&M thing may show if the venue operator read your contract not if they bothered fulfilling the parts that would be expensive (upgrading a building's electrical is expensive, making an intern pick the brown M&Ms out is not).
It probably didn't even prove that the venue operator read your contract. More likely the first time Eddie stormed out after seeing a brown M&M word would get around to everyone that "Eddie will flip his shit if there's a brown M&M so get rid of them. Yes, Seriously."
As a result of this, over the course of her career, my sister has accumulated the weirdest contact list I could imagine. If I needed a bouncy house, chainsaw juggler, Russian interpreter, and a blimp, she could probably set that up in 30 minutes without ever needing to search online.
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.
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.
> Talk to me like I’m used to. Be familiar, be approachable. I want to feel like you care about helping me. Not “me” as in “all the prospective 99,99,999 users”, but “me” specifically. Users shouldn’t feel like they’ve been dropped into a cookie cutter template - a cold, hard reminder that this is clunky, soulless machinery removed from their world.
In other words, the author wants a personalized experience. A personalized news feed. An experience that is tailored to them. (Isn't that what everyone is complaining ruined Facebook, insta, youtube, etc?)
I don't think that's what the author actually wants. I think it's just poor framing / unclear writing.
If the idea is "I want to work at a company that cares about its craft" -- the example they picked to illustrate that point is just odd. Whether or not a company uses a combined singular/plural form like "Uploading File(s)" is not a very good indicator of whether that company values its craft, IMO.
So yes, we have a real IDGAF issue in tech, and I can’t imagine this getting better because Gen Z all have a casual drug dealer “this just my side hustle” attitude, and Millennials will not a give a fuck because they are still pissed about the GFC and the cost of housing. The Leetcode people don’t give a fuck because they are burnt out on Leetcode and their entire identity is based on salary and very little to do with quality of their actual work.
There’s literally … and I mean this, there’s literally no one left to care.
Same with all the bad performance. Sometimes this may be a mistake but almost always it's because the site is firing up 50 prerender tracking scripts.
The author is trying to imply that if everyone focused a little more on making the computer feel like your robot friend, the industry would quit producing shit software. But the reality is the industry creates shit software because it is running an ad-supported malware business model.
Have attention to quality. Do whatever it is that you're doing well.
It just takes longer and is at the expense of another feature. In truth, it mostly takes more skill - once you have that skill, it's another 5 minutes. There are a few edge cases, but you largely have the necessary context to translate a string. You have to translate the string in its entirety instead of relying on composition of translated chunks. (This is already best practice.)
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?
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.
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 is a having a title be 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 never bothers me -- but 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: 2The plural version does not and as you pointed out, there's a solution in English that works. But, I'm curious if there are any languages were that type of solution doesn't work.
https://perldoc.perl.org/Locale::Maketext::TPJ13#A-Localizat...
(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) worksLast 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 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/
Keep in mind English is a super weird language, it's three languages in a trenchcoat with stuff like 'beef' coming from French and 'meat' from Germanic.
One big problem with the fight is that industry is incentivized to cut corners. '(Fast, Cheap, Good)..pick two' often results in managers picking fast and cheap. In some ways,they seem legally obligated to fast and cheap due to fiduciary responsibility to the stockholders. That's only if you look at the potential profit and risks from a very short term. Alas, that is what most of the world's businesses do at the moment. To paraphrase Dom from the Fast and the Furious, "We live our lives one business quarter at a time". Eventually Dom discovers the futility of that during the course of the series. Hopefully we will too, before we crash.
> Hopefully we will too, before we crash.
I think LLMs are helping us to bolt rocket engines to cars.
It's always been the case that "bean counters" will optimize to increase profits. If you want a superior product, you have to pay for it. Particle board furniture sold at Walmart certainly wont last nearly the same way as hand-crafted pieces by Gomer Bolstrood. The contrast is dramatic. Mass produced disposable products vs one-of-a-kind products built with a high attention to detail.
The idea of paying more for quality doesn't seem to apply to software. Maybe I'm romanticizing the past, but I believe it did once. I believe that the software developers of yore cared more about their craft than most of the ones employed today. I think they had to. If a product didn't sell, it was pulled from the shelves. It would be dropped by distributors.
Somewhere along the way it's become more important to prioritize minimal time to market, and minimal viable products. People who care about software quality still exist, but they are slowly being squeezed out by others who don't. Profit, growth, and market share have become more important than providing real value to users.
tyleo•1h ago
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.
clickety_clack•1h ago
jon-wood•1h ago
jordanb•1h ago
wavemode•1h ago
jordanb•1h ago
tyleo•54m ago
You can make pluralization work but the "(s)" is going to tend to work better.
And localization isn't just an opportunity for development bugs, localizers get things wrong too. Some non-English speakers mentioned to me that some translations are so bad, it's better to use the English version anyways.
wavemode•43m ago
And who exactly is talking about "embedding" business logic in the i18n framework? Every serious framework I've used has supported placeholders, so at the application level you just select between singular and plural form and then the translation framework can handle arranging the words.
e.g. `items.length == 1 ? _t("%d item", items.length) : _t("%d items", items.length)` and then within your translation files you can specify translations that rearrange the phrase, like "<noun> %d" for languages where they are reversed.
(though usually of course, you would use much longer phrases, so that the translation is done in-context.)
ghosty141•1h ago
skeeter2020•1h ago
BrtByte•59m ago
ivape•18m ago
Proverbs become eerie the longer you live. Almost like, woah, that one sentence was actually universally true? Well hot damn!
Keep neglecting these small things and you’ll see the level of unconstrained shit you will have unleashed onto the world. With enough of us doing so, we can take part in the great collective festival of mass garbage accumulation (aggregate all the paper cuts).
The modern website needs to be in MOMA with no explanation, just a small title that reads ‘Despair’ (Perhaps even ‘Futility’, or the more modern ‘There was an attempt’). Nonetheless, to quote the great Frank from Always Sunny:
”It’s all shit”