this post was submitted on 03 Sep 2023
340 points (100.0% liked)
Programming
423 readers
1 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This problem is pretty common across most parts of the Linux space. Everyone wants to volunteer coding work, which is great, but not what's desperately needed right now.
The Linux community needs more than programmers, or else it will consist only of programmers. We need UI/UX experts, or we'll never have the simplicity and ease of use of iOS. We need accessibility designers or we'll never match up to the accessibility of MacOS. We need graphic designers and artists or we'll never look as good as Windows 11. We need PR professionals and marketing experts or we'll never be as notable as the Windows XP startup sound.
We don't have enough volunteers that fit into these categories. The next best thing you can do is contribute your money so that your favourite project can hire the people they need.
That's more the desktop environment than the Linux kernel though. Gnome, for example, is a simple, good looking, accessible desktop environment.
I love and use GNOME daily, but I think it's still the case that the interface "needs some getting used to" for a Windows/MacOS user. The design paradigm is just not familiar or self-explanatory to anyone who has regularly used desktop computers in the past decade.
why do you think thats unreasonable? its a different system
I think it is unreasonable because a Windows user (i.e. myself) can quickly get up to speed with MacOS within five minutes without the need for external instruction. I can manage a MacOS system perfectly fine even without any prior knowledge of how it works. I can figure out how to configure the settings to do what I need it to do without needing to search for how to do it online.
GNOME took almost a week to get used to and remember where things are located, such as what is located in Settings, how the task flow works, and so forth. I never got used to the "disappearing dock". I had to use an extension for that. GNOME is just way more different than the others. Meanwhile, my grandpa picked up Cinnamon as a lifelong Windows user within five minutes.
Why are you talking like gnome is the default Linux DE? Its not. As you said yourself cinnamon is better for some folks.
It's not, but what distros frequently top the list of "user-friendly" distros?
Ubuntu, PopOS, Fedora, and friends.
Maybe it's not how it should be, but that's currently how it is.
I never heard of PopOS, and fedora is definitely not meant to be user friendly. I'd have mentioned first Mint (which ships with cinnamon I believe) actually
I would encourage you to look up "user-friendly Linux distros" on your favourite search engine and check the first few results.
PopOS is System76's distro. It's quite popular among beginners and frequently recommended to those just starting with Linux. I don't personally use it.
Will do, it's been a while since I've been a beginner I suppose. Nonetheless, few years ago mint would have been the goto recommendation, at least in my circle. I think I even got my mom to try a live version out of curiosity
IDK, choosing between ctrl or the cmd key on macos always felt like a flip coin, I hated it
I mean going from windows to mac os also needs getting used to beacuse Obviusly they are not the same systems . Each of those has diffrent design philosophy. And out of all linux GUI gnome is the simplest( In my opinion also the best looking one ). And most of the rest also takes very little of getting used to since they are very similar to either windows or MacOS( elementary ).
What are the main issues in getting used to it do you think?
The first thing I always hear from people trying out gnome for the first time is along the lines of "Where is the minimize and maximum buttons?" and depending on what programs they use "where is the icon tray" (app indicators, or the "system tray" on Windows).
Whenever I try to explain the devs' philosophies regarding those, they quickly have lost excitement so generally these days I just start people on KDE.
The minimise and maximise buttons are in the same place they are on windows, to the left of the close button?
And by icon indicators, do you mean the dock? It's possible to pin that.
Gnome by default does not have those buttons enabled. Their design vision is for you to not actually have to minimize a window, but rather if you need to focus on a specific window either maximize it (in which you double click the app's header or drag it to the top of the screen), or move that window to a different workspace. The options are technically still in Gnome, and can be enabled via either dconf editor, or through the Gnome Tweaks app - however, a few distros enable it out of box. If you use a distro that has a more vanilla Gnome experience, such as Fedora, this won't be the case.
By icon tray / app indicators, I mean apps that show some sort of status or shortcut in the bottom right area of Windows / KDE (or the top right of macOS). On my desktop right now, that would be Discord, JetBrains Toolbox, and KSnip (the last two are extension icons).
Ugh, Gnome 3... I used to be all in on Gnome, then went to Mate after the Gnome Shell days. Last year I came full circle to KDE and for whatever reasons I had to dislike it in the past, KDE Plasma is a damn good environment these days.
Gnome used to be better for being simple and effective. Now you have to tweak it so much to get what you want, you might as well go with KDE.
Qt feels more dominant in the cross platform space these days too, with more new projects choosing Qt over GTK
How does someone like me, a PhD candidate who has a background in Human-Computer Interaction, contribute? Or the accessibility researchers I collaborate with who sit one office down and use and love Linux and make their own hacks for Linux to improve its accessibility?
I think part of the problem is a matchmaking (as as you said a PR) problem. I'm sure a lot of the experts you describe would love to contribute some cycles (including myself) but your post is the first time I'm hearing that people like me are needed in my HCI capacity. Otherwise I would have assumed there are plenty of programmers better than me available so why bother?
Start a blog where you get users to try and complete a task on a stock Linux install, and write about it.
"Given a stock Debian XFCE install, users were tasked to connect their Airpods pro. Here's what happened"
(Even doing this for Lemmy, I.e. "find a community about birds", would be insanely helpful)
A blog like this would help give focus for developers on what needs to be improved, in every part of the stack!
I like that. It seems the internet with theoretically good answers for things that can be difficult to find. Blog format is much easier to skim that SO, and as long as the post titles are valid and meaningful, it’s a quick check for usefulness before reading.
use open source software. whenever you see potential to improve, open an issue with detailed explaination.
try to solve the problem yourself. send pull requests. adapt them according to instructions by devs. when they're good, the will get merged.
if you use the software a lot, contribute whenever you think something is needed.
that second part is exactly why there is a lack of hci work in the linux space. Hci is a specialty, just like coding is. The standard ask of "create a pr with the code" is asking peopae who don't typically code to do so, in addition to doing the work of researching the problm, designing a solution, and then testing that solution for suitability.
Since the only mechanism most open source projects have for accepting contribution is code, and the ask is usually for code, there is never even an opportunity to submit design work.
I think most of the time if they have a Github/Gitlab repo open to the public opening issues, they will accept an issue that merely describes a problem that needs to be fixed along with how it might be fixed.
Something like this is generally appreciated:
...and if the maintainers ask for contact info, provide it and there you go.
nowadays, design work is code (or at least markup). Like .qml or .glade or even html/css.
encounter a problem and learning a new tool to solve it, is a pretty standard situation in IT. Designers have varying capabilities in that domain. While a print designer might have trouble learning a new software, a MMI-Architect or UI Designer should commonly be able to learn a new UI framework (designer software).
Generally, if you like to contribute to any project (not limited to software), you can't expect the project to adapt to your toolset.
But often it's enough to share an idea for it to get adapted.
Sure, you can pr the design files, but thats not how the messaging comes across. Even the "how to contribute" for most projects, if they have one, is usually entirely technical. The majority of designers (not all) I have worked with have been very shy about technical work, so having no clear "non-technical" contribution pathway is a deterent.
you can start by opening an issue, sharing your idea, uploading drafts etc. like I mentioned.
because what you wish contributing to is a technical matter. You can't modify airplane design without a single clue on aerodynamics. Same with software.
Design of UX is a separate craft from programing, to follow your own analogy, you don't need to know electrical engineering to design an airplane control panel
lol, of course you do. and A LOT more. Hence it's usually done by a team of experts. Pilots, eengineers, manufacturing, regulation/standards, safety,...
UX is just one of many parts of the expertise needed. same in software.
What you're claiming is wishful thinking that has nothing to do with real world workflows. I also don't know a single UI designer having the troubles you are pointing out.
That's the difference between designer and UI Designer. Just because you can draw an UI with your favourite tool, doesn't make you an UI design expert.
I feel like, with this reply, you are willfully glossing over my point. The issue at hand is that open source software is short on the ux design expertise. My claim is that by centering the programing expertise, and in fact by not going out of the way to be inviting to the non-programming expertise, open source projects are self-perpetuating these cycles.
We can find ways to invite good designers in, or we can continue with the "sufficient" design ost projects currently have.
I'm happy if people have ather strategies for overcoming the current problem, but the current aproach is not doing it
I think ui/ux has the opposite problem where there are not enough programmers. Idk if there is a shortage of ux people, but I do know that it takes a significant amount of work to implement and maintain ui projects.
If you are interested in helping out though, you should join the discussion forums for a project like KDE or Gnome. I doubt the Gnome people will give you the time of day, but there are many KDE projects that would appreciate volunteer work from someone like you. Browse the discussions at htltps://discuss.kde.org and see if you can find a project to latch on to, or find a project you think you can improve, and proactively reach out to the maintainer(s) with a proposal.
Just be mindful that it may take a while before your changes are implemented, since everyone is a volunteer with other jobs and responsibilities.
I don't know a single ui person or artist that gives a single f about open source.
I think as a dev you naturally grow to respect the open source space because of how much you take from it.
I would love to be proven wrong though
I can name one at least: https://www.davidrevoy.com/
I mean, Microsoft and Apple have career pages stating exactly what is needed. Does Linux have something like this for volunteers? I think it's just very inaccessible to someone from the outside. Maybe start there, improve the recruitment of volunteers
The "open" management of bigger open source problems is a kafkaesque nightmare. If you want to help make something better and change it somehow, you have to go on week-long journeys trying to figure out who is in control of that part of the project, who you can ask for guidance, who knows anything at all...
E.g. once I wanted to help package a new version of a software for a big linux distribution... and literally all the (~10) mantainers apparently wen't missing a few years ago. I managed to find one of the mantainers private reddit account and contacted them there, and they just made me a mantainer. And I still couldn't do shit because there is another dependecy which also needs to be updated, but it's mantainers are also all dead.
The effort of even getting to the point where you could contribute something meaningful, is like 100 times more than the effort of the actual contribution. It's completely rotten.
Unfortunately that's the nature of volunteer work, people just lose interest in some topics. It's worse the more niche a topic is. Sometimes your only option is to fork
This so so much. I want to contribute. The only time I ever have are when the barrier to getting setup and finding things I can do are low.
I understand what you say, and I partly agree, but neither do I want the forced simplicity of iOS on Linux, nor graphic design like windows 11. And I'm pretty sure I'm not alone. Please don't uphold these as some holy grails, they are not.
They didn't say anything about "forced simplicity". Not everything is a slippery slope
This plea for help is specifically for non-coding, but still deeply technical work.
I'm not sure the UI/UX is anyhow related to kernel development.
I3/Sway/Hyprland/other WMs are already much more superior to anything that can be achieved in Win/Mac desktops in terms of flow and performance. Only polishing is needed. Other desktop options like Gnome/KDE are fine and more lightweight desktops are okay too. They need polishing too, but already great.
Without too much knowledge, I have the strong feeling this is equally true for the Fediverse and Lemmy.
And while it is fairly obvious and straight forward how to contribute as a programmer, it's less so for all the other, equally important, tasks.
Isn't there some kind of volunteer-project market with easy access?
there's https://bountysource.com/ or https://www.vamp.sh/
Bound to specific problems and limited to projects willing to pay money.
Is it just me or does vamp.sh fail with an error on firefox?
Worked for a second before it threw me an error.
It's failing because it can't connect to some crypto web3 bullshit... It's probably best if it doesn't load tbh.
And Bountysource is also dead crypto shit. See: https://github.com/bountysource/core/issues/1586
Linux's power is coincidentally its weakness. I don't think the broader community wants that simplicity imposed.