Design contributions to OSS: Learnings from the Open Design project.
Welcome to the talk about Design contributions to OSS. What we can learn from the Open Design project between Ushahidi, Adobe XD and Designit.
Welcome to the talk about Design contributions to OSS. What we can learn from the Open Design project between Ushahidi, Adobe XD and Designit.
My name is Eriol Fox. I was lead Design at Ushahidi from January 2018 to January 2020, a non-profit, humanitarian organisation that makes open source tools for challenges such as Election monitoring, Democracy, Crisis response and human rights advocacy.
I’ve been working in the digital product design and UX space for the last 10 years, since before UX had a name.
I’ve also been involved in Humanitarian work and community development work for 7 years and 2 years in FOSS.
I’m part of the core team at Open Source Design.net a volunteer run, community of designers dedicated to advocating for design in OSS.
When I first started working at Ushahidi, I wondered, where are all the design contributions?
We get developer, coding, documentation and translation contributions why not design? why not user testing? why not graphics, visual insight and suggestions?
We talked about this internally and two of us did Mozilla open leaders projects on opening up User research contributions and design contributions.
This laid the groundwork for the open design collaboration with Adobe and Designit.
In 2018 and & 2019 we piloted two design jams/hackathons where we tested whether bringing together designers around Ushahidi’s crisis communication tool TenFour to look at challenges local to Berlin and Seattle which were floods and landslides.
We put out a public event once in Berlin as a stand alone organised event and in Seattle at the IxDA conference: one of many design events for interaction designers from around the world.
We found the other people like me here, and also many individuals across many other functions in digital technology wanting opportunities and structures like OSS is for developers too.
https://www.youtube.com/watch?v=iX1HZOtN2Js
We discovered that there’s a huge amount of designers out there that are working commercially in companies and agencies, that actually want to work on projects that give back to the world.
Unfortunately in OSS there is an absence of contributions that aren’t code and many OSS projects don’t think outside of their typical ‘developer bubble’.
But Open Source Software, especially humanitarian projects, are in dire need of multi-functional product cycle support, including design, in order to make critical, needed software usable in truly difficult situations.
After our two pilot events in Berlin and Seattle, Ushahidi, Adobe and Designit began a collaboration under the name ‘Open Design’ to further investigate and solve the question of specifically, ‘Why aren’t there more designers in Open Source?’
We wanted to have a deeper understanding what is keeping designers off of participating as actively to OSS as developers do.
And we wanted to start removing roadblocks, to enable more design contributions to that space.
Our aim with Open Design was first to research, which we did a year of, apply this research to improve what we piloted in Berlin and Seattle and carry out improved workshops.
We worked openly by default, encouraging communities and people to remix, use and build from what we had.
But we discovered many different challenges with Open Design contributions.
Theses are just a few!
When speaking to designers and other roles about what OSS can be they’re often surprised by the diversity of projects. Especially those that are on the humanitarian side seeing these as potentially more accessible than the ones that are about tech for people who build tech.
Design education both formal and informal does not typically involve learning about OSS. Even if we are using OSS we might never know! because of this, most designers aren’t aware of what open source is or can be.
Now some design institutions are introducing OSS modules for students.
But we need to connect this with our workplaces. If we’re not including OSS and a valid part of our education then when we move into the world of work involvement with OSS will continue to be seen as a non-viable source of design practice.
Github sends a message in the way that it’s set up that suggests it’s a place only for those who can code in some way.
Historically, that may be the case but more and more designers or coders are becoming hybrids or interested in the process of how tech is built.
But while people who code might learn how to use Github, terminal and how to set up their own repos to look at OSS project designers aren’t often equipped with the knowledge on how to do this or even the ways in which to find comprehensive guides in order to set up an instance. If a designer can’t see or experience the OSS through a ‘user facing’ interface or if there are parts of the OSS that are inaccessible unless you can set up an instance then that’s a part the designer will not have access to in order to contribute.
When speaking with people that work on OSS projects and ‘maintain’ them. They often hear ‘design’ and immediately think visual design only.
This leaves out a huge part of why design is becoming one of the most needed functions in software. Design can offer so much to digital (and non-digital) products and projects than the visual design.
This speaks to the historical and cultural segregation of design and development, however this is changing and more OSS projects are becoming aware of usability and the need to be human centred by design.
Short, technical, jargon, dev-readable.
Designers in particular need the context surrounding a task or problem to effectively design for it in a sustainable way. Not all designers operate this way but the ones that have a healthy amount of curiosity about the wider impact of what they design.
Why is this needed? For how long? How does it change over time and culture? How should this be stored?
Designers in particular need the context surrounding a task or problem to effectively design for it in a sustainable way. Not all designers operate this way but the ones that have a healthy amount of curiosity about the wider impact of what they design.
That’s if there are issues for design (or other functions!) at all in the project!
On the flip side, when you have a challenge that is is not directly attached to a specific issue or scope of work for the OSS and then designers tend to create designs not grounded in the reality of the current technology function often called ‘Design fiction’.
What we wanted to figure out is how to achieve actionable design contribution to current issues/tickets in the OSS repo while engaging designers in the OSS’s purpose.
In design, there’s no real way to know if another designer working on the same project has changed something in a file that you have also changed. You have to create a whole seperate file, have a conversation and point out the differences and discuss them.
This is also often why designers tend to work on separate parts of a project than the same to avoid conflicting or duplicate design work. We need ways to work with this remotely across timezones and borders if design for OSS is to be successful but also, as designers, understand that someone looking at our ‘master’ design file and changing something to suggest something better isn’t a threat to our design but a way of collaborating and globalizing our design to make it better and more relevant for everyone around the world.
Versioning for designers means digging into why sometimes we are particular and precious about holding our design files tight an not allowing them to be more flexible and participatory.
Designing for crisis communication open source TenFour with survivors of the Kerala floods in Southwest India.
Designing for crisis communication open source TenFour with against typhoon crisis alongside farmers in rural Taiwanese farmers.
Our design activities during the workshops were focussed on building team cohesion and entering into the problem space of the OSS. Not about particularly complicated or fancy methods that could isolate and put-off any non-designers or early-career designers.
We did Empathy mapping, Defining the problem, Ideation, Storyboarding and sketching and prototyping.
Because design in open source is relatively new and our processes and communities aren’t structured or socialised in the same way as developer communities we need design workshops for OSS to be location specific in the beginning. This means this location should be where the OSS is used e.g. TenFour for crisis used in Bangalore and Taipei where there have been floods and Typhoons and these workshops should bring together the local and international community at that location the best it possibly can.
This allows designers to try out all the things that are involved in building a team: Meeting new people, discussion, collaboration, sharing and bonding. As well as having a location based, personal connection to the OSS through either first-hand or extended personal experience. This also allows you to bring in witnesses or ‘users’ from these same locations and extend the bond from designers to designers + OSS + users of the OSS.
You can facilitate remote involvement but it’s very important to build a connection between designers working on the OSS challenges.
https://github.com/ushahidi/opendesign/blob/master/witness-brief.md
As we just mentioned, having a ‘user’ or what we call ‘witness’ (it’s more humanising than ‘user) present will allow your designers to fully connect with the purpose of what they’re designing for and the need for the OSS.
We invited (and paid for their time!) witnesses with experience of the Kerala floods in Bangalore and of the Typhoons in Taiwan. These folks were invited to speak for 30-45 minutes on their experiences and then for the designers to ask them questions, clarify the needs, empathise with the witnesses and validate assumptions.
The witnesses also gave feedback on the prototypes the design teams created in response to the OSS design challenges.
We mentioned early that there’s a balance to how we communicate our issues in our repositories. Many are catered towards developers and technical speak and may include the phrase ‘As a user I want to do X Y and Z’ if we’re lucky.
If we want to include designers in how we solve our needs in open source software there’s a way to make these issues more inclusive to designers by writing them as ‘challenges’ you can see an example here: https://github.com/ushahidi/tenfour/issues/112
The main thing is to not offer the solution and not believe you have all the answers. It’s to describe the problem people are having with the OSS when they try to do something and to present the problem to designers so they can develop an understanding and design a solution that isn’t restricted by what a project or individual might think but allows for exploration of the best solution within reasonable technical and logistical constraints.
The worst thing you can do is detail exactly how you think a design should be done and restrict creative problem solving but also, to allow for complete freedom you’ll get a design solution that is not implementable within a sprint/cycle. Be balanced.
The teams at open design workshops are encouraged to produce a ‘prototype’ for the design challenge/issue. So that the OSS team, other designers and the witnesses can see what they’re proposed solution to a problem is and that other designers around the world could potentially build on and collaborate on this design in an ‘open source’ kind of way.
The tool that’s used for this prototype isn’t as important as the act of contributing. The OSS project can request and suggest they’d like design received from a certain tool or in a certain format but ideally, this would be a format that all designers globally could contribute in some way to.
Accessibility of tooling is a whole other topic that’s deeply complex and speaks to privilege and access.
The goals of Open design are:
To help increase and sustain design contributions to OSS tools like Ushahidi.
To support a community of collaborative, peer-led designers who learn skills and new ways of working together.
To build the understanding of OSS in the design community as alternative to ‘speculative’ ‘design for free projects especially for early career designers.
To help OSS projects understand design beyond graphics and UI and into the broad skills design can offer OSS.
To support OSS projects in building and receiving design contributions that are meaningful to their projects.
If you’re an OSS project interested in Open Design, contact the open design project on slack at:
https://join.slack.com/t/open-design-is/shared_invite/enQtODMwMzE0MTgxMDkyLTk0MGViYWI0NWJjNjQ3NDM5MzNjNDcwYjNmYzc3NmFlYTZkODVlMzY3ZDc3NTY5MzI5M2E5NzM2ZWU1YjMxNmE
or twitter here: https://twitter.com/opendesignis
If designers want to get involved in OSS projects contact the open design project on slack at: https://join.slack.com/t/open-design-is/shared_invite/enQtODMwMzE0MTgxMDkyLTk0MGViYWI0NWJjNjQ3NDM5MzNjNDcwYjNmYzc3NmFlYTZkODVlMzY3ZDc3NTY5MzI5M2E5NzM2ZWU1YjMxNmE
or twitter here: https://twitter.com/opendesignis
Go here and check it out: github.com/ushahidi/opendesign
And join the Open Source Design forum: https://discourse.opensourcedesign.net/