Tools
Here you can find a list of tools and resources that were either recommended by projects during their funding period or mentioned during coaching sessions and calls. The list is in no way complete - feel free to send your tips to the program managers and we will add them to the list!
For more tips and resources, see also our pages on tips from previously funded projects and "Where can I find...".
This list exists only in English as it doesn't make sense to translate a list ;)
Design/UI
For more resources on design and UI, see also the tips from previously funded projects on users & communication and our Knowledge Base.
Visual design
Color
- Color palette tools:
- popular color combinations on Coolors.co
- color combinations on colourlovers.com
- Color picker with HTML Hex codes: htmlcolorcodes.com
- Color Systems:
- Checking color contrast for accessibility:
Fonts
- on type design (podcast)
- Finding fonts
- velvetyne.fr "researching and disseminating typography and typeface creation."
- Font squirrel has a useful Open Font License filter option
Icons
- Finding icons
Branding
- Working with the community:
- An example of an OSS community doing a community led project regarding vision and mission.
- There's also an article on how Simple organised their open source brand design.
- A list of helpful (OSS) brand standards/guidelines:
Logo design
- A good example about how to write down your requirements.
- A worked example for a logo creation process.
Working with designers
Finding a designer
Redesign & preparations for working with designers
UI design
Tools
- Penpot is a FOSS-alternative for Figma, a UI design tool
Usability principles and rules-of-thumb
- "Intuitive" is often the same as "Familiar" – “how to make something can be used as something that is familiar to users” can usually be answered more productively than "how to make this intuitive"
- The book "Don’t make me think" (Steve Krug) is an excellent, short introduction.
- Icons are often harder to understand than lables
- Web form design:
- 10 rules for designing forms
- Filling in the blanks (book).
- Forms that Work: Designing Web Forms for Usability (book): https://www.amazon.de/dp/1558607102/
- The 1995 Machintosh Interface Guidelines do not help you to up-to-date interfaces, but contain a lot of useful principles.
User research & journeys
- Visualize user activities over time with user journey mapping
- Possible interview questions (1 page)
- A Beginner’s Guide to Finding User Needs (Book, ~100 pages).
- Empathy map: Start with an assumption for user group/s and see if the empathy map indicates that your idea is going to support their goals or resolve their problems.
Design systems and consolidation
- Organising files and design systems on Figma
- A big team of OSS designers working on a single OSS tool
- Community resource for designing/organising on Figma
- A talk from the Open Source Design track at FOSDEM 2022
- A list of design systems
Accessibility
- Notes from human rights centred design call
- Accessibility Lab
- Readablity: “Simple language doesn’t mean dumbing down – short, clear sentences are easier to understand for everyone.”
- “Writing content for everyone”, Blogpost
- W3C tips for getting started with web accessibility
- UK Home Office Accessibility Posters provide a quick overview for designing for people with different accessibility needs.
- Conferences:
Evaluation methods
On finding out if your ideas work. Very often this is done too late – with paper prototyping you can run a simple evaluation within a few hours, so do test early and often!
Prototyping
- Paper prototyping, a way to try ideas with users without needing to write any code. See paper prototyping on Wikipedia and an introductionary article on alistapart.
- Concept prototype: Testing your idea when it’s still at the conceptual stage: Keep it basic, keep it at the big picture level (so users won’t focus on the finer details, like the color, design etc), use an exisiting product that is similar to get the users talking.
Analytics
- Clean insights Privacy-preserving tracking of user actions
- Matomo.org, google analytics alternatives
Heuristic evaluation:
Using rules to spot usability problems in a usage scenario; ideally done by several people.
- 10 Usability Heuristics for User Interface Design the most common set of rules
- How to conduct a heuristic evaluation
Usability tests
In a usability test, potential users try to use an early version of your product to find potential problems that you need to fix. User testing is not meant to sell the idea to the users, it’s to gather data/feedback that supports you to continue product development, so use any resouces available as early as possible to communicate the idea.
- "How To Test Software For Usability And Usefulness When You Haven’t Finished Writing The Code"
- Before testing or having a software, maybe you want to document user context and processes.
- In general, it is better to do several smaller usability tests than a one or two big ones. Even small numbers of users can help to find problems. A classic article on this is "Why you only need to test with 5 users"
- You do not need an almost finished product to test (the earlier the better, actually): You can evaluate a single feature (see tracer bullet development), a mockup (see penpot or figma) or a paper prototype.
- Role play workshop content for learning how to do user testing. See also this article on wireframing.
- The book "Rocket surgery made easy" (Steve Krug) describes usability testing (and recruiting for- and communication of it).
- The System Usability Scale (SUS) provides a “quick and dirty”, reliable tool for measuring the usability (measuring sounds cool, but it only makes sense if you have something to compare it to, like a previous measurement!)
- A Dev's guide to Usertesting, made by Superbloom, has resources that can help OSS tool teams start to do user testing and usability testing in their OSS tool projects either with or without a designer helping out.
- User testing examples for the process and design documentation. Here is also an example video for a usability test.
- You can get free access to an otherwise expensive suite of user testing tools through UserTesting.com’s social impact program, OneWorld (Note for usertesting.com (and similar products): You won’t get a lot of people from marginalized communities e.g. because payment needs a bank account or credit card etc.).
- Thinking out loud - encourage users to think out loud to get their though process as opposed to their opinions.
Project management and planning
See also the tips from previously funded projects on managing teams and projects, on managing time and our Knowledge Base.
- Communication is key: People on the project should have a common understanding of what is going on and what support others need.
- Be aware that project management methods need to fit your needs and context: If you are a 3 person team, but the method demands a build engineer, a facilitator and some more roles, it might be good for a big company, but not for your prototype project!
General overviews
- Book: Ship It, Richardson/Gwaltney, 2005 – good overview with focus on software projects. Similar to Pragmatic Programmer it is written as a toolbox, so you can ignore or change what does not fit your needs.
Methods, tools and frameworks
- User Story Mapping is useful to plan which features to work on first. It can be useful alone, but it is particularly helpful for working in teams. There is also a book: User Story Mapping by Jeff Patton, 2014.
- Kanban is a relatively lightweight project management method. Think of it as a slightly expanded todo list.
- Stand-up-meetings usually happen daily: Meet with the team, everyone tells everyone else the answers to these 3 questions: What did I do since the last stand-up? What do I want to do today? What is blocking me? Keep these short. It is meant as a mutual short update. Don't go into discussions, note questions down and ask them after the stand-up.
Tools
- Wekan, Taiga and Kanboard are open source project management tools based on the idea of having virtual cards or sticky notes. If you already use an issue tracker or git hosting, a similar feature might be already implemented there.
- Whiteboards:
- Excalidraw is a FOSS-alternative for Miro
- tldraw is a FOSS-alternative for Miro
Writing maintainable code
This is not about writing code in a particular language, but about writing code that meets your user’s needs and which can be changed if needed. Like with project management, try to find methods that are helpful for your project.
For more resources on good documentation, see also our Knowledge Base.
- Tracer Bullet Development is a method to get a working version of your software quickly. This allows to evaluate code architecture and user interface early. The method is described on this website, and more in-depth in the books "The Pragmatic Programmer" and "Ship it".
- The Pragmatic Programmer (Thomas/Hunt, 2020) is a good general introduction to professional software development: Keeping code readable and easy-to-change, learning requirements, utilizing unit- and property tests, basics of securing applications. There is also a German translation ("Der pragmatische Programmierer").
- Weniger schlecht Programmieren (Passig/Jander) is similar to "Pragmatic Programmer", but focuses more on code and less on projects.
- Refactoring Guru has a lot of resources on common ways (patterns) of how to approach particular problems and how to improve existing code to make it easier to read and to change (refactoring).
- 12 Factor app is less about code than about running the code in a way that it can be easily and safely configured, ran and monitored. When you create your project based on modern frameworks (i.e. Laravel) it will often follow such principles.
- Command Line Interface Guidelines are an open-source guide to help you write better command-line programs.
Markdown & co
- Markdown table generator
- Pandoc converts various formats (like markdown, HTML, LaTex, docx,…) into each other. Great to build simple tool chains around documents.
Community and Communication
- Some people want just the basic infos, others are interested in more details.
- Writing/Communicating in an inverted pyramid-style helps: Give the most basic information first, put details in later sections that can be easily ignored if there is no strong interest in them
- The "Wheel of Successfuly Practice" gives an overview of practices that help to grow and maintain communities.
- Read up on Legitimate peripheral participation on Wikipedia and on Fordes to understand how newcomers can become part of the community.
- Check out the community success factors the Red Cross/Red Crescent identified in their communities.
Funding & sustainability
Sustainability
See also the tips from previously funded projects on building a sustainable project
- Sustain has various podcasts on sustainability in open source software, i.a. open source design, documentation or climate.
- Some resources around monetizing OSS:
- Various business model canvases:
- Circulab offers the Circular Canvas, a business model canvas.
- There is also a business model canvas by CASE.
- Another write-up on business model canvases for software.
- Martin Michlmayr wrote a primer on "Growing Open Source Projects with a Stable Foundation"
- Specifically the section “Umbrella organizations” explains what you get from a fiscal sponsor like OpenCollective
Funding
For more info on funding opportunities, check out our Knowledge Base and/or our "Wo finde ich" page :)
- On finding sponsors:
- amcasari has a guide to creating a sponsorship prospectus in order to attract and retain sponsors.
- How to attract corporate sponsors for funding OSS.
- On donations/donor acceptance policies:
- Tips on applying for grants to fund OSS by Sumana Harihareswara