WHO CARES IF THE CODE IS FREE?

user experience (UX) & open source

 

Máirín 'Mo' Duffy

Principal Interaction Designer

open source
==
BAD UX

1988

1980

1990

2017

https://twitter.com/discordianfish/status/824281126353125377

2000

2010

 

2013

IRC

Slack

1995

Windows 95

1993

RFC 1459

A lot of things about the internet, technology, and society changed during this 25 year period.

Lost Potential

Yet another startup....

SHINY, CONVENIENT...

PROPRIETARY, NO OPEN STANDARD....

GONE in a few months...

THE PLOT SUMMARY:

LONGEVITY

"Hey, our API is open! You can use it!"

That's great, but you still might....

  • Hold and control user data, sometimes indefinitely.
  • Surveil users: monitor and analyze activity.
  • Steal users' time and attention and sell them
    or profit.
  • Could go out of biz or get bought anytime.

  •  

"We use open source technology and
  contribute back."


 

"Well... our client is open source!"

NICE TRY

GREATER
GOOD

PROFIT

>

PURPOSE

OPEN SOURCE

PROPRIETARY COMPANY

CUSTOMIZEABLE

ONE SIZE FITS ALL

BENEFITS ALL

BENEFITS FEW

OPEN SOURCE
UX ISSUES

CONSISTENCY

INTEGRATION

"Lulzbot Mini 3D Printer" by Maurizio Pesce on Flickr, Creative Commons Attribution 2.0

UX DEBT

- Adam Jackson, fedora-devel-list Jan 2008 (islinuxaboutchoice.com)

...But the chain of logic from 'Linux is about choice' to 'ship everything and let the user choose how they want their sound to not work' starts with fallacy and ends with disaster.

ITCHES

"Scratching its back" by Maëlick on Flickr, Creative Commons Attribution ShareAlike 2.0

WHAT IS UX?

WHAT UX IS NOT...

It's not the flower, it's the whole ecosystem

 

https://simplysecure.org/blog/when-closed-source-wins

 

https://opensource.com/article/17/4/itch-to-scratch-model-user-problems?sc_cid=70160000001273HAAQ

https://techcrunch.com/2017/04/30/the-past-present-and-future-of-design-in-silicon-valley/

!MAKEITPRETTY

!SURFACEONLY

IT'S SYSTEMIC.

"Where once engineers used to rely on raw programming languages to create software; today, they build from open-source libraries and preexisting technology platforms. In the consumer internet world in particular, the marginal cost of software is zero—and design is now the differentiator."

"The past, present, and future of design in Silicon Valley"
Steve Vassallo, Tech Crunch 

"Zakim Bridge" by Robbie Shade on Flickr, Creative Commons Attribution 2.0

IF YOU BUILD IT, THEY MIGHT NOT COME.

CONTEXT

>

Understand the Users

Example: usersys static IP

Users ask for things.
The why matters.
 

HOW?

UX DESIGN PROCESS

USER RESEARCH

DESIGN IMPLEMENTATION

DESIGN VALIDATION

"Tracing Relations" by Neil Cummings on Flickr, Creative Commons Attribution-ShareAlike 2.0

GATHER DATA

ANALYZE DATA

PRIORITIZE FINDINGS

USER RESEARCH PROCESS

RESEARCH

DESIGN

VALIDATION

"Brainstorms at INDEX: Views" by Jacob Bøtter on Flickr, Creative Commons Attribution 2.0

GENERATE IDEAS

ORGANIZE IDEAS

CHOOSE A DIRECTION, PROTOTYPE

DESIGN PROCESS

RESEARCH

DESIGN

VALIDATION

VISUAL HIERARCHY

What's most important?

What stands out the most visually?

Sometimes alphabetical order isn't the best way to order things.

ORDERING

Sometimes alphabetical order isn't the best way to order things.

Ordering

By default, show the basics, and allow user to open up more options / controls if and as needed.

PROGRESSIVE DISCLOSURE

"Onion Skin" by June Seita on Flickr, Creative Commons Attribution 2.0

Chunking like controls and information together and eliminating extraneous items.

CURATION

Putting information / tips right where a given control / item is on the screen is the most visible and useful place for it.

CONTEXTUAL HINTS

DIFFERENT TOOLS FOR DIFFERENT AUDIENCES

Sometimes the user audiences are divergent enough that more than one focused tool can meet their needs better than one tool that tries to address everything.

#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512

# Use CDROM installation media
cdrom
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us','ie'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=em1 --ipv6=auto --activate
network  --hostname=pandafortress
# System timezone
timezone America/New_York
user --groups=wheel --homedir=/home/duffy --name=duffy
# X Window System configuration information
xconfig  --startxonboot
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
autopart --type=plain
# Partition clearing information
clearpart --all --initlabel --drives=sda

%packages

CREATE TASK LIST

RUN TEST

ANALYZE RESULTS

VALIDATION (USABILITY TESTING)

RESEARCH

DESIGN

VALIDATION

image/svg+xml

...unless you prioritize addressing the issues you uncover in your roadmap!

Please do this! 

USABILITY TEST RESULTS ARE USELESS...

MAKING THIS WORK IN AN OPEN SOURCE CONTEXT

The Users
We Have

Open Source
Contributors

The Users We Need

(For the ubiquity of software freedom we all crave)

#1 Be inclusive

Avoid technical user echo chambers.

#2 Don't displace existing users

Augment and/or federate instead of replacing core functionality.

mailman email

hyperkitty web ui

Think about city planning...

 

Avoid design by committee by being clear about what you need feedback on and what you do not and who is making the final decision.

#3 Establish boundaries

You can use Gamestorming techniques to focus discussion:

The Open Decision Framework is a great method to follow:

No design decisions make 100% of those involved happy. In the absence of information, people assume the worst. It's easier to make peace with a decision you disagree with when you understand why it was made.

 

Be transparent from the start.

#4 Avoid conflict with transparency

The Open Decision Framework can help with this, too:

If you're not sure that the software needs a particular feature - don't add it. It is much easier to add something later than to remove it.

#5 It's easier to add, harder to remove

Image used under a Creative Commons Attribution-NonCommercial 2.5 License,
credit: Randall Munroe,  
XKCD #1172

Example: anaconda partition cylinder placement

DESIGN CULTURE IS DIFFERENT

It's OK. Here's how to work together:

Designers focus on people.

#1

Developers focus on technology.

perspective

We can help you focus on the problem to solve.

You are the expert in determining the best technology to solve it.

"Drive-by" UX is hard.
How do you submit a UX "patch"?

#2

where is the long tail in UX?

UX contributions require a
longer-term commitment because
of the depth they require.

Designers tend to use closed-source, proprietary tools.
 

#3

Idealism v. pragmatism

They don't need to, mind you.

But... be nice!

Start with standard, open formats for assets and go from there...

Their annoyance at the "Creative Cloud" is an opportunity here...

(an aside... a UX workflow using open source tools...)

Inkscape

Gimp

Sparkleshare

GitLab

MarkDown

Riot.im

Paper & Pencil :)

Whiteboards + Sticky Notes

'Release early and release often' is a familiar open source mantra.

#4

the big reveal

This can be difficult for designers who prefer sharing curated, polished designs.

Please help them.

In open source, often they who have commit rights and code have the final say.

#5

no ace in the hole

Designers don't have this. You need to visibly and publicly support their work in your community to help balance this out.

Please remember as in any cultural differences in opinion involving open source...

#6

shared vision

We have an authentic shared vision we passionately believe in: improve the world with open source technology, making software freedom accessible to all.

The open source vision is compelling and inspiring to designers.

WHERE WILL THE DESIGNERS COME FROM?

UX designer

open source
contributor

UX designer

open source
contributor

TRAINING

DESIGN BOUNTIES

OPEN SOURCE DESIGN COMMUNITY

http://opensourcedesign.net/

Job Board & Forum

INTERNSHIPS

Outreachy

University Partnerships

Your Company?

GREATER
GOOD

PROFIT

>

REMEMBER...

Let's help people solve problems without becoming a product themselves, Using Open Source.

Thank you.