this post was submitted on 03 Sep 2023
507 points (98.7% liked)
Programming
17503 readers
9 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
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.