11 ms·
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
by squeedles 11mo ago
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.
- dayvid 11mo agoThe contributors of free software tend to be power users who want to ensure their use case works. I don't think they're investing a lot of thought into the 80/20 use case for normal/majority or users or would risk hurting their workflow to make it easier for others
- zeroq 11mo ago> contributors of free software tend to be power users 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.
- DrewADesign 11mo agoI have been beating this drum for many years. There are some big cultural rifts and workflow difficulties. Unless FOSS products are run by project managers rather than either developers or designers, it’s a tough nut. Last I looked, gimp has been really tackling this effort more aggressively than most.
- graemep 11mo agoI am not convinced bad UI is either a FOSS issue, or solved by having project managers. I know very non-tech people who struggle with Windows 11, for example. I do not like MS Office on the rare occasions I have used it on other people's machines. Not that impressed by the way most browser UIs are going either.
- DrewADesign 11mo agoMicrosoft has been lagging on interface design for a long time. If the project managers are focused on forcing users into monetizable paths against their will, then of course you’re going to get crap interfaces and crap software quality. If you have a project manager that’s focused on directing people to solve problems for users rather than people just bolting on whatever makes sense, then that’s a lot different. And no, bad UIs aren’t inherent to FOSS— look at Firefox, Blender, Signal… all FOSS projects that are managed by people focused on integrating the most important features in a way that makes sense for the ecosystem.
- Cotterzz 11mo agogimp has been my goto when I want to explain bad ui, developer designed ui, or just typical foss ui I'm glad they're fixing it. It's also my image editor of choice.
- DrewADesign 11mo agoYeah I’ve been using it as a go-to example for the wrongest approach to UI design for years. I’m glad to see they’re working harder than most to fix some of the underlying problems.
- phendrenad2 11mo agoI'm optimistic that the rise of vibe coding will allow the people who understand the user's wants and needs to fix the world's FOSS UIs.
- moring 11mo agoI'm sceptical about fixing (in the sense of a lasting solution), but it might be a very powerful tool to communicate to devs what the UI should look like.
- WD-42 11mo agoMy guess is that, as has always been, the pool of people willing to code for free on their own time because it's fun is just much larger than the people willing to make icons for software projects on their own time because they think it's fun.
- ambicapter 11mo agoMuch larger but not non-existent, people post their work (including laborious stuff like icon suites and themes) on art forums and websites for no gain all the time.
- keyringlight 11mo agoGoing back to the winxp days there was a fairly vibrant group of people making unofficial themes for it, although I think that was helped by the existence of tools (from Stardock?) specialized on that task and making it approachable if your skill set didn't align perfectly.
- zer00eyz 11mo agoUI != icons. 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.
- lamontcg 11mo ago> 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... 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.
- 8note 11mo agoUX and interface designers are also nerds. 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
- array_key_first 11mo agoThey're not just nerds, they're power users. These are different things. Pretty much everyone is a power user of SOME software. That might be Excel, that might be their payroll processor, that might be their employee data platform. Because you have to be if you work a normal desk job. If Excel was simpler and had an intuitive UI, it would be worthless. Because simple UI works for the first 100 hours, maybe. Then it's actively an obstacle because you need to do eccentric shit as fast as possible and you can't. Then, that's where the keyboard shortcuts and 100 buttons shoved on a page somewhere come in. That's where the lack of whitespace comes in. Those aren't downsides anymore.
- csin 11mo ago"If Excel was simpler and had an intuitive UI, it would be worthless." Excel is a simple intuitive UI. I use 10% of Excel. I don't even know the 90% of what it's capable of. It hides away it's complexity. For people that need the complex stuff, they can access it via menus/formulas. For the rest of us, we don't even know it's there. Whereas, Handbrake shoves all the complexity in your face. It's overwhelming for first time users.
- array_key_first 11mo ago> For people that need the complex stuff, they can access it via menus/formulas. Yes, this is an obstacle. This makes your software worse for power users. Because now they have to jump through hoops. If they just took all those options and dumped them somewhere, that would be better. Okay, another example: a datagrid or table. In naive apps targeting consumers, they're filled with whitespace and they're simple to look at. Great, right? Oh... you need to see more information than the absolute bare bones? It's okay, you can click 'show more'. The problem is that, now, it takes too much time. What if I want to see 50 results at the same time? Gulp. If I have to click show more 10 times to do that, I'm taking my computer and throwing it out the window. I don't give a rats ass about your whitespace or visual hierarchy. I want the software to do the thing for me so I can move on with my life. This is why people will SWEAR by old software. There are many people who refuse to use modern versions of Excel. Because it's too annoying to use, and they use it all day long, so that's not acceptable.
- Panzer04 11mo agoThe person who is going to bother adding stuff to a piece of software is almost certainly by definition a power-user. This means they want to add features they couldn't get anywhere else, and already know how to use the existing UI. Onboarding new users is just not their problem or something they care about - They are interested in their own utility, because they aren't getting paid to care about someone else's. It's not a "nerd" thing.
- BinaryIgor 11mo agoTrue; that's why we have companies with paid product who devote a lot of their time - arguably majority - to make the exact interfaces people want and understand:) it's a ton, a ton of difficult work, for which there is little to no incentive in the free software ecosystem
- psunavy03 11mo agoAnd this is precisely why desktop Linux has not knocked off Windows or MacOS.
- bigfishrunning 11mo agoAnd that's fine. Those users who want something that's not like desktop Linux have plenty of options.
- ghaff 11mo agoAnd increasingly it doesn't matter because they just live in a browser anyway.
- thinkmassive 11mo agoWhich also makes it easier than ever for more users to run Linux as a desktop OS :)
- ghaff 11mo agoAbsolutely. I still prefer MacOS/Mac hardware in some ways but running a browser on Linux on a Thinkpad or whatever works pretty well for a lot of purposes.
- ripdog 11mo agoI'd argue that's more because the average person has no interest in installing a new OS, or even any idea what an OS is. Most people just keep the default. When the default is Linux (say, the Steam Deck), most people just keep Linux.
- valyala 11mo agoOmarchy tries resolving this https://github.com/basecamp/omarchy https://github.com/basecamp/omarchy
- a96 11mo ago
- port11 11mo agoAfter reading so many apologist comments dismissing the article's points with whataboutism, yours is the first comment that I think addresses the situation properly. As a developer, it's very hard to not mistake the forest for the trees, which is why I'm usually very happy to work with a good UX researcher.
- DrewADesign 11mo agoOverall, the development world does not intuitively understand the difficulty of creating good interfaces (for people that aren’t developers.) In dev work, the complexity is obvious, and that makes it easy for outsiders to understand— they look at the code we’re writing and say “wow you can read that?!” I think that can give developers a mistaken impression that other peoples work is far less complex than it is. With interface design, everybody knows what a button does and what a text field is for, and developers know more than most about the tools used to create interfaces, so the language seems simple. The problems you need to solve with that language are complex and while failure is obvious, success is much more nebulous and user-specific. So much of what good interfaces convey to users is implied rather than expressed, and that’s a tricky task.
- finghin 11mo agoIt’s also about keeping things simple, hierarchical, and very predictable. These do not go hand in hand with the feature creep of collaborative FOSS projects, as others point out here.
- hombre_fatal 11mo agoGood point. A good interface usually demands a unified end-to-end vision, and that usually comes from one person who has sat down to mull it over and make a bunch of good executive decisions. And then you need to implement that, which is never an easy task, and maintain the eternal vigilance to both adhere to the vision but also fit future changes into that vision (or vice versa). All of that is already hard to do when you're trying to build something. Only harder in a highly collaborative voluntary project where it's difficult or maybe even impossible to take that sort of ownership.
- ozgrakkurt 11mo agoIMO they just don’t care enough. They want people to use it but it is not the end of world if it stays niche
- csin 11mo ago
- PaulDavisThe1st 11mo agoGood points, but to add to the sources of instability ... a first time user of a piece of software may be very appreciative of its simplicity and "intuitiveness". However, if it is a tool that they spend a lot of time with and is connected to a potentially complex workflow, it won't be long before even they are asking for "this little extra thing". 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.
- SoftTalker 11mo agoRight. For most people, gimp is not only overkill but also overwhelming. It's hard to intuit how to perform even fairly simple tasks. But for someone who needs it it's worth learning. 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.
- thaumasiotes 11mo ago> 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.
- LiquidSky 11mo agoBut the linked article addresses that. They're not advocating for removing the full-feature UI, they just advise having a simple version that does the one thing (or couple of things) most users want in a simple way. Users who want to do more can just use the full version.
- PaulDavisThe1st 11mo agoUsers don't want "to do more". They want to do "that one extra thing". Going from the "novice" version to the "full version" just to get that one extra thing is a real problem for a lot of people. But how do you address this as a software designer?
- cosmic_cheese 11mo agoIt's my belief that much of this flavor of UI/UX degradation can be avoided by employing a simple but criminally underutilized idea in the software world (FOSS portion included), which is feature freezing. 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.
- Cotterzz 11mo agoIt does shed light on a possibly better solution though that gives the user a list of simple, common use case options or access to the full interface. I do feel quite strongly that this should be implemented in the app though. There must be examples of this approach already being used?
- duxup 11mo agoIt always amazes me how even just regular every day users will come to me with something like this: 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.
- uticus 11mo agoIn my experience, this is a communication issue, not a logical or technical or philosophical issue. Nor the result of a fixation caused by an idea out of the blue. 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.
- dmd 11mo agoYou are describing a form of the XY problem. https://en.wikipedia.org/wiki/XY_problem https://en.wikipedia.org/wiki/XY_problem
- duxup 11mo agoI think you are likely correct, thank you.
- nerdponx 11mo agoDon't fall into the trap of responding to the user's request to do Y a certain way. They are asking you to implement Y, and they think they know how it should be implemented, but really they would be happy with Y no matter how you did it. https://xyproblem.info/ https://xyproblem.info/
- uticus 11mo ago> It takes a single strong-willed defender, or some sort of onerous management structure... 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
- mschuster91 11mo ago> to prevent the interface from quickly devolving back into the million options 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.
- vayup 11mo agoSpot on. Defending simplicity takes a lot of energy and commitment. It is not sexy. It is a thankless job. But doing it well takes a lot of skill, skill that is often disparaged by many communities as "political non sense"[1]. It is not a surprise that free software world has this problem. But it is not a uniquely free software world problem. It is there in the industry as well. But the marketplace serves as a reality check, and kills egregious cases. [1] Granted, "Political non sense" is a dual-purpose skill. In our context, it can be used both for "defending simplicity", as well as "resisting meaningful progress". It's not easy to tell the difference.
- jacobr1 11mo agoThe cycle repeats frequently in industry. New waves of startups address a problem with better UX, and maybe some other details like increased automated and speed using more modern architectures. But feature-creep eventually makes the UX cumbersome, the complexity makes it hard to migrate to new paradigms or at least doing so without a ton of baggage, so they in turn are displaced by new startups.
- gmueckl 11mo agoIf the last part was true, Autodesk and Adobe would have had to go under a decade ago.
- deleted 11mo ago[deleted]
- apitman 11mo agoI suspect in the short term users are going to start solving this more and more by asking ChatGPT how to make their video work on their phone, and it telling them step by step how to do it. Longer term I wonder if complex apps with lots of features might integrate AI in such a way that users can ask it to generate a UI matching their needs. Some will only need a single button, some will need more.
- cellular 11mo agoThis is why i developed GatorCAM for CNC. FreeCAD is too complicated. Too many ways to accomplish the same task (nevermind only certain ways work too.) So everything is simple and only 1 way to create gcode. No hidden menus. No hidden state.
- aidenn0 11mo agoNot only is it hard to figure out the use-case, but the correct use-case will change over time. If this were made in the iPod touch era, it would probably make 240p files for maximum compatibility. That's ... probably the wrong setting for today.
- SwtCyber 11mo agoSimplicity has an expiration date if it's too rigid
- miki123211 11mo agoTo design a good user interface, you need a feedback loop that tells you how people actually use your software. That feedback loop should be as painless for the user as possible. Having people to man a 1-800 number is one way to get that feedback loop. Professional user testing is another. Telemetry / analytics / user tracking, or even being able to pull out statistics from a database on your server, is yet another. Professional software usually has at least two of these, sometimes all four. Free software usually has none. There are still FLOSS developers out there who think that an English-only channel on Libera.chat (because Discord is for the uneducated n00bs who don't know what's good for them) is a good way to communicate with their users. What developers want from software isn't what end users want from software. Take Linux for example. A lot of things on Linux can only be done in the terminal, but the people who are able to fix this problem don't actually need it to be fixed. This is why OSS works so well for dev tools.
- user205738 11mo agoThose who have been using Linux for a long time have very useful terminals with syntax highlighting, auto-completion, typo correction and many other bells and whistles. In addition, muscle memory has been developed and there is experience. They don't realize that newbies don't have any of this, and it's very inconvenient to type commands in the terminal without it. You may not be able to copy and paste them the way they are used to (right mouse button or Ctrl-V) The terminal in linux makes people hysterical and angry. The problem could be partially solved by adding auto-completion and auto-correction to the default iso.
- SwtCyber 11mo agoSimplicity isn't just a design challenge, it's a discipline problem
- rcxdude 11mo agoYes. I think the crux of good interface design is coming up with a model that is simple and flexible enough to be understood by the user but also allow them to achieve their goals by composing operations and options, as opposed to special-casing each possible use-case. This allows you to address the needs of a large number of users without drowning in complexity, but it's really hard to come up with the right model and in general if there's something that will make you unpopular with your users it's changing around the UI after they've gotten used to it, so you don't really get to evolve this as the product develops. (Commercial software is far from immune to this as well: professional tools like CAD are notoriously arcane and often have a huge number of special-purpose features, and they're not incentivised to improve their UI model because it would alienate their existing users, as well as not show up on the feature lists which are often used to drive purchasing decisions)
- alistairSH 11mo agoEh, not sure I agree. Taking the Handbrake example, providing a default "simple" interface (as Magicbrake does) would be trivial to implement, maintain, and defend. The existing default "super user" interface could be just a toggle away (and make the toggle sticky so a power user doesn't have to touch it but once). I used to work with an engineer who loved to remind us that a "perfect" interface would have a single button, and that button should be delivered pre-pushed. Always seemed like wise words to me.
- patrakov 11mo agoWhile working for one of the previous companies, I hit a regrettable counterexample for the point in the article. Developers built a web UI for creating containers for the labs, taking the advice from this (then future) article too literally. Their app could only build containers, in the approved way. Yet, not all labs were possible to run in containers, and the app did not account for that (it was a TODO). Worse, people responsible for organizing the labs did not know that not all labs are compatible with containers. Lab coordinators thus continued to create containers even in cases where it didn't make sense, despite the explicit warning "in cases X, Y, Z, do not proceed, call Alexander instead". So if you make one button you better make that it is always the right button. People follow the happy-but-wrong path way too easily if there is no other obvious one.
- nemomarx 11mo agoHaving to read a label and go out of the tool to do something else is basically impossible UX, yeah. You'll never get users to do that, and little in line warnings also won't work unless you block the buttons at the same time I think. In this example I wonder if the tool was too "MVP" and they didn't evaluate what minimum viable would mean for the users?
- patrakov 11mo agoIn this case, the product owner had a wrong idea of what's minimum viable, and his idea was faithfully implemented, plus a warning in the app to call me in specific incompatible cases. Later the missing pieces were added, we had "two buttons" and the resulting user confusion because they did not know and could not be taught whether a container makes sense for a particular lab.
- abustamam 11mo agoI could see the case for having multiple front-ends to do exactly one thing. In the case of handbrake, I'd just see how I personally use it. Am I doing one thing 99% of the time? Maybe others are too. Let's silo that workflow.
- iwontberude 11mo agoIt’s “the tyranny of the marginal user” as Ivan Vendrov coined it
- m463 11mo agoI think it is like simplified wikipedia. It is possible, but not mainstream enough to get good coverage. https://simple.wikipedia.org/wiki/Main_Page https://simple.wikipedia.org/wiki/Main_Page It would be interesting to have a "simplified linux", or "linux for kids" or similar.
- rekabis 11mo ago> figuring out what that use case is difficult. Which is why observability is so damn important. Observability allows you to grock what your users in aggregate are doing, and adapt your product accordingly. You can take the lower-40% of features and squirrel them away off the main UI. You can take the lowest-10% of features and stick them in a special tools panel that needs to be explicitly hunted down and enabled. You can carve the UI up into three different levels - focused, simple, expert - that hide certain functionality and features, and explicitly expose others in certain ways, and allow the user to switch between them at will. There is just so many ways that this particular cat can be skinned, you just need to collect the information on how the users are actually using the product. You just need to get permission in ways that encourages your users to participate. Because without that data, you’re just stabbing in the dark and hoping you aren’t stabbing yourself in the foot. Or worse -- metaphorically ripping open your entire femoral artery by alienating the majority of your users.