The problem is people design these things without any sort of actual testing in actual conditions where the software is supposed to be used.
Displaying 5 results per page is a bug, not a feature. Having restrictions on filetypes is a bug, not a feature. The same could go on to the rest of their "features". (My biggest pet peeve is date formatting — just give me ISO8601 dates, please; HackerNews, you, too!)
At SXSW, there was a coffee-bot vendor. They didn't bother testing with an adequate number of folks, so, the whole thing overflowed on first day. Predictable? Yes. Would be noticed by a committee? Not a chance.
Strongly seconding. It's an annoying UX antipattern, especially as it loses precision over time ("28 minutes ago" is fine, but "yesterday" or "5 days ago" or - even worse - "2 years ago" is not; having the date specified to hours or minutes is actually useful, especially in context of a site with international audience). Doubly so on HN, which doesn't even bother with giving the actual date/time in the tooltip, which is the usual cop out (not an actual solution, since there are no tooltips on mobile).
<time datetime="2019-10-11T13:53:36.861" title="Fri Oct 11 2019 13:53:36 GMT-0700">2 minutes ago</time>
Then you get what in my opinion is the best of both worlds: machine readable timestamp in the datetime field, human-friendly detailed timestamp as a tooltip (the title field shows when you hover over the element), and relative time as the default display. Bonus points if your React component or ERB template or whatever switches from relative time format to absolute for the inner text when the timestamp is older than a day or so.On the website I'm looking at Google Analytics for right now, fewer than 35% of the visitors are from devices where "hover" means anything...
I'd expect a site/application that is designed for students to manage homework would have different date/timestamp requirements.
And while you can justify the inprecise stamp on HN, there's no excuse for GMail and a score of other messaging software doing the same. When I'm looking at the date of an old e-mail, I almost always need the exact date and time. "2 weeks ago" is useless. "2019-09-27 08:43" tells me it happened before work, on a day after an important meeting, etc.
If HN sent dates to the client in ISO8601, the client could then transform that format into the format of their choosing with client-side javascript (either a userscript, or delivered to the user by HN.)
You mentioned 'for HN' twice in the same sentence.
Your 2nd, 4th, and 5th sentence all try to assert the same thing - older comments are less relevant than newer comments - despite there being no evidence, anywhere, that this is the case. Your 3rd sentence is partly true, though there's some historical record aspect to HN comment threads that you're discounting.
Your second paragraph is a non sequitur. Sites that correlate points in time with timestamps are ubiquitous, and there's rarely a compelling case for using wildly different approaches to displaying same.
I’ll do YOU one better. </Drax>
I work in an industry where software is still created by good, old-fashioned, by-the-book waterfall process, by outsourced developers. You know: the industry-proven, rock-solid, 20-year-out-of-date, slowest-and-least-agile methodology. Not only do the people who write the software never use it anger, they have no clue what the software is supposed to actually be doing. They don't understand our product, don't understand HOW these KINDS of products work, don't understand what engineers are doing TO the products, and don't understand what would be useful to have from software to help DO that. How many steps removed from actually USING the software is that? Well, you can imagine the frustration that end users experience on a DAILY basis, with ALL the tools they're supposed to be using, both home-grown, and customized commercial.
Gee… I wonder why there are so many shared Excel workbooks functioning as ad-hoc database applications on the network drives…
The most damning part of this is that there were some studies done on our engineering processes in relation to our competitors, and the numbers were bad. Really bad. You would think that senior management would sit up, take notice, and connect the dots. But they don’t seem to be doing that, which leads to one of two conclusions, and neither are encouraging.
Sadly, what you describe as the anti-pattern is actually the industry standard.
And you don't have to go far to see examples — Slashdot and Reddit redesign come to mind. Both are unusable.
It should be - but for many school IT security types it really is a feature to limit file types
Blocking file types by extension is pointless. as you can just change the file type.
If you're worried about kids being able to run arbitrary python scripts on your network, then the security problem is not the kids, it's your shitty network.
People are given cash as bug bounties for finding security flaws in systems, but in schools they are punished!
How is this even possible? Unless your CMS runs on python somewhere and does eval() a lot. Then yes, that is a huge problem. Moreover, why would that stop anything just not called .\+\.py?
If your CMS does `python ${fileIjustdownloadedfromuser}` in a shell then we are in serious trouble.
Some bad person vandalised an obscure public Oracle repository on GitHub that's not even for any public product they're known for (OpenGrok). Instead of being banned, the owners restricted public edits. WTF? It's small things like this that end up being having the anti-pattern become the norm.
What about security patterns for web browsing?
I feel the logic is somewhat similar but injections to websites / applications may be easier and hard to prevent against, so filtering pornography may be useful. I’m a dev not a security expert so sorry in the lack of understanding. I am actually trying to learn more about security / hacking
Recent-ish (past year) Gmail patched this (for .tar at least), so I started using base64 encoded text files.
Now though I just pay for my own email service away from Google.
why is the vendor that makes the OS (MS) making these types of decisions?
The amount of pain inflicted on employees by enterprise solutions of various kinds is immeasurable. As a developer, I squirm witnessing so much unnecessary work and discomfort associated with simple tasks.
For example, even in 2020, managing expenses is so painful that employees consider not expending their spending.
That's not a bug for some companies, who would prefer to not reimburse you.
But none the less, all company expenses needs to be verifiable by some kind of receipt in the accounting to be legal. At least thats how it works in my country. So someone has to enter that into some sort of system, ideally the economy people would take care of that.
You can't believe people aren't aware that concur is a pita and hence it reduces expense valid expense submission...
Dogfooding enterprise software is mostly impossible, since the people developing it are pushed to deliver features, because that is what administrators/managers use to choose between software. They don't care about usability, because it is not something tangible you can check.
If it's your own company or a client, it's not too hard to get them to let you tag along with someone who will be using the software.
If you're launching a startup then you should have customers lined up before you start writing code. Ask them if you can watch them work to better understand how you can help them.
Most people are happy to share when you show interest in their work and it doesn't take much. A couple of days can really break your false assumptions and give you a good idea of what the workflow looks like. You can pick up on details like the order in which information is available.
It's worth doing more than once too, presumably your software is going save time and impact how they work so you'll need to refresh your knowledge.
There was a big push for us to use it for student assessment.
I tried, I honestly did.
1. I used it to set homework assignments.
2. .py files were blocked and students couldn't upload them.
3. They submitted code as .txt instead.
4. I'd click on my class to view submissions, it showed the top 5 submissions.
5. I'd click on a submission and it would download.
6. I'd view the submission locally.
7. I'd convert to .py to test the code worked.
8. I'd assign a grade.
9. I'd then have to click (maybe 5 - 10 times) through to a different page to record the grade.
10. I'd then have to go back to the submissions page.
11. After grading the first 5 submissions, I'd click through to the next page.
12. After grading the 6th submission, I would be returned to the first submission page and have to click forward again.
13. When you get to the 30th submission, you're maybe doing fifty clicks for each homework assignment.
14. I had 4 classes all doing the same assignment.
15. This could not be amalgamated into a single marking spree.
I spent weeks trying to grade my students and then just gave up and had them email me their assignments from that point on.
These platforms are all full of features; commissioned, designed, tested and developed by people who have never set foot in a classroom.