That we don't seem to have made much progress in 50 years is pretty disappointing.
As we digitize increasingly "serious" systems, this is increasing a logistical crisis in addition to a social issue. Variations that would have been trivially handled by even the least helpful of bureaucrats becomes outright impossible to submit to computer systems, often with no channel for appeal or remedy.
The story of Ellis Island screeners changing the spelling of names is infamous, but in that story at least the immigrants ended up with coherent paperwork and a usable name. Today, people with PII that doesn't match software formats are increasingly out of luck. If your name includes 'é', ASCII systems will flatly refuse to accept that. You can enter 'e', but when down the line the ASCII field gets compared to some UTF-8 record of your name, they might well be ruled different people. If you live in Apartment C, you'll suddenly and unhappily learn how many computer systems treat apartment number as a strictly numeric field. And god forbid your apartment has a name, or your street number has a decimal - there isn't even a graceful conversion for those values.
Robust design is the first step here: many systems could easily be adjusted to fail in 1% of the cases as they currently do. But human-focused design on a much larger scale can't be avoided either; when these standardizations _do_ inevitably fail, there needs to be some way of conceding that the system, and not the data, is wrong. As @patio11 put it years ago, "anything someone tells you is their name is — by definition — an appropriate identifier for them".
This bit really stands out to me, and it bothers me to no end when I encounter it in the wild.
It even afflicts FLOSS software! Without meaning to single out any one project in particular, a concrete example that's fresh on my mind is KDE's Dolphin. Lately "sudo dolphin" results in the flat-out lie that "Executing Dolphin as root is not possible.", rather than a much more informative statement such as "Doing this would make an entire class of otherwise impossible exploits possible, so the maintainer has made a personal judgment call to disallow this behavior."
I think all software everywhere ought to conform to KDE's Human Interface Guidelines of "simple by default, powerful when needed" but would also like to see something added along the lines of:
* Don't lie to users - be as transparent as reasonably possible.
* Don't make value judgments or be (needlessly) authoritarian - software should restrict itself to doing its job and doing it well.
Another (historical) example that comes to mind: https://github.com/tpope/heroku-fucking-console
This is not the full equation though. Usually, "it can't be done for the price that users want to pay and the reality is it's entirely possible but I will not do it for free for you".
For much of it, I don't think it is too strong a term. I think most Dark Patterns can be accurately described as abusive. There are Games that are specifically designed to irritate people into spending more money than they intended.
There are layers, Some of it is ignorance, some of it is willful ignorance, the worst of it is deliberate and focused.
Over time software will have a bigger and bigger impact on our lives. Already there are organisations which make assumptions about me based on data that their software gathers that is completely untrue. While it is currently laughable that Google is convinced that I want to go to Hawaii, the potential for it to beyond even what the most famous dystopian novels warned us about is truly frightening.
Well, there's Wikipedia. Everyone uses it and it models great respect for its users and itself.
But I don't think there are a lot of better options for Wikipedia to ask for money.
Realized the same thing about a year ago about SPLC (splc.org). Once I realized how much cash they have I saw that my contributions would have more effect elsewhere. I like what splc does: help discriminate which groups are hate groups and which aren't, among others. But they simply don't need any more money IMO.
"The Internet Archive is a US 501c3 non-profit organization."
So, similar to Wikipedia.
(I do think there is a value in something like a MOOP - massive open online psychology - an agent that monitors us as deeply as is done currently but listens to our conversations but with intention of learning and guiding - not CBT but reviewing the past day, almost automated therapy)
This is most likely to start in corporate environments but it has value (if done at medical levels of no harm and patients best interest - of course a Black Mirror version for the Chinese government would explain why your conversation with a neighbour was not in line with party policy)
I don't see how that fits all that well with a do-it-yourself, volunteer ethic. It fits better with a service-based approach where people just hire others to help if they need help. But then you're competing with Apple stores.
Or, alternately, you can buy a Chromebook for a less tech-savy relative. It's a rather practical solution.
The place where open source really works is with young people who want to get involved. There is a big enough community to sustain it, but not enough to really take over.
There are free software distributions that stick quite close to that model, such as Debian and CentOS. The problem with the Chromebook is that it is only "on support" for 5 years after release, past that it's just a brick. Plus it expects you to depend on outside "cloud" services when there's no real reason to do so - a mainstream Linux distribution won't do that.
With apt, there's no straightforward way to download packages on one machine and take them to an offline machine. Apt assumes that you you will be installing on the machine doing the downloading and only downloads the packages the downloading machine needs, which may be different from the one the offline machine needs, and last I checked you had to do quite a lot of piping and text parsing to work around it.
If those options don't cover your needs can you tell me what they are?
[1] http://rickysarraf.github.io/apt-offline/ [2] https://www.ostechnix.com/fully-update-upgrade-offline-debia...
We're pretty much at the point where you could mirror the entire archive including every arch onto a portable hard drive, the total size is 2453GB: https://www.debian.org/mirror/size
In my case, it's a nice improvement over maintaining a relative's increasingly unreliable Windows XP computer running obsolete software for long past its expiration date.
All tools have benefitted from standing on the shoulders of these and other giants. Software doesn't exist in a vacuum and it doesn't appear fully formed from nothing. Ideas and inspiration are drawn from a multitude of projects. Take a look at the third party software required to build Firefox sometime.
We have the examples. Then again, we have a lot of corporate bs in between the user and the opensource projects that actually drive our world.
I don't think we need to teach people so much as we need to teach programmer. Emacs, Perl and Python were made to do something in a better way for the user. Any esoteric technology was the result of that. Not as you often see today were it is the other way around and the use case is shoehorned in at the end. If you want to do something nice you don't start with your super advanced back-end, you start with how someone is going to use it.
> What's a more appropriate shining star, our new beacon to show everyone how Software Ought To Be?
VS Code, but that is probably a bit obvious. Maybe something like Jupyter Notebook? WordPress used to be a big one. The thing is that so many things these days are proprietary web applications, mobile applications and/or networks.
Without plugins, you are left with a text editor of only nominal use and mediocre novelty. That, or enabling telemetry. That's a pretty coercive pattern.
It's extremely abusive. The parent company, also.
If you'll permit me a (perhaps inappropriately severe) analogy to relationships, victims in abusive relationships often stay in the relationship because they think their partner's behavior is excusable. Sometimes, this is because they haven't seen good, healthy relationships modeled for them before. "This is just how relationships are," they might think.
While I think the term "abuse" is likely too strong for corporate software's relationship with their users, I do think we can leverage this same approach. By developing and maintaining "shining stars" of the open-source world, we can provide concrete examples to people that it's possible for their software to have a purposefully healthy relationship with them.
The article calls out examples like Emacs, Perl, and Python, but the proportion of people who use software and have used (and liked) these tools is vanishingly small. What's a more appropriate shining star, our new beacon to show everyone how Software Ought To Be?
The first example that comes to my mind is Firefox - but that was perhaps more applicable in a pre-Chrome world.