Free software scares normal people
A lot of this type of stuff boils down to what you're used to.
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.
The handbrake UI is not designed for "power users", the handbrake UI is designed to make available all the options the underlying technology provides, so that you may leverage it to the fullest.
If you don't want that, it provides you with presets.
I do understand that many users are too lazy to read a manual, do a google search, or put any minimal amount of effort in solving an issue, but making software worse or more convoluted the second you need to have a miniscule degree of extra control seems pointless.
Too many people look at FOSS the same way the look at commercial end user software, they think they are the equivalent of a custom and they should get a premium custom like experience. But that's false. Most of the time FOSS is the result of fixing a developer's problem, or fixing the problems of somebody who also happens to be a developer, and then sharing it all with the world.
You cannot be surprised when a software made by a developer offers every single possible setting, because that's exactly what it was meant to do in the first place.
The solution is not "making software easier", the solution is to RTFM.
The remote thing seems like a perfect use of 3D printing. With the tape there, there is still a risk someone will sit on the remote and get their device into a weird state. A 3D printed cover which clips over would be rigid enough to prevent any accidents, and easy to remove if some power user needs to do something unusual.
Ignore the people criticizing you my friend, backlash is expected in a community of power users that use Hacker News- because they favor power tools. But you've made something really nice and quite useful, and you've solved a real-world problem.
People want features, and they're willing to learn complicated UIs to get them. A software that has hyper simplified options has a very limited audience. Take his example: we have somebody who has somehow obtained a "weird" video file, yet whose understanding of video amounts to wanting it to be "normal" so they can play it. For such a person, there are two paths: become familiar enough with video formats that you understand exactly what you want, and correspondingly can manipulate a tool like handbrake to get it, or stick to your walled-garden-padded-room reality where somebody else gives you a video file that works. A software that appeals to the weird purgatory in the middle necessarily has a very limited audience. In practice, this small audience is served by websites. Someone searches "convert x to y" and a website comes up that does the conversion. Knowing some specialized software that does that task (and only that one narrow task) puts you so far into the domain of the specialist that you can manage to figure out a specialist tool.
> Free audio editing software that requires hours of learning to be useful for simple tasks.
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.
I am not sure if I agree to the statement made, but one problem I found is that many people don't even understand the problem domain. Microsoft trained their brain to accept that they must be cashcows for them, so they don't understand that there may be alternatives. And let's be honest: Linux is still WAY too complicated for many elderly people to use.
Some reasons for this:
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!
If handbrake scares them, don’t you dare to demonstrate how to use ffmpeg. I remember when I used handbrake for the first time and thought “wow, it’s much more convenient than struggling with ffmpeg”.
The problem is that everyone wants a different 20% of the functionality.
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.
The problem is you need a simple app for each of the 100 use cases. Finding such simple apps (classic is joining PDFs so you can send many docs at once) means hitting the SEO soup of people trying to sell crappy software.
Being super simple ducks the problem.
You don't need two different versions of the software, one that is easy and one that is powerful. You can have one version that is both easy and powerful. Key concepts here are (1) progressive disclosure and (2) constraints.
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...
I've lost count of how many times I've had to help someone do something dead simple using tools that are, frankly, hostile to non-techies
Oh man, I have literally done that to my parents’ remote controls. Actually more controls, because they still watch VHS tapes. But I have to admit it never occurred to me to do that to their software.
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...
> 80% of the people only need 20% of the features.
I also heard that, once you try to apply this concept, you see that everyone needs a different 20%. Any thoughts on this?
The better example for this design principle is the big green button on copy machines. The copier has many functions, but 99% of users don't bother with 99% of them.
For a little history on this design, see https://athinkingperson.com/2010/06/02/where-the-big-green-c...
This has been a major UX problem for me when building my app [0] (an AI chat client for power user).
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
Abstraction needs to happen on a different layer. Because your power users are already dealing with complicated stuff and you don't want to make their lives even harder.
I know about 10 people in real life that uses Handbrake. And 10 of them use it to rip Blu-ray discs and store media files on their NAS. It will piss them off if you hide all the codec settings and replace the main screen with a giant "convert to Facebook compatible video" button.
Instead, do it like how iina[1] packages mpv[2].
That's broadly the same reason I created LLDAP. It's the 20% of features of an LDAP server that 80% of users need.
It's been hard pushing back and saying no to all the new features. We've started work on a plugin API so that people can add features and opt in to the complexity.
> It’s a bit like obscuring the less-used functions on a TV remote with tape. The functions still exist if you need them, but you’re not required to contend with them just to turn the TV on.
For telling software devs to embrace traditional design wisdom, using TV remotes is an interesting example - cause aside from the commonly used functionality people actually care about (channels, volume, on/off, maybe subtitles/audio language) the rest should just be hidden under a menu and the fact that this isn't the case demonstrates bad design.
It's probably some legacy garbage, along the lines of everyone having an idea for what a TV remote is "supposed" to look like and therefore the manufacturers putting on buttons in plain view that will never get used and that you'd sometimes need the manual to even understand.
At the same time, it might also be possible that the FOSS software that's made for power users or even just people with needs that are slightly more complex than the baseline is never going to be suited for a casual user - for example, dumbing down Handbrake and hiding functionality power users actually do use under a bunch of menus would be really annoying for them and would slow them down.
You can try to add "simple" and "advanced" views of your UI, but that's the real disconnect here - different users. Building simplified versions with sane defaults seems nice for when there is a userbase that needs it.
As a UX guy, I'd like to note that the normal people aren't so great at knowing what they want, either.
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.
I think it woudn't hurt if Handbrake had a simple UI like this by default with an Expert button to get into the full UI. I like how VLC also have basic and expert modes. It's a nice idea IMO.
> 80% of the people only need 20% of the features. Hide the rest from them and you’ll make them more productive and happy. That’s really all it takes.
You should know the common retort - but it's different 20%! So you can't create a one-button UI that covers 80%
But the challenge is real, though mostly "unsolvable" as there is too much friction in making good easily customizable UIs
The advice looks sensible, but not sure if it does more good than harm. I recall simplified user interfaces standing in the way, hiding (or simply not providing) useful knobs or information/logs. They are annoying both when using them directly as a "power user", and when less tech-savvy users approach you (as they still do with those annoyingly simplified interfaces), asking for help. Then you try to use that simplified interface, it does not work, and there is no practical way to debug or try workarounds, so you end up with an interface that even a power user cannot use. I think generally it is more useful to focus on properly working software, on documentation and informative logs, sufficient flexibility, and maybe then on UI convenience, but still not making advanced controls and verbose information completely inaccessible (as it seems to be in the provided examples).
OP should check out Gnome Circle:
The problem with why so many OSS/free software apps look bad can be demonstrated by the (still ongoing) backlash to Gnome 3+. It just gets exhausting defending every decision to death.
Sometimes projects need the spine to say "no, we're not doing that."
There are literally thousands of wrappers for ffmpeg (other examples: imagemagick, ghostscript) that do exactly that. E.g. all commercial and dozens of open source video converters. So there is no lack of simple software for people who know little about the problem they're trying to solve (e.g. playing a downloaded mkv their shitty preinstalled video player doesn't accept), the problem is rather one of knowing that open source software exists and how to find it. Googling or asking an LLM does mostly present you software that costs money and is inferior to anything open source (and some malware).
The title of this article isn't supported. It should be "Complicated software scares normal people". You can have simple and intuitive free software and complicated and unintuitive pay software.
I'd argue most software scares normal people. They only learn because of a strong intrinsic motivation (connecting with other people/access to entertainment) or work requirements which come with mandatory trainings and IT support
> I challenge you to make more of it.
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.
Meanwhile, every time Gnome makes UI adjustments along these lines, there's an outcry that it's dumbed downed, copying apple, removing features etc etc.
Then we have to wait until 'normal' software becomes more scary. Various vendors are doing everything in their power to make it so.
*Software with UI designed for people who aren't the median user scares the median user
Therefore: If you want lots of users, design for the median user; if you don't, this doesn't apply to you
I do kind of think the solution to this issue lies at the OS level. It should provide a high degree of UI and workflow standardization (via first party apps, libraries and guidelines). Obviously it's an incredibly high bar to meet for volunteer efforts, but the user experience starts at the OS level. Instead of even installing a program like "Handbrake" or "Magicbrake" the OS should have a program called "Video Converter" which does what it says on the tin. There should also be a small on-device model which can parse commands like: "Convert a video so it can play on facebook" and deep link into the Video Converter app with the proper settings. Application-level branding should also basically not exist, it's too much noise. The user should have complete control over theming and typography. There has to be a standard interaction paradigm like the classic menubar but updated for modern needs. We need a sane discoverable default shell language with commands that map to GUI functionality within apps, and the user should never be troubled with the eccentricities of 1970s teletype machines.
Like Alan Kay said about software: Simple things should be simple, complex things should be possible.
The thing is this takes a lot of resources to get right. FOSS developers simply don't have the wherewithal - money, inclination or taste - to do this. So, by default, there are no simple things. Everything's complex, everything needs training. And this is okay because the main users of FOSS software is others of a similar bend as the developers themselves.
For me, it's the fact that I'm running code written by some random people. The code could be malicious. I don't know unless I audit it myself and I have no time for that. Remember the XZ Utils backdoor thing from a few months ago? Well how many backdoors are there in other FOSS stuff?
I like the design pattern of a "basic mode" and an "advanced mode".
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".
I think there is something deeper here: people have become scared of the unknown, therefore we need to hide things for them. But people don't have to be scared. In fact even for people who are using Handbrake comfortably, a lot of things Handbrake presents in its UI are probably unknown to them and can safely be ignored. The screenshot in the article shows that Handbrake analyzed the source video and reported it as 30 FPS, SDR, 8-bit 4:2:0, 1-1-1. I think less than a tenth of a percent of Handbrake users understand all of that. 30 FPS is reasonably understandable but 4:2:0 requires the user to understand chroma subsampling, a considerably more niche topic. And I have no idea what 1-1-1 is and I simply ignore it. My point is, when faced with unknown information and controls, why do people feel scared in the first place? Why can't they simply ignore the unknown and make sense of what they can understand? Is it because they worry that the part of the software they don't understand will damage their computer or delete all their files? Is it just the lack of computer literacy?
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.
Doesn't work on Sequoia, for some reason.
Someone once told me “every setting you expose to your users is a decision you were too scared to make.”
I think some software -- FLOSS or otherwise -- tries to do this by hiding functionalities behind an "Advanced Mode" toggle.
Which kind of fulfills the best of both worlds: Welcoming for beginners, but full-powered for advanced users.
More software should be designed this way.
Makes a good point, but the headline bothers me. It isn't the free that is the problem, it is the complexity.
One of my product design principles:
Concise
Focus only on the parts that are really needed, necessary, or the most important; hide the currently unnecessary or secondary, or simply remove the truly unnecessary and secondary; remove all unnecessary
Maybe it can help you
My interpretation: Author picks a complicated piece of software, complains it's complicated.
Maybe handbrake was never meant to be used by people who need the one button solution? That one button solution exists all over the place.
It has nothing to do with free vs not-free
To me, this reads as: "My friends wanted to convert videos to MP4, so I made a small GUI for them to do just that. Now I'm writing an article explaining how everything in the world can probably be solved by a single drag-and-drop and a single button".
BTW, if all you can do it drag-and-drop a file, do you need the "convert" button?
The open source UIs initially seem alien, complicated or obscure related to similar to closed-source Windows' ones. The reason is OSS projects are built by developers primarily FOR developers and not for regular users. The design principle of "Don't surprise me" and other artistic and ergonomic ones are not met. Examples are Gimp and other content editors like Handbrake, Firefox vs chrome in mobile only, even IDEs.
BUT with time and a variable effort a regular user can get accustomed to the new philosophy and be successful. Either by persistant use, by using different OSS apps in series or by touching the command line. Happy user of Firefox, Libre office, Avidemux, Virt-manager (sic)
"I am new to GitHub and I have lots to say I DONT GIVE A FUCK ABOUT THE FUCKING CODE! i just want to download this stupid fucking application and use it.
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"
This is useful for everyone not just non-techy types. I can't help but compare this to sites like shadertoy that let you develop with a simple coding interface on one half the screen and the output on the other (as opposed to the regular complexity of setting up and using a dev environment) Code goes here>{} , Press this button>[] , Output here>() , Which I think we need more of if we want to get kids into coding.
It is halloween. Perhaps T-shirts can be printed with "free software" and danger sign? Oracle and Microsoft can fund this startup!
Free software is an anarchist mindset -- wellbeing for all, take what you need, contribute back where you can.
It's scary for folks who are used to transactional relationships to encounter these different mindsets.
Please don't.
Please assume I'm smarter than I actually am -- I will figure it out no problems. I like complex interfaces that allow me to do my task faster, especially if I'm using it often (e.g. for work).
Handbrake scares me and I’m a big nerd!
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…)
Okay, TFA uses handbrake as an example, but there are probably hundreds of other attempts at a simpler ffmepg front end.
Handbrake is only popular _because_ it is so powerful, not in spite of it.
Over the years I've gotten really tired of this obsession with "normal people" and not just because I'm one of the so called power users. This is really part of a growing effort to hide the computer away as an implementation detail.
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.”
If there is one thing I believe that will come out of the whole AI bubble, is this: we will interact with applications though natural language and the "graphical UI" will be mostly about visual feedback of what operation is happening. The challenge for open source projects will be to define whether they will assume that their application will rely on some external LLM that will (hopefully) be good enough or if they will have to distill/train a specific model that can be smart enough to interact with the application tools.
It’s a bit like obscuring the less-used functions on a TV remote with tape.
It’s like creating a new tv controller with fewer options.
Yeah, MS took that lesson to heart with Office, and now it's a disaster to use for everyone, not just power-users.
Completely agree, that's why I love old mac software. Things were easy enough to understand for the average user, but power user still get lots of features.
These kind of ui are extremely hard to make.
maybe there just isn't a solution? people don't ask for a hammer that magically assembles every piece of furniture. sometimes the user of the tool needs skills to use it. UI/UX only takes you so far.
> I’m the person my friends and family come to for computer-related help. (Maybe you, gentle reader, can relate.)
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!"
Although I wish Linux were easier to use -- and there are distros that aim for this, I do agree that FOSS is mostly by nerds for nerds, but it doesn't prevent other people making changes -- which is exactly what the author did.
So I'd like to welcome the author to make more apps based on FOSS.
GNOME's libadwaita solves this beautifully. It's simple, nice looking, yet powerful. You could absolutely use it to make an ffmpeg front-end that's both fully featured and friendly to less technical users. But if your app can't, then another good option is to have a "simple mode" and "advanced mode".
And IMO, Handbreak is more complicated than CLI ffmpeg. It's really chaotic.
True in many ways.
I wanted to write an article or short blog post about how Windows 10, menus and javascript, increasingly tuck away important tools/buttons in little folds. This was many months ago.
I want to write it and title it, "What the tuck?" But tuck refers exactly to the kind of hidden menus that make those so called sleek and simple UIs for the the 80% of users.
The problem is that it stupefies computing literacy, especially mobile web versions.
Perhaps not every casual web browser needs to sit at a desk to learn website navigation. Then again, they may never learn anything productive on their own.
> 80% of the people only need 20% of the features. Hide the rest from them and you’ll make them more productive and happy.
True but with a caveat: Those people rarely need the same 20% of your features.
I like when there are presets for UI. You have basic and advanced options visible when you want to.
the issue is real, but i'm not sure this solves it; in this case you end up with an overly specific solution that you can't really recommend to most people (and won't become widely known)
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
Completely agree with the author. Would love most power tools to start off in "simple mode" so I could recommend them to friends/family, and have a toggle for advanced mode which shows everything to power users.
I think you can see this already with websites, like there is dozens of websites like convert video to MP4, ompress this or that. And I think they are just building an UI on top of open source tools
He mentions the 80/20 rule. But I wonder if what he's describing is more like 95/5. Meaning, non-techie users are massively underserved.
The article complains there's too many old school Windows-type power user GUIs in the free software space. Most of which were not actually FOSS, but Freeware, or sometimes Shareware!
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! :)
Brilliant. Love it! Say your family member or other person you support needs some free software functionality but not the whole UI..
Grab an LLM and make a nice single button app they can use.
LLMs writing code, plus free software, a match made in heaven.
It’s also a new take on Unix “do one thing well” philosophy.
As one of the main developers of Krita said, just being free isn't good enough, the software needs to be great.
I am in favour of simplified apps like this, maybe it can be a simple toggle switch in the top right corner between simple and advanced. Similar to that stupid new version of outlook I have to constantly switch back to the old version.
I struggle to link the title with the article. Aren't both Handbrake and Magicbrake both free? There are plenty of free tools which are very simple to use.
In this particular case I'd just tell people to download and use VLC Player. But I get the point.
> claude --dangerously-skip-permissions -p "convert happy.blarf to a small mp4 file that will work on my ipad and send it to my email"
A software should find its own niche. We have imagemagick and ffmpeg to deal with nearly everything of image/video functionality, but we still have a lot of one-click-to-finish softwares.
I guess instead of a separate application, maybe some of these programs would benefit from having 'dumb' mode where only basic/most used functionality is available. I.e. when I run gimp, I most often just use it rescale the image, cut a piece and insert into a new image and every time I have to look for the right options in the menu.
Would be nice for an inverse article -- which is often harder to achieve -- case in point: I wish iCloud had a power user interface.
Yeah, MS took this lesson to heart with Office, and now it's a disaster for everyone, not just the power-users.
80% of people only use 20% of the functionality. But it’s a different 20%.
A good product manager could make a big difference to many open source projects. Someone who has real knowledge of the problem space, who can define a clear vision of what problem is being solved for which user community and who can be judicious in weighing feature requests and developing roadmaps.
I don't think free software has to aim to be for everyone. It's OK to build software for yourself and people like you.
    ffmpeg -i example.mkv example.mp4
In almost all cases I don’t want to mess with the defaults, because I know diddly about video formats.
I'd love applications that would let me choose how advance I want the UI to be. Kinda like Windows Calculator. A toggle between basic, advance, and some common use cases.
For example, I'd love Gimp to have a Basic mode that would hide everything except the basic tools like Crop and Brush. Like basic mspaint.
Are we at the point yet where we can advise people to ask ChatGPT how to install something called "FFmpeg" and have it tell them what to copy-paste into an app called "Terminal"?
I'd be scared too if I see a check box for iPod support, I mean, when was this software less updated, the 80's?
i don't have a TV at home and hence very rarely "have to" use a remote (or 2 or 3 at once, as it happens), but it's a nightmare everytime
I have tried to use GPG several times but the UX got in the way so much. I feel it did a disservice to privacy. It gatekeeps it behind an arcane UX.
This seems just…not true?
You can always cherry pick apps to fit a narrative.
FOSS apps with simple interfaces: Signal, Firefox, VLC, Gnome [1], Organic Maps, etc, the list goes on and on.
[1] it’s not a simple app but I think there’s a good argument to be made that it’s simpler/cleaner than commercial competitors.
My Pinebook Pro with i3wm is really simple to use. You power it on, all it does is it asks for one of the LUKS passwords. If you miss, it will ask again. Then it's on.
You can't do anything wrong with it. There's no UI to fiddle with WiFi. It's all pre-configured to work automatically in the local WLAN (only; outside, all that's needed is to borrow someone's phone to look for the list of wifi nets in the area and type the name of selected network to /etc/wpa_supplicant/wpa_supplicant.conf). But there's rarely any need to go out anyway, so this is almost never an issue.
There are no buttons to click, ANYWHERE. Windows don't have confusing colorful buttons in the header. You open the web browser by pressing Alt + [. It shows up immediately after about 5 seconds of loading time. So the user action <-> feedback loop is rather quick. You close it with Alt + Backspace (like deleting the last character when writing text, simple, everyone's first instinct when you want to revert last action)
The other shortcut that closes the UI picture is Alt + ]. That one opens the terminal window. You can type to the computer there, to tell it what you want. Which is usually poweroff, reboot, reboot -f (as in reboot faster). It's very simple and relatable. You don't click on your grandma to turn it off, after all. You tell it to turn off. Same here.
All in all, Alt + [ opens your day. Alt + ] gives you a way to end it. Closing the lid sometimes even suspends the notebook, so it discharges slightly slowerly in between.
It's glorious. My gf uses it this way and has no issues with it (anymore). I just don't understand why she doesn't want to migrate to Linux on her own notebook. Sad.
My number one principle of UI design is this:
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.
Banks. Won't touch any free software, unless backed by some real humans signing huge contracts for support.
> 80% of the people only need 20% of the features
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.
Some TV remotes or air conditioner remotes now have a "boomer flap" which when engaged, hides 90% of all the buttons. The scanner software I use has something similar, novice mode and expert mode.
i think what the author is characterizing as "free software" is probably better described as "software with bad UX"
His notion of "normal people" are people who use MacOS:
> Normal people often struggle with converting video. ... the format will be weird. (Weird, broadly defined, is anything that won’t play in QuickTime or upload to Facebook.)"
Except normal people don't use MacOS and don't even know what QuickTime is. Including the US, the MacOS user share is apparently ~11%. Take the US out, and that drops to something like... 6%, I guess? And Macs are expensive - prohibitively expensive for people in most countries. So, normal people use Windows I'm afraid.
https://gs.statcounter.com/os-market-share/desktop/worldwide
In fact, if you disregard the US, Linux user share seems to be around half of the Mac share, making the perspective of "normal people use Macs not FOSS" even sillier.
-----
PS - Yes, I know the quality of such statistics is low, if you can find better-quality user share analysis please post the link.
Free software scares people until they have to pay for Windows.
I feel like the author wants everything to be Apple simplified. That all users should dumb down to on off go and stop. Ask chat got for anything else. I disagree for so many obvious reasons it's pointless to iterate them. We as a society need to get MORE capable, more critical, and improve our cognitive abilities; not the opposite.
Love the example with the remote! People do need that!
i enjoyed your post, those remotes are too funny!!
Reminds me of aws...
If only there was an easy way to fund all the Open Source programs you like and use, so the projects who struggle with it, can put more focus into design.
Seems like a win-win, take my money solution, for some reason the market (and I guess that means investors) are not pursuing this as a consumer service?
We been knowing that.
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.
ffmpeg wrappers be like
I mean, that's why we have software as a paid job, right?
Love it.
This is a good write-up.
In addition to this issue, I've also had good conversations with a business owner about why he chose a Windows architecture for his company. Paying money to the company created a situation where the company had a "skin-in-the-game" reason to offer support (especially back when he founded the company, because Microsoft was smaller at the time). He likes being able to trust that the people who build the architecture he relies on for his livelihood won't just get bored and wander off and will be responsive to specific concerns about the product, and he never had the perception that he could rely on that with free software.
> People benefit from stuff like this
While I agree that people generally feel better by getting something with little effort, I think that there is a longer-term disservice here.
Once upon a time, it used to be understood that repeated use of a tool would gradually make you better at it - while starting with the basics, you would gradually explore, try more features and gradually become a power user. Many applications would have a "tip of the day" mechanism that encouraged users to learn more each time. But then this "Don't Make me Think" book and mentality[0] started catching on, and we stopped expecting people to learn about the stuff that they're using daily.
We have a high percentage of "digital natives" kids, now reaching adulthood without knowing what a file is [1] or how to type on a keyboard [2]. Attention spans are falling rapidly, and even the median time in front of a particular screen before switching tasks is apparently down from 2.5 minutes in 2004 to 40 seconds in 2023 [3] (I shudder to think what it is now). We as a civilization have been gradually offloading all of our technical competency and agency onto software.
This is of course leading directly to agentic AI, where we (myself included) convince ourselves that the AI is allowing us to work at a higher level, deciding the 'what', while the computer takes care of the 'how' for us, but of course there's no clear delineation between the 'what' and 'how', there's just a ladder of abstraction, and as we offload more and more into software, the only 'what' we'll have left is "keep me fed and entertained".
We are rapidly rolling towards the world of Wall-E, and at this pace, we might live to see the day of AIs asking themselves "can humans think?".
[0] https://en.wikipedia.org/wiki/Don%27t_Make_Me_Think
[1] https://futurism.com/the-byte/gen-z-kids-file-systems , https://news.ycombinator.com/item?id=30253526
[2] https://www.wsj.com/lifestyle/gen-z-typing-computers-keyboar... , https://news.ycombinator.com/item?id=41402434
[3] https://www.apa.org/news/podcasts/speaking-of-psychology/att...
I wanted to scoff at this, but the remote example is pretty on-point.
The majority of users probably want the same small subset of features from a program and the rest are just confusing noise.
I think we need to stop this madness.
The disaster that is "modern UX" is serving no one. Infantilizing computer users needs to stop.
Computer users hate it - everything changes all the time for the worse, everything gets hidden by more and more layers until it just goes away entirely and you're left with just having to suck it up.
"Normal people" don't even have computers anymore, some don't even have laptops, they have tablets and phones, and they don't use computer programs, they use "apps".
What we effectively get is:
- For current computer users: A downward spiral of everything sucking more with each new update.
- For potential new computer users: A decreasing incentive to use computers "Computers don't really seem to offer anything I can't do on my phone, and if I need a bigger screen I'll use my tablet with a BT keyboard"
- For the so-called "normal people" the article references (I believe the article is really both patronizing and infantalizing the average person), there they're effectively people who don't want to use computers, they don't want to know how stuff works, what stuff is, or what stuff can become, they have a problem they cannot put into words and they want to not have the problem because the moving images of the cat should be on the place with the red thing. - They use their phones, their tablets, and their apps, their meager and unmotivated desire to do something beyond what their little black mirror allow them is so week that any obstacle, any, even the "just make it work" button, is going to be more effort than they're willing (not capable of, but willing) to spend.
Thing is, regardless of particular domain, doing something in any domain requires some set of understanding and knowledge of the stuff you're going to be working with. "No, I just want to edit video, I don't want to know what a codec is" well, the medium is a part of the fucking message! NOTHING you do where you work with anything at all allows you to work with your subject without any understanding at all of what makes up that subject. You want to tell stories, but you don't want to learn how to speak, you want to write books, but you don't want to learn how to type, write or spell ? Yes, you can -dictate- it, which is, in effect, getting someone competent to do the thing for you.. You want to be a painter, but you don't care about canvas, brushes, techniques, or the differences between oil, acrylic and aquarelle, or colors or composition, just want to make picture look good? You go hire a fucking painter, you don't go whining about how painting is inherently harder than it ought to be and how it's elitist that they don't just sell a brush that makes a nice painting. (Well, it _IS_ elitist, most people would be perfectly satisfied with just ONE brush, and it should be as wide as the canvas, and it should be pre-soaked in BLUE color, come on, don't be so hard on those poor people, they just want to create something, they shouldn't have to deal with all your elitist artist crap!) yeah, buy a fucking poster!
I'm getting so sick and tired of this constant attack on the stuff _I_ use every day, the stuff _I_ live and breathe, and see it degenerated to satisfy people who don't care, and never will.. I'm pissed, because, _I_ like computers, I like computing, and I like to get to know how the stuff works, _ONCE_ and gain a deep knowledge of it, so it fits like an old glove, and I can find my way around, and then they go fuck it over, time and time again, because someone who does not want to, and never will want to, use computers, thinks it's too hard..
Yeah, I really enjoy _LISTENING_ to music, I couldn't produce a melody if my life depended on it (believe me, I've tried, and it's _NOT_ for lack of amazingly good software), it's because I suck at it, and I'm clearly not willing to invest what it takes to achieve that particular goal.. because, I like to listen to music, I am a consumer of it, not a producer, and that's not because guitars are too hard to play, it's because I'm incompetent at playing them, and my desire to play them is vastly less than my desire to listen to them.
Who are most software written for? - People who hate computers and software.
What's common about most software? - It kind of sucks more and more.
There's a reason some of the very best software on the planet is development tools, compilers, text editors, debuggers.. It's because that software is made by people who actually like using computers, and software, _FOR_ people who actually like using computers and software...
Imagine if we made cars for people who HATE to drive, made instruments for people who don't want to learn how to play.. Wrote books for people who don't want to read, and movies for people who hate watching movies. Any reason to think it's a reasonable idea to do that? Any reason to think that's how we get nice cars, beautiful instruments, interesting books and great movies ?
Fuck it. Just go pair your toaster with your "app" whatever seems particularity important.
When I used to be active on reddit I was following r/graphicdesign (me being a graphic designer) and one day someone asked a question about Inkscape.
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".
Why are people bothered by the money-trasfer-winking so much, but not by these companies aiding and abetting a brutal and murderous regime engaging in decades-long military occupying, at first, and later - aided and abetted a genocide campaign?
Photoshop is a clustershit of UI mess and professionals use it. Then, home users, following the popularity, also use it.
Maybe we should just say free software is amazing and not a tool for home users, in order to get home users to use it.
>> 80% of the people only need 20% of the features. Hide the rest from them and you’ll make them more productive and happy. That’s really all it takes.
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.
Couldn't agree with this more. I'm even an advocate for simulating walled gardens with Free Software. Let people who need to feel swaddled in a product or a brand feel swaddled.
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.
> 80% of the people only need 20% of the features. Hide the rest from them and you’ll make them more productive and happy. That’s really all it takes.
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)
[dead]
I like this idea -- a simple interface/frontend for an otherwise complicated topic, for the less skilled among us. It has intriguing possibilities beyond technology ...
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.
Good article, but the reasoning is wrong. It isn't easy to make a simple interface in the same way that Pascal apologized for writing a long letter because he didn't have time to write a shorter one.
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.