Design contributions to OSS: Learnings from the Open Design workshops project

A presentation at Open Source Community Ghana in April 2020 in Accra, Ghana by Eriol Fox

Slide 1

Slide 1

Design contributions to OSS: Learnings from the Open Design project.

Slide 2

Slide 2

Eriol intro

My name is Eriol Fox. I use They/Them/Their’s pronouns and was lead designer at Ushahidi.

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 work for 7 years and 2 years in the FOSS (Free and Open Source Space)

Slide 3

Slide 3

Third Sector Design

Third Sector Design

Slide 4

Slide 4

Why aren’t there many design related contributions to OSS?

Why aren’t there many design related contributions to OSS?

Slide 5

Slide 5

Berlin 2018 & Seattle 2019

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

Slide 6

Slide 6

Designers want to work on projects ‘for good’.

We discovered that there are a huge amount of designers working in corporations and for-profits wanting to work on a project in their ‘spare time’.

Slide 7

Slide 7

What is Open Design

We started Open Design to try to begin to investigate and solve the question of specifically, ‘Why aren’t there more designers in Open Source?’

We started the Open design project which was a collaboration between Ushahidi, Adobe and Global design agency Designit to start to understand why designers and, by extension other digital functions like product management, data analysts etc. aren’t participating as actively in OSS as those who code are.

A lot of what we learned about designers trying to move into and thrive in OSS spaces apply to other functions that are characterised by ‘not predominantly coding based’

Open design is a project that was born from these three organisations wanting to make a difference in the OSS space with the design community through investigation, tools, methodology and frameworks.

Slide 8

Slide 8

Designers collaborating and contributing to Humanitarian OSS and tech for good at challenge gatherings.

The first phase of Open Design was largely this as well as the process of us analysing and improving on the format in the open.

Slide 9

Slide 9

But there are a lot of challenges.

Slide 10

Slide 10

Most designers don’t have a clue about what OSS is or can be.

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.

Slide 11

Slide 11

OSS isn’t part of design education.

Education not teaching designers what it is and how design can be involved. Although some design institutions are introducing OSS modules for students Darmstadt Uni.

Agency/Inhouse/organisation not promoting it as a viable source of development for design skills.

Ref: The genius interviews: https://github.com/ushahidi/opendesign/issues/4

Slide 12

Slide 12

Even if designers know OSS, Github can be a barrier.

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.

Slide 13

Slide 13

Most OSS projects understand design as ‘logos’ and ‘graphics’.

When speaking with people that work on OSS projects and ‘maintain’ them. They often hear ‘design’ and immediately think either:

  1. Logos
  2. Graphics and icons
  3. UI

This leaves out a huge part of why design is becoming one of the most needed functions in software recently. Design can offer so much to digital (and non-digital) products and projects than the visual design.

But, just like development and software has it’s own jargon and ‘club’ mentality so the hidden jargon and world of design has been hard for others to break into. Leaving a limited and short sighted view of what design can offer an OSS project.

This view of design is not to be scoffed and mocked at. It’s to understand and work towards how we can as a design community open up are practices and the benefits of our craft of design to those that are just beginning to learn how it can help OSS.

You can apply this level of understanding of design to the level of understanding about any other aspect of a humanitarian project. Programs, Research, M&E. When we don’t make spaces for people with these expertises to contribute to OSS we limit the capacity for Humanitarian OSS to succeed in a community-led building way.

Slide 14

Slide 14

OSS project issues can be restrictive…

But a problem in OSS is that typically the pieces of work, called ‘issues’ are very specific and very granular tasks. An example might be ‘Design a form capture for new volunteers that includes Name, Email and Address’ This ‘issue’ is largely dictating what is needed and leaves little room for exploration of what is the core need.

Why is this form needed? Why those data points? 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.

As a predominantly coders space OSS issues sometimes lack a flexibility that could offer a different kind of solution to the proposed problem. There’s also the risk that you won’t engage the designers wide skill set, user insight and contextual design expertise as well as lacking in enthusiasm.

That’s if there are issues for design (or other functions!) at all in the project!

Slide 15

Slide 15

…but open workshops often lose focus and relevancy.

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.

Slide 16

Slide 16

Lack of version control in software and process for designers.

There’s a process in coding and software development called ‘version control’ which is where multiple people can work from a single source at a time by ‘branching’ their own contained version of the main project to work on and then merge that branch into the main source when they’ve finished.

However, if another person in their own ‘branch’ has worked on the same part but done something slight different a lot of ways of coding will flag and show notifications for ‘conflicts’ and ask the people involved to take a look at the conflicts and reconcile them. This is how software developers stop overwriting each other work while working on code on their own machines and it’s also part of the way they track and maintain ‘versions’ of the project.

In design theres 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.

Slide 17

Slide 17

India and Taiwan

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.

Slide 18

Slide 18

Design activities.

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, Story boarding and skteching and prototyping.

Slide 19

Slide 19

Translate issues to 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.

Slide 20

Slide 20

Location specific builds community.

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.

Slide 21

Slide 21

Invite into the process a ‘witness’.

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.

Slide 22

Slide 22

Prototypes.

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.

Slide 23

Slide 23

Increase & sustain contribution. Support the community. Build understanding between design and OSS. Bringing Open Design to education and workplaces.

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.

Slide 24

Slide 24

We want to build relationships with more OSS projects.

If designers want to get involved in OSS projects then we need more OSS projects involved with us!

Slide 25

Slide 25

And with designers and developers globally.

If designers want to get involved in OSS projects then we need more OSS projects involved with us!

Slide 26

Slide 26

Open methodology, frameworks and processes to use and remix:

github.com/ushahidi/opendesign Go here and check it out and Thank you audience

Slide 27

Slide 27

opensourcedesign.net

A community of supportive designers in open source opensourcedesign.net @opensrcdesign