šŸ’­ Difficulties of design in open source

An additional complication is this debate is that ā€œdesign in open sourceā€ might be actually describing three different things:

  • Design using Free SW tools
  • Design Free SW systems and applications
  • Design in the open, as part of a community

An ideal project would enjoy all three. However, it might be interesting to think about situations where one or two of these characteristics are missing, and what does and does not qualify as ā€œdesign in open sourceā€ in those cases.

3 Likes

Howdy guys, I’m new to the community. Just wanted to chime in.

I think the reasons listed by ya’ll in general are very good. I want to really back up two points though.

I’m a designer who has been learning how to code. In the past year I dove into switching all my personal cloud services over to self hosted FOSS alternatives like Nextcloud (Howdy Jan! I believe we’ve talked on github a few times about the Nextcloud mobile app :smile: ) In getting more involved in these communities I consistently found that when I logged a story saying ā€œHey this thing could be better, respectfully here’s my thoughtsā€ the response was usually ā€œIt’s fine the way it isā€.

I think there may in fact be no easy solution to this problem, but I think this might point to a solution nonetheless.

I am a designer learning to code. I only do web stuff though. Web is a field of development which has a fairly integrated history between dev and design though, as a web designer and web developer were often the same person back in the day.

Just as I am a designer learning to code many developers are learning design. The gap between web stack and native has shortened with the advent of technologies like Electron and React Native etc. The advent of Design Systems and the focus on componentization of UI in frameworks like Vue/React has also lead to growth in design skills in the web development community.

I think in some ways the only way this will be solved is through some convergence of the two. This is one reason why as a designer one of my focuses in discussing development and design with other designers is encouraging a higher level of technical development knowledge. On the other hand when I am in open source circles I try to advocate for good design not just in presentation of the ā€œproductā€ but in improving the experience of using code itself.

An example of this latter ā€œimproving the experience of code itselfā€ is through the dotfiles community: https://dotfiles.github.io/

Dotfiles are configuration files for unix apps. It starts with something as simple as writing some easy aliases for your bash command line interface to make things easier to do. THAT IS UX! That UX via kaizen process.

Related to web based technologies you can see this same instinct playing out in how vscode


and hyper

image
have evolved rapidly in their design space largely due to the relative ease of writing extensions or plugins with only basic web stack knowledge.

And speaking of hyper above which is a command line interface app that is built using web stack technologies and runs on windows, linux, and Mac: UX isn’t limited to just graphics, it also is a part of text too. In the command line there have been several rather well designed command line interfaces developed in the last couple of years such as:

ranger

or zsh.
image
(zsh is actually much older but there’s been an explosion in it’s use lately due to things like ā€œoh-my-zshā€ project. )

Now all these things are examples of improvement in design in code presentation, therefore text, so I still think there is some gap in translating the gains of the developer focused design to open source design as a whole.

But at least in one way it has made the user experience of learning to code a lot easier for me!

I think it’s also worth considering the ways in which innovations in CLI UX design is itself also comparable to the ideas that have been floating around in the world of ā€œconversational UIā€.

I think these distinctions here is a really smart addition.

On the subject of using free SW tools, I think the reason you don’t see a lot of use by designers is not simply because design schools teach Adobe or because they aren’t introduced to the ideas of FOSS (though this is true).

The reason is… because most FOSS design tools suck.

I have a Windows laptop and a Linux home server. I only ever have a mac when my company buys me one.

I have desperately been looking for a Sketch alternative. I have Adobe XD on my windows machine but it’s… not the best, and I’d really like something that was open source.

There is however no active development projects to solve this use case.

And the mainline graphics software packages for open source are… largely pretty bad. Gimp and Inkscape are about 20 years out of date in a lot of their UI and functionality. Krita is honestly the only open source project really doing anything impressive right now I think.

And I think that’s a damn shame. And this is itself probably a hard problem itself too. Graphics software isn’t easy to make. It requires more powerful hardware (gpu drivers have been an issue for linux until very recently and the FOSS OS community is primarily focused on making as compact and minimalist implementations of their desktop environments rather than powerful ones).

You could get the design community to use FOSS design tools if someone would actually make them.

The only alternatives I know of are:

Pencil

https://pencil.evolus.vn/

Hasn’t updated in over 2 years and honestly looks kinda ugly.

Vectr

This actually looks promising but it’s online only from what I can tell which I’m not a fan of. That means that even if it’s open source to actually use it completely independently you have to self host which is a lot to ask a freelance designer to learn to do.

Also I found this on a list of open source projects but I don’t think it’s actually open source.

Gravit Designer

No longer open source. Also it’s a bit broader in scope than Sketch.

Alva

This actually looks cool but I think it’s really more like something like Webflow or Framer X which utilizes existing code components, which greatly limits the usefulness of this for designers.

Akira

Probably the closest thing to an actual Sketch competitor but it doesn’t look like it’s had a meaningful update in at least half a year or more. All the checkins I see on the github page look like they’re basically formatting or build process updates.

So this problem is ripe for solving!

It’s just, who will solve it? IDK.

2 Likes

Hi everyone! I wrote something about my journey being an open source designer- please shower some love here: Designing in the Open. Exploring open source design as an… | by Anushka Jain | Oct, 2022 | Prototypr :smiley:

4 Likes

Great article @likeanushkaa

" I had never heard of designers pursuing a career in open source and felt that design didn’t belong here."

There’s a great need for designers in the FOSS community. Many developers would love UX help. They too struggle with a similar question: ā€œHow do we interest designers to contribute to our projects?ā€. Many projects start as personal side-project, hobby-like, and then tend to get deep into technical reeds. Once projects grow in size and popularity there’s dire need for UX improvement. But at this time there’s a big pile of ā€œdesign debtā€ already. And the devs do not know how to communicate in a way that’s most likely to interest a designer. Then there’s tooling that doesn’t match up where devs vs. designers have their own preferences.

Eventually, my wish to contribute faded out because I couldn’t find the correct role for me in this open-source world.

Can fully understand. There needs to be a good process where design can transition towards code in a more natural way. Especially in FOSS these processes often do not exist, and many procedures are more informal or only include the tech-/coding-focused parts.

It is judged through the thought process behind each decision, making design inherently collaborative.

This is key. I am involved with starting, what we call, the Social Coding Movement where we want to look holistically at the entire process of ā€œforging free softwareā€ i.e. take the entire Free Software Development Lifecycle (FSDL) into account. And we want to emphasize these social aspects specifically and support them on the Fediverse (a decentralized social networking space).

If you or anyone else is interested, hop onto our Matrix chat. Social Coding is still in prep, but we’ll be kicking off for real in this Q4.


Btw, wrt bridging the divide between devs and designers Medium may not be the best choice. See this recent Poll: Is there a negative stigma toward articles written in Medium? | Hacker News

2 Likes

Thanks for sharing your experiences! A lot of it resonated with my own experiences as a designer and user researcher in open source projects. I like that you described the many ways in which you tried to connect your existing design practices to the way open source projects work – collaboration across disciplines is never easy but often rewarding and in a (tech-) culture that loves everything ā€œfrictionlessā€ I appreciate if such work is shown and explained.

Two small resources that might be interesting:

You asked:

Food for thought: How can open source reward contributions in design?

You might know this already – the allcontributors initiative is working on similar questions and suggest some ways to show non-code contributions.

You also suggested that

… the world needs a shift in design as well, from a single-player designer to multiplayer collaborators.

I agree! And I think that Open Source Software is only one possible and imperfect model for that, since its strongly shaped by collaboration in source code. Other types of media (non-text, non program) might not work as well with the open source paradigm of collaboration. If you like academic research on this: see this paper on collaborating on computer games and this analysis of different open source-like projects

If resurrecting a dead thread is frowned on, I can make a new thread but thought I would follow up on this topic. Many years have passed, and a lot has happened. For one we now have a real viable design tool in Penpot!

But there are still other barriers to designers getting involved in open source.

What I keep running into instead is more of a governance problem.

I’ve been trying to get more seriously involved in open source again as a designer, and what I’m finding is that even when projects have design teams, design often is not done in the open in the same way code is. A lot of important open source projects are sustained by foundations or other formal organizations. That makes sense. Serious projects need paid people. But it also seems to mean that design often becomes internal operational work rather than truly public contribution space.

You can see this in different ways in different projects.

In some cases, design is relatively mature but mostly internal (such as in Mozilla or Decidim). You may be able to contribute around the edges, but you can’t really inspect or fork the actual working design process the way you can with code.

In other cases, the process is more public, but that still doesn’t mean it is very accessible to designers as designers. For example, LibreOffice does have a pretty open design community on paper: public wiki pages, public meetings and minutes, mailing list, IRC/Matrix/Telegram, and they even use Penpot in their workflow. But from my experience the actual design culture still leans heavily toward developers making the real calls, with design treated as bug triage, light mockups, or surface-level cleanup rather than a discipline with strong authority of its own.

So I’m increasingly thinking the bottleneck has shifted from open design tools to open design governance.

Felipe’s distinction earlier in the thread still seems really useful here: ā€œdesign using free software tools,ā€ ā€œdesigning free software,ā€ and ā€œdesign in the open, as part of a communityā€ are not the same thing. Penpot helps a lot with the first one. I’m much less convinced we’ve made the same progress on the third.

In other words: a project can have open code, public issue trackers, even public design chats, and still not really have an open design process in the fuller sense.

I’m curious whether others have seen this too. Not just lack of tools, but lack of structures that give design work continuity, visibility, and real decision-making weight.

Some of this is surely driven by remaining tool problems (such as being able to collaborate on a penpot file with people not in your team), but I also think some of it is organizational.

Hello, I’m really glad to see that I’m not the only one still paying attention to this post after all this time. I’m a third-year UI/UX student at L’École de design Nantes Atlantique in France, currently working on my graduation project on how to strengthen user experience in open source software. The earlier discussions in this thread have been incredibly helpful to me. Also, during my research, I’ve also started to sense a certain tension between open contribution and decision-making in design—something that can’t simply be resolved through interface design or by applying the same logic as open source platforms. Design is different from code which doesn’t have a clear standard of whether it ā€˜runs’ or not, and its subject is human beings who are emotional and constantly changing, it’s more unpredictable and it need someone to make a final decision(which may seems go against to the open source concept). Sure It’s lack of a system(e.g. for designers) that can help reorganised every change to maintain its rational usability for users. I’m wondering if this resonates with what you mentioned earlier.

Yes, that element of the difficulty determining right decisions is part of the issue. I’ve been working on an essay addressing this subject, you can read here if you are interested. While it is true that there isn’t the same kind of clear demarcations of ā€œdoes it run?ā€ that code has, that kind of bar is really only the lowest level of things. There is an illusion of objectivity, but in either case you are always dealing with tradeoffs, and having to navigate intersubjectivity. There are ways to navigate this intersubjectivity. Research is one way. Governance and standards is another.

Appreciate it a lot for sharing those really deep insight towards the UX itself. Sure It is hard not to consider that the inherent collaborative tensions within design itself may be one of the core barriers preventing our designers’ full integration into open-source software, beyond the commonly stated issue that contributors may not perceive design as necessary.

I’ve noticed that some mature open-source projects actually do have user testing processes. But the feedback they rely on tends to be much more data-driven, like there was a UX research project in last year’s GSoC that focused on tracking users’ eye movements while using the software. And they seemed to focus more on improving user experience from a functional perspective, rather than from an emotional or subjective one.(Well they aren’t completely separate, but hoping it can clarified what I meaned to say)

This might be partly due to differences in ways of thinking of different professionals, whether people explicitly realize it or not, the ā€œneglectā€ of emotional experience should be influenced by the incompatibility between design decision-making and the open-source contribution model. Because the subjective differences between users—which designers tried to engage with—get amplified in open-source workflows to the point where they become difficult to handle.

Another thing is that there was already a long period of development from purely functional websites to proprietary software with highly refined user experience, like you sard web designers and web developers used to be the same person. It was only later, with the emergence of the concept of UX, that development, user research, and design gradually became separate roles,which might be seen as the deal with differences in user subjectivity.

Open source, however, intensifies this challenge. For me, personally that could be the explaination of why open-source software today can appear to lag behind proprietary software by decades in terms of user experience.

But in another word,(well i’m being optimistic),the challenge has been successfully addressed once in history. then, is how to create a tool or mechanism that can coordinate differences in user subjectivity—this may be the breakthrough point for the problem.

So I’m wondering if this connects back to the reason why we are emphasizing ā€œdesign governanceā€. And it could be even better if you could elaborate a bit more on how governance structures and standards might practically deal with the issue of subjective differences in user experience.

Governance systems and standards can help deal with differences in user experience because it provides a third reference point. This is really based in my work on design systems. My work experience is mostly in government technology where legacy systems have often evolved ad hoc over many years with zero professional design input. So I come into a system where something simple, like the styling of a button, has no consistent basis. Well how does one say one button styling is better than another? We can use research to some degree but a lot of it comes down to taste. But the important thing is not necessarily picking one styling, but having a system for coming to consensus. It’s less important that the button be #279FF5 versus #1C85FC. What’s important is that it’s one color consistently. We can appeal to that consistency as a matter heuristic. We can back up that heuristic with empirical research. But fundamentally it’s a negotiation between people. (this concept of design system work being a matter of social contracts is something I talk about in this essay here). If you want to see an example of applying this design governance approach to a real life project, you can check out this case study I wrote here.

So far I’m not really aware of any widespread design governance work in open source. I know that Thunderbird has a governance committee but it’s actual governing process is opaque to me. LibreOffice uses some design heuristics in their meetings but they don’t really have a formal system for defining stuff other than ad hoc votes at meetings.

Two ideas on design governance work:

  • I think such governance work is also rare for code. It would make sense, for example, for software architecture, which has similar problems as design of user interfaces, in that it is not easy to change, involves compromizes and can neither be entirely planned nor done well entirely reactively. (see here for some attempts to document such decisions)
  • Open Source Software seems to be seen as promise to be free from politics, negotiations and compromizes; the development stigmergically guided just by the code itself.
1 Like

I think your comparison to software architecture is a good one, but I would push back a bit on the idea that this kind of governance work is rare for code. Code does in fact have governance in many projects, even if it is not always called that. Pull requests, code review, maintainer/contributor distinctions, merge permissions, release processes, standards work, and even BDFL style leadership are all governance mechanisms. They structure how decisions get made and who gets to make them.

The governance of code is more invisible because it’s often built into the tools, whereas design governance is usually handled socially in ways external to the design tools themselves.

I also would not say open source is seen as free from politics in practice. Open source is full of politics, negotiation, and compromise. What sometimes happens instead is that those politics get naturalized and made to look like they simply follow from the code, or from the maintainer structure, or from what has already been built.

I also would say that much of design work gets done in a stigmergic way too. Decentralization of design decision making isn’t non-political IMO, it’s just a different kind of politics.

I also would not say open source is seen as free from politics in practice.

I agree, this was just pointing to how it is imagined by some of Open Source’s proponents, thus, when…

design governance is usually handled socially in ways external to the design tools themselves.

…this is seen as going against this imagination of ā€œbeing free of politicsā€

1 Like