Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mixing User Experience with Open Source

Erin Jo Richey
February 18, 2015

Mixing User Experience with Open Source

My talk on ux and open source for the Bay Area UXPA.

Erin Jo Richey

February 18, 2015

More Decks by Erin Jo Richey

Other Decks in Design


  1. What is open source software? It is software that can

    be modified because its source code and essential blueprint is publicly accessible.
  2. Who are the people in open source projects? They are

    the owner, the maintainers/collaborators, the contributors, the community members, and the users.
  3. How does contributing to open source work? For many projects,

    being a “contributor” consists of making a change to code, submitting a pull request, and having that change merged back into the main code base.
  4. How does contributing to open source work? This isn’t usually

    a common task for people whose work focuses on usability and user experience.
  5. Why do UX people like participating in open source? …they

    get to develop a relationship with the users
  6. Why do UX people like participating in open source? …it

    can feel more freeing then a typical job
  7. Why don’t UX people participate more often in open source?

    it’s hard to know where to get started…
  8. Why don’t UX people participate more often in open source?

    there are fewer incentives to stick with it if you don’t or can’t use the tool or platform…
  9. Why don’t UX people participate more often in open source?

    not all communities feel welcoming to beginners or non-developers…
  10. Why don’t UX people participate more often in open source?

    in a lot of projects, it can feel like design is decorating the cake - it’s a touch up job for code that already exists…
  11. Developers have certain methods, tools, and workflows that aren’t always

    familiar to designers. ! This can be challenging, confusing, and create obstacles. !
  12. The following story was left as a blog comment… “Open

    source needs designers”! http://benwerd.com/2011/06/27/open-source-needs-designers/
  13. Developer: Hi Designer! We’re really glad you decided to join

    our project. We could really use a great UI because we suck at design.
  14. Designer: Thanks! I’m looking forward to helping out. I have

    some really great ideas for the project.
  15. Developer: That’s awesome Designer. I’ve got you an svn account

    setup. ! fred/23rSD@#$SDRsdfEasd5323. ! Go ahead and check out the source.
  16. Designer: When I go to that url, I don’t see

    anything. Safari just gives me a message saying it can’t open that url or something.
  17. Developer: Haha! You’re not supposed to ‘check out’ the source

    as in ‘view’, you’re supposed to run that command from the command line. svn co svn://open-source-project-x.com/svn/trunk
  18. Designer: Man, I’m just having bad luck or something. When

    I type that command in I get the message: ! - bash: svn: command not found
  19. Designer: Ok, I’ve managed to get Darwin ports installed and

    I’ve checked out the source. Finally!
  20. Designer: Developer, you know I think we should really change

    the way feature-x is implemented. It’s just not that intuitive. From a user’s perspective, we should probably implement it like… ! (insert well-founded design decision)
  21. Developer: Hmm… ! I don’t know. I think it’s fine

    the way it is. Besides, it would take forever to implement it the way you think it should be. We’d have to change too much stuff.
  22. Designers may also have a way of working that is

    unfamiliar to developers or out of sync with how they are working.
  23. “You’ve come into our front room, and, while we were

    making a cup of tea, you moved all the furniture around. Not only that, but you redecorated, changed the carpet, and removed all of our belongings.” View from a developer: “Design in Open Source”! http://www.markboulton.co.uk/journal/design-in-open-source
  24. We need people from both design and development who are

    comfortable closely collaborating.
  25. Tonight, I can help you feel a bit more knowledgeable

    and empowered to participate in open source.
  26. Step 1 - Find a project that interests you. Do

    you use it? Do you feel passionate about it? Do you want to dedicate time to it?
  27. Step 2 - Introduce yourself to the community Email or

    message the project maintainers or project lead. Introduce yourself and your skill set. Ask if there are areas where you can help. Follow along with the community (on IRC, mailing lists, issue lists, forums, etc).
  28. Step 3 - Choose a tangible first problem. Start with

    small, actionable things. Don’t just point out problems, pick out important issues and offer suggestions for fixing the problem. Your contributions will be easier to put in place if the problem, solution, and benefit is clear and easy to enact.
  29. Step 4 - Communicate your solution well. Communicate your solution

    clearly. Document your findings and suggestions. Focus on effective communication, not overwhelming communication. Screenshots with descriptions or videos with explanations can help convey the message.
  30. Step 5 - Share your solution with the community. Point

    out your solution to the project maintainers or contributor community. You can leave an issue, email the maintainers directly, or send a message to the community mailing list. You can also blog about it and point people at your post.
  31. Step 6 - Get feedback from the leaders. After sharing,

    follow up with the core team or project leaders. Ask if your solution is hard to implement or isn’t a priority. Remember: They may have other priorities or interests. Your solution might not fit their roadmap.
  32. Tips for choosing a project to contribute to. Look for

    something that other people have contributed to.
  33. Tips for choosing a project to contribute to. Look for

    something that is actively being worked on.
  34. Tips for choosing a project to contribute to. You might

    have luck with a newer or smaller project on Github or an older project that is going through a resurgence.
  35. Tips for choosing a project to contribute to. Look for

    a community. This could be on Github, in a forum, on a mailing list, on IRC, or elsewhere.
  36. Tips for choosing a project to contribute to. Check for

    a readme.md file and some instructions for getting started.
  37. Tips for choosing a project to contribute to. Check for

    a wish list or a page that addresses “how to contribute.”
  38. Places to find projects. github.com - a network and repository

    for code sourceforge.net - a directory or open source projects alternativeto.net - compares software and suggests alternatives openhub.net - a network of open source projects openhatch.org - matches first time contributors with projects
  39. Good projects for UX people to start with. ThinkUp -

    known for being friendly to beginners in open source https://www.thinkup.com/docs/contribute/ OwnCloud - has specific guidelines for design, usability, ux https:// owncloud.org/contribute/design/ Drupal - big project that carries out usability testing and has resources around user experience https://www.drupal.org/ community-initiatives/drupal-core/usability Known - we’ve been making our user research materials open to help bring about more user testing and usability https://github.com/idno/User-Research
  40. Areas where you can contribute beyond development. If you speak

    more than one language, translate copy or documentation to another language.
  41. Areas where you can contribute beyond development. Contribute wireframes or

    user flows around specific areas that are being updated or are in development.
  42. Areas where you can contribute beyond development. Is it responsive?

    Does it have apps? Provide feedback from different devices.
  43. IRC (internet relay chat)! Many discussions within open source communities

    take place on IRC. Check out Colloquy or IRCCloud as apps to get started. ! http://colloquy.info/ - Colloquy http://www.irccloud.com - IRCCloud ! Tools to get started
  44. Github! Lots of modern projects post their code on Github.

    This is often where you can download files, find resources, and initiate pull requests. ! Create an account and get familiar with the website and apps. ! http://github.com Tools to get started
  45. Pull requests! Pull requests are the standard way that people

    “contribute” code to open source projects. ! ! ! ! http://pullup.io/- initiate your first pull request http://www.thinkful.com/learn/github-pull-request-tutorial/ - learn about pull requests ! Tools to get started
  46. How you can contribute to Known #knownchat - chat with

    the community on IRC ! withknown.com/developers - for open source information ! https://github.com/idno - check out our repositories on Github ! [email protected] - email Ben and I with your interests ! https://groups.google.com/forum/#!forum/known-dev - join our community mailing list !
  47. How you can contribute to Known writing - help us

    write documentation, faqs, and guides ! usability - help us test user flows, new features, and devices ! language - help us translate the platform into other languages ! HTML & CSS - contribute a new theme or clean up existing styles ! UI - help us compile a pattern library for common interface elements ! accessibility - help us test with assistive devices and pinpoint issues
  48. Articles and info on UX and open source… jancborchardt.net/usability-in-free-software -

    Usability in Free Software ! opensourcedesign.net - Resources for designers working on open source projects ! www.markboulton.co.uk/journal/design-in-open-source - Design in Open Source ! disambiguity.com/contemplating-open-source-ux/ - Contemplating Open Source UX ! medium.com/words-about-design/designing-open-source-e3adc220cfa7 - Designing Open Source