1. Free software is developed for the developer's own needs and developers are going to be power users.
2. The cost to expose options is low so from the developer's perspective it's low effort to add high value (perceiving the options as valuable).
3. The developer doesn't know who the customer is and rather than research/refine just tries to hit all the boxes.
4. The distribution of the software itself means anyone who successfully installs it themselves really is a power user and does like the options. Installing it for family and friends doesn't work.
Probably many other factors!
For those of you thinking (which 20%) following that article from the other day — this is where a good product sense and knowing which 80% of people you want to use it first. You could either tack on more stuff from there to appeal to the rest of the 20% of people, or you could launch another app/product/brand that appeals to another 80% of people. (e.g. shampoo for men, pens for women /s)
One of the truest things I've read on HN. I've also tried to visit this concept with a small free image app I made (https://gerry7.itch.io/cool-banana). Did it for myself really, but thought others might find it useful too. Fed up with too many options.
Therefore: If you want lots of users, design for the median user; if you don't, this doesn't apply to you
Implementing the UI for one exact use case is not much trouble, but figuring out what that use case is difficult. And defending that use case from the line of people who want "that + this little extra thing", or the "I just need ..." is difficult. It takes a single strong-willed defender, or some sort of onerous management structure, to prevent the interface from quickly devolving back into the million options or schizming into other projects.
Simply put, it is a desirable state, but an unstable one.
or, simply put, nerds
it takes both a different background, approach and skillset to design ux and interface
if anything FOSS should figure out how to attract skilled artists so majority of designs and logos doesn't look so blatantly amateurish.
UI and UX are for all intents lost arts. No one is sitting on the other side of a 2 way mirror any more and watching people use their app...
This is how we get UI's that work but suck to use. This is how we allow dark patterns to flourish. You can and will happily do things your users/customers hate if it makes a dent in the bottom of the eye and you dont have to face their criticisms directly.
Which is also why UI/UX on open source projects are generally going to suck.
There's certainly no money to pay for that kind of experiment.
And if you include telemetry, people lose their goddamn minds, assuming the open source author isn't morally against it to begin with.
The result is you're just getting the author's intuitive guesswork about UI/UX design, by someone who is likely more of a coder than a design person.
It's difficult to get those kinds of creatives to donate their time (trust me on this, I'm always trying).
I'm an ex-artist, and I'm a nerd. I can definitively say that creating good designs, is at least as difficult as creating good software, but seldom makes the kind of margin that you can, from software, so misappropriation hurts artists a lot more than programmers.
I don't, as a rule, ever ask artists to contribute for free, but I still occasionally get gifted art from kind folks. (I'm more than happy to commission them for one-off work.)
Artists tragically undercharge for their labor, so I don't think the goal should be "coax them into contributing for $0" so much as "coax them into becoming an available and reliable talent pool for your community at an agreeable rate". If they're enthusiastic enough, some might do free work from time to time, but that shouldn't be the expectation.
There’s a very good reason for me to be asking for gratis work. I regularly do tens of thousands of dollars’ worth of work for free.
If it is your job, then go do it as a job. But we all have jobs. Free software is what we do in our free time. Artists don't seem to have this distinction. They expect to be paid to do a hobby.
Software people love writing software to a degree where they’ll just give it away. You just won’t find artists doing the same at the same scale. Or architects, or structural engineers. Maybe the closest are some boat designs but even those are accidental.
It might just be that we were lucky to have some Stallmans in this field early.
I think this is because there are plenty of software nerds with an interest in typography who want to see more free fonts available.
Not sure how that happens with a painting, even a digital one.
i think the bigger issue is that the power users usecases are different from the non-power users. not a skillset problem, but an incentive one
Not at all. Talented human artists still impress me as doing the same level of deep "wizardry" that programmers are stereotyped with.
Other engineering disciplines are simpler because you can only have complexity in three dimensions. While in software complexitiy would be everywhere.
Crazy to believe that
It is hard to overestimate the difference between creating tools for people who use the tools for hours every day and creating tools for people who use tools once a week or less.
The casual user just wants a tool to crop screenshots and maybe draw simple shapes/lines/arrows. But once they do that they start to think of more advanced things and the simple tool starts to be seen as limiting.
Silksong Daily News went from videos of a voiceover saying "There has been no news for today" over a static image background to (sometimes) being scripted stop-motion videos.
I see people using DAWs, even "pro" ones made by companies presumably interested in their bottom lines. In all cases I have no idea how to use it.
Do I complain about intuitiveness etc? Of course not. I don't know how to do something. That's my problem. Not theirs.
That is, either determine what the optimal set of features is from the outset, design around that, and freeze or organically reach the optimium and then freeze. After implementing the target feature set, nearly all engineering resources are dedicated to bug fixes and efficiency improvements. New features can be added only after passing through a rigorous gauntlet of reviews that determine if the value of the feature's addition is worth the inherent disruption and impact to stability and resource consumption, and if so, approaching its integration into the existing UI with a holistic approach (as opposed to the usual careless bolt-on approach).
Naturally, there are some types of software where requirements are too fast-moving for this to be practical, but I would hazard a guess that it would work for the overwhelming majority of use cases which have been solved problems for a decade or more and the required level of flux is in reality extremely low.
I do feel quite strongly that this should be implemented in the app though.
There must be examples of this approach already being used?
Overly simplified example:
"Can you make this button do X?" where the existing button in so many ways is only distantly connected to X. And then they get stuck on the idea that THAT button has to be where the thing happens, and they stick with it even if you explain that the usual function of that button is Y.
I simplified it saying button, but this applies to processes and other things. I think users sometimes think picking a common thing, button or process that sort of does what they want is the right entry point to discuss changes and maybe they think that somehow saves time / developer effort. Where in reality, just a new button is in fact an easier and less risky place to start.
I didn't say that very well, but I wonder if that plays a part in the endless adding of complexity to UI where users grasp onto a given button, function, or process and "just" want to alter it a little ... and it never ends until it all breaks down.
In my experience it may be solved by both parties spending the effort and time to first understand what is being asked... assuming they are both willing to stomach the costs. Sometimes it isn't worth it, and it's easier to pacify than respectfully and carefully dig.
I'd say it's even more than you've stated. Not only for defending an existing project, but even for getting a project going in the first place a dictator* is needed.
I'm willing to be proven wrong, and I know this flies in the face of common scrum-team-everybody-owns approaches.
* benevolent or otherwise
Microsoft for a loooong time had that figured out pretty well:
- The stuff that people needed every day and liked to customize the most was directly reachable. Right click on the desktop, that offered a shortcut to the CPL for display and desktop symbols.
- More detailed stuff? A CPL that could be reached from the System Settings
- Stuff that was low level but still needed to be exposed somewhat? msconfig.
- Stuff that you'd need to touch very rarely, but absolutely needed the option to customize it for entire fleets? Group Policy.
- Really REALLY exotic stuff? Registry only.
In the end it all was Registry under the hood, but there were so many options to access these registry keys depending what level of user you were. Nowadays? It's a fucking nightmare, the last truly decent Windows was 7, 10 is "barely acceptable" in my eyes and Windows 11 can go and die in a fire.
I think in the context of this thread, we shouldn't overgeneralize or underestimate "normal people".
for certain types of tooling UIs should be cheap, disposable and task/worlflow specific.
Exactly what golden era of computing are you harking back to, and what are you doing that requires 14 different commands?
The idea behind a cheap UI is not constant change, but that you have a shared engine and "app" per activity.
The particular workflow/ui doesn't need to ever change, it's more of a app/brand per activity for non-power users.
This is similar to how some apps historically (very roughly lotus notes springs to mind) are a single app but have an email interface/icon to click, or contacts, or calendar, all one underlying app but different ui entry points.
Whereas with complicated GUI tools, you have to watch a video to learn how to do it.
Well, there are different issues.
Reading a manual is the best you can do, theoretically. But Linux CLI tools have terrible manuals.
I read over the ssh man page multiple times looking for functionality that was available. But the man page failed to make that clear. I had to learn about it from random tutorials instead.
I've been reading lvm documentation recently and it shows some bizarre patterns. Stuff like "for more on this see [related man page]", where [related man page] doesn't have any "more on this". Or, here's what happens if you try to get CLI help:
1. You say `pvs --help`, and get a summary of what flags you can provide to the tool. The big one is -o, documented as `[ -o|--options String ]`. The String defines the information you want. All you have to do is provide the right "options" and you're good. What are they? Well, the --help output ends with this: "Use --longhelp to show all options and advanced commands."
2. Invoke --longhelp and you get nothing about options or advanced commands, although you do get some documentation about the syntax of referring to volumes.
3. Check the man page, and the options aren't there either. Buried inside the documentation for -o is the following sentence: "Use -o help to view the list of all available fields."
4. Back to the command line. `pvs -o help` actually will provide the relevant documentation.
Reading a manual would be fine... if it actually contained the information it was supposed to, arranged in some kind of logically-organized structure. Instead, information on any given topic is spread out across several different types of documentation, with broken cross-references and suggestions that you should try doing the wrong thing.
I'm picking on man pages here, but actually Microsoft's official documentation for their various .NET stuff has the same problem at least as badly.
From which I was able to then say, "Can I have the equivalent source code" and it did that too, from which I was able to spot my mistake in my original attempt. ( The KDF was using md5 not sha ).
I'm willing to bet that LLMs are also just as good at coming up with the right ffmpeg or imagemagick commands with just a vague notion of what is wanted.
Like, can we vignette the video and then add a green alien to the top corner? Sure we can (NB: I've not actually verified the result here) : https://claude.ai/share/5a63c01d-1ba9-458d-bb9d-b722367aea13
they are. ive only used ffmpeg via llm, and its easy to get the LLM to make the right incantation as part of a multi-step workflow.
my own lack of understanding of video formats is still a problem, but getting ffmeg to do the right thing only takes a vague notion
It struck me as a weird example in the OP because I don't really think of Handbrake as a power user tool.
ffmpeg -i input.avi output.mp41) They have to know how to get to a command line somewhere/how (most of this group of users would be stymied right here and get no further along);
2) They now have to change the current directory of their CLI that they did get open to the location in their filesystem where the video is actually stored (for the tiny sliver who get past #1 above, this will stymie most of them, as they have no idea exactly where on disk their "Downloads" [or other meta-directory item] is actually located);
3) For the very few who actually get to this step, unless they already have ffmpeg installed on their PATH, they will get a command not found error after typing the command, ending their progress unless they now go and install ffmpeg;
4) For the very very few who would make it here, almost all of them will now have to accurately type out every character in "a-really_big_filename with spaces .mov", as they will not know anything about filename completion to let the shell do this for them. And if the filename does have spaces, and many will, they now need to somehow know 4a) that they have to escape the spaces and 4b) how to go about escaping the spaces, or they will instead get some ffmpeg error (hopefully just 'file not found', but with the extra parameters that unescaped spaces will create, it might just be a variant of "unknown option switch" error instead).
Few people are able to see through the eyes of a beginner, when they are a master.
The 4th one is a pain to teach. Every other file and directory has spaces... so I encourage liberal use of the TAB key for beginners.
Someone who only wants to convert from one format to another, and isn't accustomed to CLIs, is far better served by "drag the file here -> type an output filename and extension in the text box".
The problem (and the reason both FFMpeg and Handbrake exist) is that tons of people "only" want to do two or three specific tasks, all in the same general wheelhouse, but with terrible overlap.
using the remote analogy, the taped versions are useful for (many!) specific people, but shipping the remote in that configuration makes no sense
i think normal people don't want to install an app for every specific task either
maybe a solution can look like a simple interface (with good defaults!!) but with an 'advanced mode' that gives you more options... though i can't say i've seen a good example of this, so it might be fundamentally flawed as well
Logic Pro has a “masking tape” mode. If you don’t turn on “Complete Features” [0], you get a simplified version of the app that’s an easier stepping stone from GarageBand. Then check the box and bam, full access to 30 years’ accumulation of professional features in menus all over the place.
[0] https://support.apple.com/guide/logicpro/advanced-settings-l...
Actual good UI/UX design isn't trivial and it tends to require a tight feedback loop between testers, designers, implementers, and users.
A lot of FOSS simply doesn't have the resources to do that.
There are other times I want cropping or something similar, but it's really only 10-30% of the time. If people want to have a more custom workflow they can use an advanced UI
But many other projects, perhaps the majority, that is not their goal. By devs for devs, and I don't think there is anything wrong with that.
Pleasing customers is incredibly difficult and a never-ending treadmill. If it's not the goal then it's not a failure.
I'm not disagreeing with your basic take, but I think this part is a little more subtle.
I'd argue that 80% of users (by raw user count) do want roughly the same 20% of functionality, most of the time.
The problem in FOSS is that average user in the FOSS ecosystem is not remotely close to the profile of that 80%. The average FOSS user is part of the 1% of power users. They actively want something different and don't even understand the mindset of the other 80% of users.
When someone comes along to a FOSS project and honestly tries to rebuild it for the 80% of users, they often end up getting a lot of hate from the established FOSS community because they just have totally different needs. It's like they don't even speak the same language.
It was something like:
- almost everybody only uses about 20% of the features of Word
- everybody's 20% is different, but
- ~80% of the 20% is common to most users.
- on the other hand, the remaining 20% of the 20% is widely distributed and covers basically all of the product.
So if you made a version of Word with 16% of its feature set you would almost make everybody happy. But really, nobody would be happy. There's no small feature set that makes most people happy.
Some FOSS projects attempt something like this, but it can become a self-reinforcing feedback loop: When you're only testing on current users, you're selecting for people who already use the software. People who already use the software were not scared away by the interface. So the current users tend to prefer the current interface.
Big software companies have the resources to gather (and pay) people for user studies to see what works and what does not for people who haven't seen the software before, or at least don't have any allegiances. If you only ever get feedback from people who have been using the software for a decade, they're going to tell you the UI must not change because they know exactly how to use it by now.
The things the user does most frequently need to be the easiest things to do.
You expose the stuff the user needs to do quickly without a lot of fuss, and you can bury the edge cases in menus.
Sadly a lot of software has this inverted.
It works exactly for TV remote controls. Or, rather, it worked before everybody had an HDMI player or smart TVs. It doesn't work for TV remotes now either.
Handbrake is a bit like TV remotes in the turn of the century. That's an exception even among free software, and absolutely no mainstream DE is like that.
Note that I've always been a KDE user...
This is so common, to the point that it's a FOSS misconception #1 for me. They can't get it that the developer can develop the software to solve only their specific problem and not interested in support, feature contributions, and other improvements or usecases.
Huge amounts of dumbed-down software that won't do interesting things is made. There's no need to present this challenge.
> a person who needs or wants that stuff can use Handbrake.
That's the part that is often ignored: providing the version with the features.
https://contemporary-home-computing.org/RUE/
That's what "UX" is all about. "Scripting the users", minimizing and channeling their interactions within the system. Providing one button that does exactly what they want. No need to "scare" them with magical computer technology. No need for them to have access to any of it.
It's something that should be resisted, not encouraged. Otherwise you get generations of technologically illiterate people who don't know what a directory is. Most importantly, this is how corporations justify locking us out of our own devices.
> We are giving up our last rights and freedoms for “experiences,” for the questionable comfort of “natural interaction.” But there is no natural interaction, and there are no invisible computers, there only hidden ones.
> Every victory of experience design: a new product “telling the story,” or an interface meeting the “exact needs of the customer, without fuss or bother” widens the gap in between a person and a personal computer.
> The morning after “experience design:” interface-less, desposible hardware, personal hard disc shredders, primitive customization via mechanical means, rewiring, reassembling, making holes into hard disks, in order to to delete, to logout, to “view offline.”
I don't want most of consumer electronics to act like a computer, it is a deficiency for me. I chose "dumb" Linux-based eBook reader instead of Android-based, because I want it to read books, full stop.
I'm no dentist, I go to dentists. I let them work, and try not to be too annoying. I learn the minimum that I need to know to follow the directions that they deliberately make very simple for me.
This will result in generations of generally dentistry ignorant people, but I am not troubled by this.
As technologically competent people, one of our desires should be to help people maintain the ignorance level that they prefer, and at every level steer them to a good outcome. Let them manage their own time. If they want privacy and control, let's make sure they can have it, rather than lecturing them about it. My grandmother is in her 90s and she doesn't want people reading her emails, listening to her calls or tracking her face. She is not prepared to deal with more than a couple of buttons, and they should be large and hopefully have pictures on them that explain what they do. It's my job to square that circle.
Intuitive UX for the average non-nerd user is task-based. You start with the most common known goals, like sending someone money, or changing the contrast of a photo, and you put a nice big button or slider somewhere on the screen that either makes the goal happen directly or walks you through it step by step.
Professional tools are workbench-based. You get a huge list of tools scattered around the UI in various groups. Beginners don't know what most of the tools do, so they have to work out what the tools are for before they can start using them. Then, and only then, can they start using the tools in a goal-based way. Professionals already know the tradecraft, so they have the simpler - but still hard - "Which menu item does what I need?" problem.
Developer culture tends to be script-based. It's literally just lists of instructions made of cryptic combinations of words, letters, and weird punctuation characters. Beginners have to learn the words, the concepts behind them, and the associated underlying computer fundamentals at multiple levels - just to get started. And if you start with a goal - let's say you want a bot that posts on social media for you - the amount of learning if you're coming to it cold is beyond overwhelming.
FOSS has never understood this. Yes, in theory you can write your own almost anything and tinker with the source code. But the learning curve for most people is impossibly steep.
AI has some chance of bridging the gap. It's not reliable yet, but it's very obvious now that it has a chance to become a universal UI, creating custom code and control panels for specific personal goals, generating workbench UIs and explaining what the tools do if you need a more professional approach, and explaining core concepts and code structures if you want to work at that level.
FOSS's issue isn't that they trust users too much, it's that they aren't taking different types of users into account.
Corporate-built software that's locked down or limited like iCloud is 100% about not trusting the users.
WHY IS THERE CODE??? MAKE A FUCKING .EXE FILE AND GIVE IT TO ME. these dumbfucks think that everyone is a developer and understands code. well i am not and i don't understand it. I only know to download and install applications. SO WHY THE FUCK IS THERE CODE? make an EXE file and give it to me. STUPID FUCKING SMELLY NERDS"
https://old.reddit.com/r/github/comments/1at9br4/i_am_new_to...
UI/UX (which the article is about) is part of the broader approach.
For a little history on this design, see https://athinkingperson.com/2010/06/02/where-the-big-green-c...
On the one hand, I want the UI to be simple and minimal enough so even non savvy users can use it.
But on the other hand, I do need to support more advanced features, with more configuration panels.
I learned that the solution in this case is “progressive disclosure”. By default, the app only show just enough UI elements to get the 90% cases done. For the advanced use cases, it takes more effort. Usually to enable them in Settings, or an Inspector pane etc. Power users can easily tinker around and tweak them. While non savvy users can stick with the default, usual UX flow.
Though even with this technique, choosing what to show by default is still not easy. I learned that I need to be clear about my Ideal Customer Profile (ICP) and optimize for that profile only.
[0]: https://boltai.com
I dread "Can you add a button..." Or worse, "Can you add a check box..." Not only does that make it worse for other users, it also makes it worse for you, even if you don't realize it yet.
What you need is to take their use case and imagine other ways to get there. Often that means completely turning their idea on its head. It can even help if you're not in the trenches with them, and can look at the bigger picture rather than the thing that is interfering with their current work flow.
So I'd like to welcome the author to make more apps based on FOSS.
We're getting there. I run Linux Mint with an XFCE desktop -- an intentionally minimal setup. The system performs automatic updates and the desktop layout/experience resembles older Windows desktops before Microsoft began "improving" things. No ads, no AI.
I'm by no means an end user, but in Linux I see incremental progress toward meeting the needs of that audience. And just in time too, now that Microsoft is more aggressively enshittifying Windows.
What's really missing are online fora able to help end users adjust to Linux -- helpful without being superior or condescending. Certainly true for Windows, not yet true for Linux.
I do have a Linux box, and I only have complaints about small things. Double screen works, VSCode works, Firefox works too. Not much to complaint for a personal dev box. The ability to just `apt install` a bunch of stuffs and then start compiling is pretty nice.
But again, I'm pragmatic, so if I'm doing something Windows related, I'd definitely use my Windows box.
claude-code actually does this really well, having used it to set up gnome on my phone, and fix all my problems without having to learn anything
I do not readily empathize with people who are scared of software, because my generation grows up tinkering with software. I'd like to understand why people would become scared of software in the first place.
Computer damage is one potential consequence on the extreme end. On the conservative end, the software might just not work the way you want and you waste your time. It’s a mental model you have to develop. Even as a technical power user though, I want to reduce the risk of wasting my time, or even confront the possibility that I might waste my time, if I don’t have to.
The world is a complicated place, and there is a veritable mountain of things a person could learn about nearly any subject. But sometimes I don't need or want to learn all those things - I just want to get one very specific task done. What I really appreciate is when an expert who has spent the time required to understand the nuances and tradeoffs can say "just do this."
When it comes to technology 'simple' just means that someone else made a bunch of decisions for me. If I want or need to make those decisions myself then I need more knobs.
people arent afraid of doing 2^n stuff, its just that we have a gut sense that its gonna take more time than its worth. im down to try 10-100 things, but if its gonna be 100 million option combinations i have to tinker with, thats just not worth it.
It also opens up opportunities for money-making, and employment in Free Software for people who do not program. The kind of hand-holding that some people prefer or need in UX is not easy to design, and the kind of marketing that leads people to the product is really the beginning of that process.
Nobody normal cares that it's a thin layer over the top of a bunch of copyleft that they wouldn't understand anyway (plenty of commercial software is a thin layer over permissively licensed stuff.) Most people I know barely know what files and directories are, and the idea of trying to learn fills them with an anxiety akin to math-phobia. Some (most?) people get a lot of anxiety about being called stupid, and they avoid the things that caused it to happen.
They do want privacy and the ownership of their own devices as much as everyone else however, they just don't know how much they're giving up when they do a particular software thing, or (like all of us) know that it is seriously difficult if not possible to avoid the danger.
Give people mock EULAs to click through, but they will enumerate the software's obligations to them, not their obligations to the software. Help them remain as ignorant as they want about how everything works, other than emphasizing the assurances that the GPL gives them.
Not 5 minutes after that someone else on the comments went on a weird rant about how allegedly Inkscape and all FOSS was "communist" and "sucked" and capitalist propietary stuff was "superior".
IN this particular case someone things more competition is communist...
Dunno why people assume that FOSS developers are just dummies lacking insight but otherwise champing at the bit to provide the same refinement and same customer service experience as the "open source" projects that are really just loss leaders of some commercial entity.
Yes, but those 80% all use a different subset of the 20% of features. So if you want to make them all happy, you need to implement 100% of the features.
I see the pattern so often. There is a "needlessly complicated" product. Someone thinks we can make it simpler, we rewrite it/refactor the UI. Super clean and everything. But user X really needs that one feature! Oh and maybe lets implement Y. A few years down the line you are back to having a "needlessly complicated" product.
If you think it could easily be done better, you don't understand the problem domain well enough yet. Real simplicity looks easy but is hard to achieve.
My criticism of Free Software is exactly the reverse. There isn't enough of that kind of stuff on Linux!
Though to be sure, the Mac category (It Has One Button) is even more underserved there, and I agree that there should be more! Heck, most of the stuff I've made for myself has one button. Do one thing and do it well! :)
Q: Why does God allow so much suffering?
A: What? There is no God. We invented him.
Q: Doesn't this mean life has no purpose?
A: Create your own purpose. Eliminate the middleman.
Q: But doesn't atheism allow evil people free rein?
A: No, it's religion that does that. A religious evil person can always claim God either granted him permission or forgave him after the fact. And he won't be contradicted by God, since ... but we already covered that.
Hmm. If it works for HandBrake, it might work for life.
See Don Norman's Design of Everyday things.
https://www.nngroup.com/articles/progressive-disclosure/
https://www.nngroup.com/videos/positive-constraints-in-ux-wo...
It's a little harder to make an easy version
Making the progressive version is very difficult. Where you can please one audience with the powerful and easy versions, you can often disappoint both with the progressive version despite it taking much more effort.
In my personal experience, you're lucky if free software has the budget (time or money) to get to easy. There's very little free software that makes it to progressive.
My wife is not particularly tech savvy. She is a Linux user, however. When we started a new business, we needed certain applications that only run on Windows and since she would be at the brick and mortar location full time, I figured we could multi-purpose a new laptop for her and have her switch to Windows.
She hated it and begged for us to get a dedicated Windows laptop for that stuff so she could go back to Linux.
Some of you might suggest that she has me for tech support, which is true, but I can't actually remember the last time she asked me to troubleshoot something for her with her laptop. The occasions that do come to mind are usually hardware failure related.
Obviously the thing about generlizations is that they're never going to fit all individuals uniformly. My wife might be an edge case. But she feels at home using Linux, as it's what she's used to ... and strongly loathed using Windows when it was offered to her.
I feel that kind of way about Mac vs PC as well. I am a lifelong PC user, and also a "power user." I have extremely particular preferences when it comes to my UI and keyboard mappings and fonts and windowing features. When I was forced to use a Mac for work, I honestly considered looking for a different position because it was just that painful for me. Nothing wrong with Mac OS X, a lot of people love it. But I was 10% as productive on it when compared to what I'm used to... and I'm "old dog" enough that it was just too much change to be able to bear and work with.
It's one of those situations where "close enough" isn't. The fine details matter.
My mom had no trouble adjusting to it. It was all just computer to her in some ways.
I proactively stopped that decades ago.
"Oh, you use Windows? Sorry, I haven't used it in over a decade so I can't help. If you have any Linux questions, let me know!"
To be fair, the Audacity UX designer made a massive video about the next UX redesign and how he tried to get rid of "modes" and the "Audacity says no" problem:
https://www.youtube.com/watch?v=QYM3TWf_G38
So this problem should get better in the future. Good UX (doesn't necessarily have to have a flashy UI, but just a good UX) in free software is often lacking or an afterthought.
You're making application for yourself and somewhere down pipeline you decide that it could benefit others, so you make it open-source.
Your own personal design isn't one-fit-all. Somehow you need to continue developing and now redesign the foundation.
People will growl at you for "It's ugly UX but nice features" when it's your own taste but then people will growl at you for "not having X feature, but nice UX".
Designing mock ups that pleases folk is hard.
So now your application requires a theming engine. This takes top-priority as integration of such becomes a PITA when trying to couple with future features later. That becomes a black hole and you're forever doomed in creating something you never desired for and for the people who will probably never use it.
I’ve been ripping old DVDs recently. I just want something that feels simple from Handbrake: a video file I can play on my Apple TV that has subtitles that work (not burned in!) with video and audio quality indistinguishable from playing the DVD (don’t scale the video size or mess with the frame rate!), at as small a file size as is practical. I’m prepared for the process to be slow.
I’ve been messing with settings and reading forum posts (probably from similarly qualified neophytes) for a day now and think I’ve got something that works - though I have a nagging suspicion the file size isn’t as small as it could be and the quality isn’t as good as it could be. And despite saving it as a preset, I for some reason have to manually stop the subtitles from being burned in for every new rip.
Surely what I want is what almost everyone wants‽ Is there a simple way to get it? (I think this is a rhetorical question but would love it not to be…)
The "advanced mode" rarely actually covers all the needs of an advanced user (because software is never quite everything to everyone), but it's at least better at handling both types of users.
Not all free software has this problem... Mozilla and Thunderbird I've had my parents on for years. It's not a ton to learn, and they work fine.
Taking the case of Photoshop vs. Gimp - I don't think the problem is complexity, lol. It's having to relearn everything once you're used to photoshop. (Conversely, I've never shelled out for Adobe products, and now don't want to have to relearn how to edit images in photoshop or illustrator)
Let's do another one. Windows Media Player (or more modern - "Movies & TV"). Users want to click on a video file and have it play with no fuss. VLC and MPC work fine for that! If you can manage to hold onto the file associations. That's why Microsoft tries so hard to grab and maintain the file associations.
I could go on... I think the thesis of this article is right for some pieces of software, but not all. It's worth considering - "all models are wrong, but some are useful".
The majority of users probably want the same small subset of features from a program and the rest are just confusing noise.
It's scary for folks who are used to transactional relationships to encounter these different mindsets.
wolfejam•4h ago