Why is open source software so badly designed?(kooslooijesteijn.net)
kooslooijesteijn.net
Why is open source software so badly designed?
https://www.kooslooijesteijn.net/blog/why-is-free-open-source-software-badly-designed?pk_campaign=rss
5 comments
Because FOSS is by programmers, for programmers. Programmers like programming. Programmers will consider a UI that feels like doing programming work to be a good UI.
Non programmers want a premade spp and process for doing whatever the software says it does, including all variations they will encounter.
Programmers want an open ended kit to build their own solution, and continually adapt it to fit their needs with nothing extra. They don't want software, they want a special purpose programming environment.
They like power and simplicity more than convenience.
And it seems like they commonly think on multiple levels of abstraction at the same time. If the internals of something are complicated, it seems to bother them the way a very bad mess in a closet would bother someone.
I would imagine they are actively aware of the technology behind the things they use. They are probably not just thinking "Oh, click the button, this happens", they might have 4 different possibilities of how it might work in their head, and that part of their brain doesn't seem to have a sleep mode.
Maybe it's distracting to them to use something that doesn't transparently expose what it actually does behind the scenes, like an unsolved puzzle with a picture they don't think they'd like the look of if they did solve it.
Plus, programmers like to code. So a lot of what they do is aimed at helping them make... more code. The requirements are different than tools for noncode goals.
Programmers also don't trust technology. The more UI conveniences, the more it's probably hiding in some dependency. Many programmers would gladly spend hours maintaining something to avoid Google knowing their location.
Programmer psychology makes no sense if you haven't actually worked with them. You think "Oh, like in the movies, they've got a gadget for everything, they'll reprogram a ship's computer in 5 minutes and their curtains probably open themselves".
But really it's more like "They swear at machines a lot, wish they could live in an offgrid cabin or at least like the idea in theory, and they would rather have a lathe from 1937 than a smarthome hub, but they'll also spend 60 hours learning how interrupts work in the Linux kernel for fun".
Note: I'm specifically talking about most other programmers, not myself, I can't stand most of those UNIXy modular suites you have to fuss with to use.
Non programmers want a premade spp and process for doing whatever the software says it does, including all variations they will encounter.
Programmers want an open ended kit to build their own solution, and continually adapt it to fit their needs with nothing extra. They don't want software, they want a special purpose programming environment.
They like power and simplicity more than convenience.
And it seems like they commonly think on multiple levels of abstraction at the same time. If the internals of something are complicated, it seems to bother them the way a very bad mess in a closet would bother someone.
I would imagine they are actively aware of the technology behind the things they use. They are probably not just thinking "Oh, click the button, this happens", they might have 4 different possibilities of how it might work in their head, and that part of their brain doesn't seem to have a sleep mode.
Maybe it's distracting to them to use something that doesn't transparently expose what it actually does behind the scenes, like an unsolved puzzle with a picture they don't think they'd like the look of if they did solve it.
Plus, programmers like to code. So a lot of what they do is aimed at helping them make... more code. The requirements are different than tools for noncode goals.
Programmers also don't trust technology. The more UI conveniences, the more it's probably hiding in some dependency. Many programmers would gladly spend hours maintaining something to avoid Google knowing their location.
Programmer psychology makes no sense if you haven't actually worked with them. You think "Oh, like in the movies, they've got a gadget for everything, they'll reprogram a ship's computer in 5 minutes and their curtains probably open themselves".
But really it's more like "They swear at machines a lot, wish they could live in an offgrid cabin or at least like the idea in theory, and they would rather have a lathe from 1937 than a smarthome hub, but they'll also spend 60 hours learning how interrupts work in the Linux kernel for fun".
Note: I'm specifically talking about most other programmers, not myself, I can't stand most of those UNIXy modular suites you have to fuss with to use.
>'''They swear at machines a lot, wish they could live in an offgrid cabin or at least like the idea in theory, and they would rather have a lathe from 1937 than a smarthome hub, but they'll also spend 60 hours learning how interrupts work in the Linux kernel for fun".'''
Hmmmm. Now that's a stereotype I can identify with!
Hmmmm. Now that's a stereotype I can identify with!
Open source is known for having less bugs and vulnerabilities per line of code in comparison to proprietary software. This was one of the main reasons behind mass migrations away from internet explorer to firefox.
Open source is also known for being more innovative. Linux was the 1st out of the box operating system to come equipped standard with a firewall. Forcing microsoft windows to follow the trend.
Open source is also known for being more innovative. Linux was the 1st out of the box operating system to come equipped standard with a firewall. Forcing microsoft windows to follow the trend.
> known for having less bugs and vulnerabilities per line of code in comparison to proprietary software
I don't think this is universally true. People have only tested this in very isolated environments like microkernels and cryptography libraries. Certainly no one is doing this analysis on GIMP vs Photoshop.
I don't think this is universally true. People have only tested this in very isolated environments like microkernels and cryptography libraries. Certainly no one is doing this analysis on GIMP vs Photoshop.
This is extremely light on substance, many words to say very little.
It seems that the main thing that inspired this post was the author didn't like Darktable compared with Lightroom. Why exactly was it badly designed? Some examples by comparison, especially screenshots would have really helped illustrate the point.
And what exactly do they mean by badly designed? Doesn't look pretty enough for their standards as a professional designer, creates usability problems, or just doesn't satisfy the UI expectations one has from only using proprietary OSes/applications? Bad design is subjective, and there's no clarification on what this means beyond the author's personal opinion.
As someone that puts up with the many annoyances of GNOME, to use one example of questionable design (looks pretty and is oversimplified at the expense of usability and functionality) there is a lot of room for discussion to be had on this topic but this does nothing to add to the conversation. They had almost started an interesting discussion about projects aimed at technical and non-technical users, but again, no examples to illustrate the point and changes subjects before anything of substance is mentioned.
This also ignores how many people have gotten non-technical users, including grandmothers (!!) using Linux successfully using just the GUI, without them ever having to touch a commandline. That really speaks to how subjective design can be, and I think is a great counterexample to the point the author may have been trying to make. Personally I find many (but not all) community-driven FOSS apps well-designed, in that GUIs seem much easier to navigate since the design is much simpler and makes it much easier for me to make a mental map to navigate it quickly, and I'd suspect this simplicity is also what might make it appealing for non-technical people too. Though, obviously application design can vary quite a bit depending on the GUI framework used, but it also should be pointed out that Windows 11's design is probably even more fragmented and has at least 10 different UI design languages in different parts of just the OS.
https://old.reddit.com/r/Windows11/comments/o2a0kp/there_are...
The author also wastes a lot of words about making GitHub seem like this impenetrable fortress where the only way that one could have an impact on the design is by being skilled enough to make a pull request, but anyone can file an issue to ask a question or for an enhancement to improve the design of an application without knowing any code. Yes, some projects will be more receptive to this and noob-friendly than others, but people can still have an impact on software without coding skills if they're able to ask politely and show a use-case that's not being met or find a bug that someone might have overlooked. I get the impression that the author's probably not a developer themselves, and that's totally OK, but that's also another wasted opportunity of a fresh outsider perspective being able to highlight blind spots.
There is almost zero discussion here on actual UI/UX design, and rather a lot of bloviating about proprietary/free software history and economics in general without making a point.
It seems that the main thing that inspired this post was the author didn't like Darktable compared with Lightroom. Why exactly was it badly designed? Some examples by comparison, especially screenshots would have really helped illustrate the point.
And what exactly do they mean by badly designed? Doesn't look pretty enough for their standards as a professional designer, creates usability problems, or just doesn't satisfy the UI expectations one has from only using proprietary OSes/applications? Bad design is subjective, and there's no clarification on what this means beyond the author's personal opinion.
As someone that puts up with the many annoyances of GNOME, to use one example of questionable design (looks pretty and is oversimplified at the expense of usability and functionality) there is a lot of room for discussion to be had on this topic but this does nothing to add to the conversation. They had almost started an interesting discussion about projects aimed at technical and non-technical users, but again, no examples to illustrate the point and changes subjects before anything of substance is mentioned.
This also ignores how many people have gotten non-technical users, including grandmothers (!!) using Linux successfully using just the GUI, without them ever having to touch a commandline. That really speaks to how subjective design can be, and I think is a great counterexample to the point the author may have been trying to make. Personally I find many (but not all) community-driven FOSS apps well-designed, in that GUIs seem much easier to navigate since the design is much simpler and makes it much easier for me to make a mental map to navigate it quickly, and I'd suspect this simplicity is also what might make it appealing for non-technical people too. Though, obviously application design can vary quite a bit depending on the GUI framework used, but it also should be pointed out that Windows 11's design is probably even more fragmented and has at least 10 different UI design languages in different parts of just the OS.
https://old.reddit.com/r/Windows11/comments/o2a0kp/there_are...
The author also wastes a lot of words about making GitHub seem like this impenetrable fortress where the only way that one could have an impact on the design is by being skilled enough to make a pull request, but anyone can file an issue to ask a question or for an enhancement to improve the design of an application without knowing any code. Yes, some projects will be more receptive to this and noob-friendly than others, but people can still have an impact on software without coding skills if they're able to ask politely and show a use-case that's not being met or find a bug that someone might have overlooked. I get the impression that the author's probably not a developer themselves, and that's totally OK, but that's also another wasted opportunity of a fresh outsider perspective being able to highlight blind spots.
There is almost zero discussion here on actual UI/UX design, and rather a lot of bloviating about proprietary/free software history and economics in general without making a point.
You don't seem to agree with the post as a whole, so I'm curious:
1) Did you expect the post to include reviews of applications, so you could learn from that, or
2) Do you think the design quality of FOSS is high enough?
If it's the latter, I'd love to know your examples of apps that meet the criteria I listed: - Is free to use - Has open source code - Has a user base that doesn’t primarily consist of software developers - Has a GUI - Is mainly created and maintained by volunteers
Is there one you would recommend over commercial alternatives _because of_ its design?
If it's the latter, I'd love to know your examples of apps that meet the criteria I listed: - Is free to use - Has open source code - Has a user base that doesn’t primarily consist of software developers - Has a GUI - Is mainly created and maintained by volunteers
Is there one you would recommend over commercial alternatives _because of_ its design?
Hey, thanks for the feedback. As I guess you know writing concisely isn't easy. I mainly write about design, for designers. I can't remember having every seen anyone recommend a volunteer-driven FOSS application _for its UI design_ over commercial alternatives. I do hear people complaining about free tools for being annoying to use. As such, I didn't consider it necessary to make the case that volunteer-driven FOSS is badly designed—I wanted to share what reasons I found for _how_ that came to be.
tl:dr; users should not be frustrated with FOSS and developers should not be frustrated with users using proprietary alternatives, because we'd have to live in a completely different alternative universe for that to be different.
My agenda is that I want more non-developers to be involved in FOSS, so that volunteer-driven FOSS projects get more traction.
tl:dr; users should not be frustrated with FOSS and developers should not be frustrated with users using proprietary alternatives, because we'd have to live in a completely different alternative universe for that to be different.
My agenda is that I want more non-developers to be involved in FOSS, so that volunteer-driven FOSS projects get more traction.
[deleted]
And there is plenty of badly designed commercial non-OSS out there. Especially software developed internally at large corporations. Major corporations around the world are typically using 30+ years old software that makes similar OSS look like perfection itself.
I think it is down to priorities. When it comes to commercial software the key is what the person who pay for the software (or approve the software to be purchased) cares about. Which often doesn’t match what the users of the software cares about.