Get Involved/design

From KDE Community Wiki
Revision as of 07:52, 21 August 2024 by Mdelafuente (talk | contribs) (Remove component library and nudge people towards low fidelity mockups and wireframes instead)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The Visual Design Group is a team dedicated to bettering the entire user experience of KDE software, including human interface design, graphical design, user interface design and interaction design. The aim is to help KDE create software that is both beautiful and a pleasure to use.

The VDG welcomes people with skills in art, visual design, and human-computer interaction--or even just an interest in elegant design! If you have good ideas about how software should look and behave, you are a designer too, and we'd love for you to join in. Our group regularly interfaces with users, developers, and the Promo Team.

The VDG created and maintains the KDE Human Interface Guidelines and the Breeze theme used throughout KDE Plasma and applications.

Getting Started

Learn first, then do!

Before contributing, it's essential to familiarize yourself with the group's social conventions and workflow. Start by reading through Get Involved/Design/Frequently Discussed Topics, which explains commonly discussed design ideas and the VDG's understanding, avoiding repetitive discussions.

Keep in mind that the KDE VDG prefers incremental design changes over major redesigns. Large overhauls often introduce new issues and require significant effort to implement. Currently, our focus is on refining and polishing existing designs, reserving complete redesigns for rare cases when the existing design is beyond salvage.

Join the real-time chatroom, accessed using Matrix.

Communication and Workflow

In the VDG, discussions typically begin in an informal and friendly atmosphere within the real-time chatroom mentioned earlier. Once a general consensus is reached in the chat, the conversation transitions to a GitLab GitLab issue, where developers become involved. When writing the task's initial description, summarize the discussion and initial VDG conclusion from the chatroom, and make sure to tag all the relevant participants. Include before/after images or mockups of the proposed change. Explain the benefits for the user and possible red flags.

In the GitLab task, expect details and scope to evolve based on valuable developer feedback. Embrace this natural process, as developers bring technical insights and constraints into play. Be open to adapting your design accordingly while also encouraging them to consider your expertise. Present solid evidence to support your decisions, as diverse perspectives will help refine your proposal. Collaboration leads to the best outcomes!

Once there's general agreement in the GitLab task, work should begin and folks can start submitting patches!

Subscribe to the VDG mailing list to keep abreast of general information relevant to all VDG contributors. This is a very low-traffic mailing list so you will not be spammed with nonsense.

Current Projects

Our current visual style (Breeze) is constantly improving based on user and designer feedback. Because it's an inherently moving target (and the implementation that really matters is the one that's shipping to users rather than the ones in design toolkits), we recommend using wireframes or low-fidelity mockups in general. This way everyone can focus on UX changes rather than the differences between current components and the (inevitably different) implementation in your design tool. We recommend trying to reuse existing UX patterns from both Breeze and other systems users are already familiar with (like Material Design, Apple's HIG, etc) if applicable.

We're also planning on incorporating Penpot for VDG workflows – expect to have a reasonably complete component library and other VDG-specific plugins later this year.

Beyond that, here are some timeless ways to get involved in ongoing work:

Know Yourself

In a highly technical field like programming, it's easy to encounter the limits of your expertise. This is more difficult in subjective fields like art and design, and it's very important to have a firm grasp of what you can do. For example:

  • If you know you're not very artistically skilled, listen attentively to developers and experienced designers on what we look for.
  • Request honest feedback for your design proposals regarding what could be improved rather than blindly pushing on them.
  • If you want to learn more about human-computer interaction, offer to help in testing interactions and providing feedback.

See also