Chapter 12

Final Project

Now that we've covered all the key aspects of contributing to open source projects as a designer, it's time to put your skills into practice. This final project will guide you through making a significant design contribution to an open source project of your choice.

Step 1: Choosing a Project

First, you need to find a project to contribute to. Here's how to go about it:

  1. Reflect on your interests: What kind of software do you care about? It could be anything from a text editor to a game engine.
  2. Assess your skills: What type of design work do you feel most confident doing? UI design? Icon creation? User research?
  3. Look for opportunities: Visit GitHub, GitLab, or other open source platforms. Look for projects that interest you and seem to need design help.
  4. Check the project's openness to contributions: Look for a CONTRIBUTING.md file or similar documentation about how to get involved.
  5. Start small: For your first major contribution, it's often best to choose a medium-sized project rather than a huge one like Linux or Firefox.

Remember, it's okay to take your time with this step. Finding the right project is crucial for a good experience.

Step 2: Understanding the Project

Once you've chosen a project, dive in and learn about it:

  1. Install and use the software: Get familiar with it from a user's perspective.
  2. Read the documentation: Understand the project's goals, target users, and current state.
  3. Look at past contributions: See what kind of design work has been done before.
  4. Join the community: Introduce yourself on the project's chat, forum, or mailing list.
  5. Identify pain points: As you use the software, note any usability issues or areas for improvement.

Take notes during this process. Your observations will be valuable when you start designing.

Step 3: Proposing Your Contribution

Now that you understand the project, it's time to propose your design contribution:

  1. Choose your focus: Based on your skills and the project's needs, decide what you want to work on. It could be a redesign of a specific feature, a new set of icons, a usability study, or something else.
  2. Draft a proposal: Write up your idea, including:
    • The problem you're addressing
    • Your proposed solution
    • How it aligns with the project's goals
    • A rough timeline for the work
  3. Get feedback: Share your proposal with the community. Be open to suggestions and be prepared to revise your plans.
  4. Finalize your plan: Once you have community buy-in, refine your proposal into a concrete plan of action.

Remember, communication is key in open source. Keep the community updated as you work.

Step 4: Doing the Design Work

This is where you put all your skills into practice:

  1. Research: If needed, do user research to inform your design decisions.
  2. Sketch and ideate: Come up with multiple possible solutions to the problem.
  3. Create mockups or prototypes: Use the tools you're comfortable with to visualize your ideas.
  4. Apply project standards: Make sure your work fits with any existing style guides or design patterns.
  5. Document your process: Keep notes on your decisions and rationale.
  6. Seek feedback early and often: Share works-in-progress with the community and iterate based on feedback.

Remember to use version control (like Git) as you work, even for design files. This helps you track changes and collaborate more easily.

Step 5: Presenting Your Work

Once your design work is complete, it's time to present it to the project:

  1. Prepare your files: Make sure all your design files are well-organized and in appropriate formats.
  2. Write up your contribution: Explain your design decisions, how you addressed the original problem, and any technical considerations for implementation.
  3. Create a pull request or equivalent: Follow the project's process for submitting contributions.
  4. Be responsive: Answer questions and be open to making revisions based on community feedback.
  5. Help with implementation: If possible, assist the developers in implementing your design.

Your presentation should be clear, professional, and show how your work benefits the project.

Step 6: Reflection and Documentation

After your contribution is accepted (or even if it isn't), take time to reflect:

  1. Write a case study: Document the entire process from start to finish. This is great for your portfolio and helpful for other designers.
  2. Identify lessons learned: What went well? What would you do differently next time?
  3. Share your experience: Consider writing a blog post or giving a talk about what you learned.
  4. Plan your next steps: Will you continue contributing to this project? Move on to a new one?

This reflection process is crucial for your growth as an open source designer.

Project Timeline

Here's a suggested timeline for this project:

  • Weeks 1-2: Choose a project and understand it
  • Week 3: Propose your contribution
  • Weeks 4-6: Do the design work
  • Week 7: Present your work and handle feedback
  • Week 8: Reflection and documentation

Adjust this timeline as needed based on the scope of your chosen project and your other commitments.

Evaluation Criteria

Your project will be evaluated based on:

  1. Choice of project: Is it appropriate for your skills and the course goals?
  2. Understanding of the project: Did you grasp the project's needs and context?
  3. Quality of your design work: Does it solve a real problem effectively?
  4. Community interaction: How well did you communicate and handle feedback?
  5. Documentation: How well did you explain your process and decisions?
  6. Reflection: How thoughtfully did you analyze your own work and learning?

Remember, in open source, the process is often as important as the final product. Show your work, communicate clearly, and be a good community member.

Conclusion

This final project is your opportunity to apply everything you've learned about open source design. It might seem challenging, but remember that you have the skills and knowledge to make a real impact.

Don't be afraid to ask for help if you need it. Open source communities are often very supportive of new contributors who show enthusiasm and willingness to learn.

Good luck with your project! Your contribution, no matter how small it might seem, is valuable. You're not just building your skills and portfolio – you're helping make open source software better for users around the world.