Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • 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.

  • You call the users lazy for not wanting to read software manuals. Maybe you should rtfm on what other people are actually like.
  • People don't want to have to read manuals and become experts on every task. They want tools to get something done so they can focus their limited time and attention on things they care more about.

    I'm the kind of person who wants to understand how everything I touch works (and the kind of person that does a lot of video recompression and cares about quality and filesize tradeoff) and even I hate Handbrake's UI. Every time I set up a new machine I spend an hour or two looking for an internet guide to what settings mean what to configure a preset, and then I use that preset basically exclusively. I'd much rather have a couple of drop targets, one of which is "Bluray 1080p quality".

  • "Laziness", "put any minimal amount of effort", RTFM... that's exactly the kind of language and perspective that's the problem.

    The majority of your users are not lazy, they have gazillions of other things to think about and to do. Even when they are developers.

    Now, that's up to you, as a maker, to decide who your tool is serving, and for what purpose: it's totally fine and valid to target the power user, or your specific use case. Just don't act surprised, or reject the responsibility, that someone else will find a bigger audience with a lesser product, only because it is more affordable, cognitively speaking.

  • 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

  • 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...

    by rlue
  • That's a good button on a copier or a microwave. Not on a CNC mill, CAD software, text editor, chemical plant, tractor, knife... basically any object in the world that doesn't have one obvious function.
    by a96
  • 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...

    by wrs
  • 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”.
  • imo LLMs make all of these UIs unnecessary, i'm happy to use ffmpeg now
  • Using ffmpeg to convert one file to another remains probably my main use of general LLM web searches. This isn't to say it does a good job with that, but it's still ahead of me.
  • Yes. It's been a few years since I regularly used Handbrake, but I remember thinking of it as very simple, especially with its presets-based workflow. I was used to stuff like various CLI tools, mkvmerge and its GUI, and avidemux at that time.

    It struck me as a weird example in the OP because I don't really think of Handbrake as a power user tool.

    by pxc
  • I actually think ffmpeg’s UI is simpler than Handbrake for those at all acquainted with the command line (i.e., for those who understand the concept of text-is-everything-everything-is-text). Handbrake shows you everything you can possibly fiddle with whether or not you plan on fiddling with it. Meanwhile ffmpeg hides everything, period, and you ask for specific features by typing them out. It's not great for discovery but once you get the hang of it, it is incredibly precise. One could imagine taking someone for whom Handbrake was too much and showing them “look, you just type `ffmpeg -i`, the input file, and the output file, and it does what you want”. I imagine for many people this would be a perfectly lovely interface.
  • Handbrake's UI is in the uncanny valley for me -- too complicated for use by laymen, and way too limiting for use by people who know what they're doing...
  • If you only care about converting media without tweaking anything, ffmpeg offers the simplest UI ever.

        ffmpeg -i input.avi output.mp4
  • At least with ffmpeg, for 99% of use cases you can just google "how do I do X with ffmpeg" and get a copypasta command line.

    Whereas with complicated GUI tools, you have to watch a video to learn how to do it.

  • 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...

  • this is the way
  • That would be even better. It would take longer than an evening, though.
  • It's easy to make the powerful version

    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.

  • Progressive disclosure can be intensely annoying to actual power users.

    Definitionally, it means you're hiding (non-disclosing) features behind at least 1 secondary screen. Usually, it means hiding features behind several layers of disclosures.

    Making a very simple product more powerful via progressive disclosure can be a good way to give more power to non-power users.

    Making a powerful product "simpler" via progressive disclosure can annoy the hell out of power users who already use the product.

  • 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.

  • FOSS is ~99% developers, ask anyone in UI/UX to contribute to free projects and they'll look at you like you have two heads.
  • > tends to require a tight feedback loop between testers, designers, implementers, and users

    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.

  • For a lot of usecases there is a strong 80% functionality. E.g. For Handbrake, 80% of the time I am reducing the size of my video screen grabs from my computer or phone. Don't need any resolution change, etc.

    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

  • Resources or the care, tbh. FOSS is a big umbrella and a lot of it simply isn't meant for "customers". Some FOSS apps clearly are trying to build a user base, in which case yeah the points this post makes are worth thinking about.

    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.

  • > The problem is that everyone wants a different 20% of the functionality.

    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.

  • 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!

  • > . Free software is developed for the developer's own needs and developers are going to be power users

    * Free software which gains popularity is developed for the needs of many people - the users who make requests and complaints and the developers.

    * Developers who write for a larger audience naturally think of more users' needs. It's true that they typically cater more to making features available than to simplicity of the UI and ease of UX.

    > 2. The cost etc.

    Agreed!

    > 3. The developer doesn't know who the customer is and rather than research/refine just tries to hit all the boxes.

    The developer typically knows what the popular use cases would be. Like with the handbrake example. They also pretty much know how newbie users like simplified workflows and hand-holding - but it's often a lot of hassle to create the simplified-with-semi-hidden-advanced-mode interface.

    > 4. The distribution of the software itself means anyone who successfully installs it themselves really is a power user

    Are people who install, say, the Chrome browser on their PC to be considered power userS? They downloaded and installed it themselves after all... no, I believe you're creating a false dichotomy. Some users will never install anything; some users might install common software they've heard about from friends; and some might actively look for software to install - even though they don't know much about it or about how to operate the apps and OS facilities they already h ave. ... and all of these are mostly non-power-users.

  • > 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.

    i have seen many comments, by lay people, out of Sonobus [0] being superb on what it does and impressive by being 100% free. that's a niche case that if it was implemented on Ardour, could fit the same problem OP describes

    [0] https://sonobus.net/

    however i can't feel where the problem of FOSS UX scaring normal people is. someone getting a .h264 and a .wav file out of a video-record isn't normal after all. there are plenty of converters on the web, i dunno if they run ffmpeg at their server but i wouldn't get surprised. the problem lies on the whole digital infrastructure running on FOSS without returning anything back. power-user software shouldn't simplify stuff. tech literacy hopefully can be a thing and by quickly learning how to import and export a file in a complex software feels better to install 5 different limited software over the years because your demands are growing