Get Involved/design: Difference between revisions

From KDE Community Wiki
(Move "Current projects" to lower in the page)
(Remove component library and nudge people towards low fidelity mockups and wireframes instead)
 
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[File:Mascot konqi-app-graphics.png|frameless|right|200px|]]
[[File:Mascot konqi-app-graphics.png|frameless|right|200px|]]
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 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.  
Line 6: Line 7:
The VDG created and maintains the [https://develop.kde.org/hig KDE Human Interface Guidelines] and the [[Get_Involved/design/Breeze | Breeze theme]] used throughout KDE Plasma and applications.
The VDG created and maintains the [https://develop.kde.org/hig KDE Human Interface Guidelines] and the [[Get_Involved/design/Breeze | Breeze theme]] used throughout KDE Plasma and applications.


== Getting started ==
== Getting Started ==
'''Learn, then do.'''
==='''Learn first, then do!'''===


It's important to get a feel for the group's social conventions and workflow before contributing. First, read through [[Get Involved/Design/Lessons Learned]]. This page explains often-talked design ideas and how the VDG understands them, so we don't end up re-discussing the same things over and over again.
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.


Then, understand that the KDE VDG very much designs in an incremental way. We try to avoid huge redesigns as they tend to introduce as many issues as they fix, on top of the effort required to implement them. At the moment our focus is on polishing and refining what we have, and redesigning only as a last resort when the existing design is unsalvageably bad. These cases exist, but are rare/
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.


Finally, join the real-time chatroom, accessed using [https://app.element.io/#/room/#visualdesigngroup:kde.org Matrix] or [https://t.me/vdgmainroom Telegram] (your choice, but Matrix is preferred). Lurk for a while and see how things work before proposing new work.
Join the real-time chatroom, accessed using [https://go.kde.org/matrix/#/#visualdesigngroup:kde.org Matrix].
<gallery>
MatrixLogo.jpg|Matrix|link=https://go.kde.org/matrix/#/#visualdesigngroup:kde.org
</gallery>


== Communication and Workflow ==
== Communication and Workflow ==
{{Note|VDG task and project-tracking was done on [https://phabricator.kde.org/tag/vdg/ Phabricator] in the past, but is now moving to GitLab. [https://invent.kde.org/teams/vdg/issues/-/issues/new Click here to start a new discussion on GitLab].}}
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 [https://invent.kde.org/teams/vdg/issues/-/issues 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.


Most VDG discussions start out informally in the real-time chatroom mentioned earlier. Once there is general agreement in the real-time chat, the discussion moves to a GitLab task. Our goal is to open the discussion to include developers, and make the proposal more concrete using images and mockups.
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!
 
Make sure to tag all the relevant participants in a [https://invent.kde.org/teams/vdg/issues/-/issues GitLab issue] discussion. Summarize the discussion and initial VDG conclusion when writing the task's initial description. Include before/after images of the proposed change. Explain the benefits for the user and possible red flags.
 
In the GitLab task, it's common for details and scope to change based on developer feedback. This is normal! Developers may have a better idea of what is technically possible or reasonable to change given our constraints. Listen to developer feedback and change your design accordingly. At the same time, encourage them to listen to your expertise, and provide good evidence of your decisions as varying views will challenge your proposal.


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


It can also be helpful to subscribe to the [https://mail.kde.org/mailman/listinfo/visual-design 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.
Subscribe to the [https://mail.kde.org/mailman/listinfo/visual-design 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 ==
== Current Projects ==
Our default "Breeze" visual style is undergoing many changes as part of the [https://phabricator.kde.org/T10891 "Breeze Evolution" project]. If you would like to submit mockups for our consideration, use the new [https://www.figma.com/file/gjuIy1rxU9xHkaJXM0pasK/ocean-v3?node-id=1336%3A7194 New Figmt-based Breeze SVG Kit] have the most updated graphics for your mockups. This helps our developers visualize your design ideas better.
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:
Beyond that, here are some timeless ways to get involved in ongoing work:
* Learn how to design Breeze icons by reading [https://develop.kde.org/hig/style/icons/ the applicable HIG page], and then work on [https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&component=Icons&list_id=1536878&product=Breeze&query_format=advanced Breeze icon bugs]. Here's [[Guidelines and HOWTOs/Submit an icon | how to submit an icon]].
* Learn how to design Breeze icons by reading [https://develop.kde.org/hig/style/icons/ the applicable HIG page], and then work on [https://bugs.kde.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&component=Icons&list_id=1536878&product=Breeze&query_format=advanced Breeze icon bugs]. Here's [[Guidelines and HOWTOs/Submit an icon | how to submit an icon]].
* Submit patches (using [https://invent.kde.org/websites/hig-kde-org/merge_requests GitLab]) for corrections and improvements to the [https://develop.kde.org/hig/ Human Interface Guidelines]
* Submit patches (using [https://invent.kde.org/documentation/hig-kde-org/merge_requests GitLab]) for corrections and improvements to the [https://develop.kde.org/hig/ Human Interface Guidelines]


== Know Yourself ==
== Know Yourself ==
Line 41: Line 44:
* If you want to learn more about human-computer interaction, offer to help in testing interactions and providing feedback.
* If you want to learn more about human-computer interaction, offer to help in testing interactions and providing feedback.


== VDG-related HowTos ==
== See also ==
* [[Get Involved/Design/Frequently Discussed Topics|Frequently Discussed Topics]]
* [[Guidelines and HOWTOs/Change_the_default_wallpaper|How to change the default wallpaper]]
* [[Guidelines and HOWTOs/Change_the_default_wallpaper|How to change the default wallpaper]]
* [[Guidelines and HOWTOs/Submit an icon|How to submit changes to an icon or submit a new icon]]
* [[Guidelines and HOWTOs/Submit an icon|How to submit changes to an icon or submit a new icon]]
* [[Guidelines and HOWTOs/Icon Workflow Tips|Icon workflow tips]]
* [[Guidelines and HOWTOs/Icon Workflow Tips|Icon workflow tips]]
 
* [[KDE Visual Design Group/Archive|Archive of outdated documents that may still be useful for historical reference]]
== Old Things ==
* [[KDE Visual Design Group/Archive|Archive of outdated documents that may still be useful for reference]]

Latest revision as of 07:52, 21 August 2024

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