Commit f727bcf2 authored by Fabian Riethmayer's avatar Fabian Riethmayer

Moved 'Common Components' from convergence to architecture

Summary:
Moved 'Common Components' from convergence to architecture and addd an example for mobile 'Common
Components'

Reviewers: ngraham, colomar, Arucard

Reviewed By: ngraham

Tags: #kde_human_interface_guidelines

Differential Revision: https://phabricator.kde.org/D16369
parent b6dad5d9
Architecture
============
There are three different UI toolkits you can use to development for `KDE Application <https://www.kde.org/applications/>`_ or the `Plasma Workspace <https://www.kde.org/plasma-desktop.php>`_ (Due to technical limitations, the toolkits have slight visual differences, but the recommended interaction patterns to be used are consistent regardless of the toolkit).
There are three different UI toolkits you can use to development for `KDE
Application <https://www.kde.org/applications/>`_ or the `Plasma Workspace
<https://www.kde.org/plasma-desktop.php>`_ (Due to technical limitations, the
toolkits have slight visual differences, but the recommended interaction
patterns to be used are consistent regardless of the toolkit).
KDE Applications
----------------
......@@ -10,7 +14,12 @@ There are two UI toolkits that can be used to develop KDE Applications:
* `Kirigami <https://www.kde.org/products/kirigami/>`_
* `Qt Widgets <http://doc.qt.io/qt-5/qtwidgets-index.html>`_
Kirigami is KDE’s lightweight user interface framework for mobile and convergent applications. It allows Qt developers to easily create applications that run on most major mobile and desktop platforms without modification (though adapted user interfaces for different form-factors are supported and recommended for optimal user experience). It extends the touch-friendly Qt Quick Controls with larger application building blocks.
Kirigami is KDE’s lightweight user interface framework for mobile and
convergent applications. It allows Qt developers to easily create applications
that run on most major mobile and desktop platforms without modification (though
adapted user interfaces for different form-factors are supported and recommended
for optimal user experience). It extends the touch-friendly Qt Quick Controls
with larger application building blocks.
Use Qt Widgets only if you plan to develop a desktop-only application with a complex UI, like KDevelop.
......@@ -30,6 +39,56 @@ Plasma is built on widgets, allowing you to move, mix, add, and remove just abou
Plasma desktop and mobile workspace.
Common Components
-----------------
The KDE HIG defines a set of common components which are independent of any
:doc:`device type <devicetypes>`.
.. figure:: /img/Desktop_UX.png
:scale: 25%
:alt: Example showing the common components on a Desktop device type
- **Workspace**: The top-level container of the whole user interface. Often
called "desktop", "home screen", or "shell", it shows the wallpaper and
allows users to add widgets, app launchers, files or folders.
- **Application Launcher**: Provides an overview of installed applications and
allows the user to launch one of them.
- **Application Shortcuts**: Provides quick access to frequently-used
applications.
- **Active Application Overview**: Provides an overview of the active
applications that are directly used by the user.
- **Workspace Tools**: Provides quick access to functionality integrated
into the workspace that's both highly visible to the user and frequently
changed, like enabling/disabling WiFi and Bluetooth, or whether or not to
show notifications.
- **Application-Workspace Interaction**: Displays information about each
application's windows, and provides ways to move or close them and change how
they run within the workspace.
- **Application**: The top-level container of a single application.
- **Application Tools**: Provides access to an application's commonly-used
functionality in an always-accessible toolbar or menubar. These tools should
not change depending on what the application is displaying.
- **Application Content**: The actual content of an application. This depends
on the application itself, but conformance to the KDE HIG should make it
easier to allow :doc:`convergence <convergence>` for this component. This
part of the application can also contain contextually-appropriate tools
that operate directly on the active or selected content.
.. figure:: /img/Mobile-UX.png
:scale: 50%
:alt: Example showing the common components on a Mobile device type
Theme
-----
There are three different kinds of themes influencing the the look-and-feel of KDE applications and the Plasma workspace.
......
......@@ -12,58 +12,13 @@ Device Types
------------
The KDE HIG defines an optimal user experience for each device type, as
described in :doc:`devicetypes`.
Common Components
-----------------
described in :doc:`device type <devicetypes>`.
Convergence requires an understanding of the commonalities in the user
interface. To that end, the KDE HIG defines a set of common components which
are independent of any device type. Convergence can then be implemented by
providing variations of these common UI components which correspond with the
optimal user experience for each device's usage model.
- **Workspace**: The top-level container of the whole user interface. Often
called "desktop", "home screen", or "shell", it shows the wallpaper and
allows users to add widgets, app launchers, files or folders.
- **Application Launcher**: Provides an overview of installed applications and
allows the user to launch one of them.
- **Application Shortcuts**: Provides quick access to frequently-used
applications.
- **Active Application Overview**: Provides an overview of the active
applications that are directly used by the user.
- **Workspace Tools**: Provides quick access to functionality integrated
into the workspace that's both highly visible to the user and frequently
changed, like enabling/disabling WiFi and Bluetooth, or whether or not to
show notifications.
- **Application-Workspace Interaction**: Displays information about each
application's windows, and provides ways to move or close them and change how
they run within the workspace.
- **Application**: The top-level container of a single application.
- **Application Tools**: Provides access to an application's commonly-used
functionality in an always-accessible toolbar or menubar. These tools should
not change depending on what the application is displaying.
- **Application Content**: The actual content of an application. This depends
on the application itself, but conformance to the KDE HIG should make it
easier to allow convergence for this component. This part of the application
can also contain contextually-appropriate tools that operate directly on the
active or selected content.
These common components may become a bit more clear with a visual example:
interface. Convergence can then be implemented by providing variations of
:doc:`the common UI components <architecture>` which correspond with the optimal
user experience for each device's usage model.
.. figure:: /img/Desktop_UX.png
:scale: 25%
:alt: Example showing the common components on a Desktop device type
Making convergent applications
------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment