Skip to content

DRAFT: New KDE HIG

Nate Graham requested to merge work/ngraham/new-hig into master

This is a new HIG that I've written to fix teams/vdg/issues#10. While reviewing, please keep in mind the design goals.

Design goals

  • Be brief and only include actionable information; no filler text or endless philosophizing.
  • Be more prescriptive than descriptive, because descriptiveness is impossible when the things being described are themselves currently inconsistent. Instead, make recommendations based on KDE's philosophy and most successful designs.
  • Focus on QtQuick for specific code/component recommendations.
  • ...But rather than offer details about how to implement every component under the sun, let their API documentation, default settings, and existing implementations do the explaining.
  • Primary audience is app developers, not Plasma developers or VDG icon designers. Plasma's core UI is different from that of an app, and a more focused HIG for it can be done later if needed.
  • Don't focus on visual styling, as the default style itself should be the source of truth for this, and our styling is also in some flux right now. Details about styling for custom components and icons can be added later.

Action requested from reviewers

Go to the Changes tab and provide feedback on the structure and textual content. Inline if it's about a specific line, otherwise in a general comment here. Too much/too little? Anything unnecessary I can further cut? Anything really important that's missing?

If you see a FIXME or TODO comment that's asking for help, help me with it. :)

For easier reading, run a local hugo server as per the docs: https://invent.kde.org/documentation/develop-kde-org/-/blob/master/README.md#running-the-website-locally

Documentation issues that need to be fixed before merging:

  • Kirigami.Heading API link is broken
  • Kirigami.SearchField API docs are missing
  • Kirigami.ContextualHelpButton API docs are missing
  • KWidgetsAddons::KContextualHelpButton API docs are missing

External changes desired soon

In the process of writing this text, I found some omissions and issues that I think really need to be addressed soon. Without these Framework APIs exposed to QML, it's harder than it needs to be to make a first-class QtQuick app without reinventing the wheel:

Closes teams/vdg/issues#10

Closes #158

@teams/vdg @teams/usability

Edited by Nate Graham

Merge request reports