-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Follow an official Human Interface Guideline HIG #1050
Comments
Do you have some concrete examples that could be changed to follow such guidelines? |
I don't read the whole guidelines but this is some changes :
Visual changes :
All this exemples are inspiring from Gnome and Apple guidelines. All this changes has interests for users. Its not just stupid rules and Vorta will look like native app. |
Those are all good points and even without reading the guidelines I see how they are good for consistency. How about starting small and going larger over time:
I prefer smaller changes because they are easy to review, revert and smaller tasks can be done by new contributors as well. We also have many translations attached to our text strings. If you change one, they all need to review their translations. |
I do agree. We cant do that in just one PR, it will break every translation.
I can do small changes but I cannot reformulate too long sentences since I'm not english native :( . But I speek fluent the DeepL translate hhh
Why ? #1008 just changes the interface, not the text. |
True. Then just add it to the list as part of the interface work, so it's in context. No need to wait for text changes. |
Fine, I added a list in my first comment. I think we can add the label "Good first issue". |
I also started a documentation about design UI vorta. It's just a compilation of non obvious ideas from several guidelines. Sometimes, I take some liberties but you can give your opinion if you don't agree. If a commit change the UI, it's good to check this. |
I think this can be ticked since the text uses the html |
This is how KDE implements gradient buttons in Qt: In the example with the language list view they use an |
The KDE HIG states regarding checkbox labels:
This is not the case here (for example): vorta/src/vorta/assets/UI/scheduletab.ui Line 364 in 23c4767
|
This is not the case in Scheduletab>shell commands. |
May I ask/add why there is no (as common) context menu for the "Source" and the "Archives" tables? Source has buttons on the right, which is still easy to understand. However, in archives, you get some buttons below, and even this is split in a drop-down menu "Selected Archive" and three separate buttons. This is particular difficult to get if you use displays in portrait orientation and a tiling window manager, as those buttons are really down at the bottom of an otherwise almost empty list. ;) I also believe that the sub-menus are easier to get, if they would be located in a left-side window-pane as tree-view, as it can be found in many programs when it comes to configuration and settings. |
The KDE HIG states:
So context menus should definitely be added to vorta's item views. |
Are there accessible versions of any of the linked guidelines pages? All 3 have very wide non-scrolling sidebars, so all 3 trigger migraines. |
I guess not. |
EDIT: After some discussions (see bellow), this is a non complete list of tasks to do. It is inspired from official design guidelines. There is a short design guideline below for vorta. It is also inspired from Gnome, Apple and KDE design guidelines:
https://develop.kde.org/hig/introduction/
https://developer.gnome.org/hig/stable/principles.html
https://developer.apple.com/design/human-interface-guidelines/macos/app-architecture/onboarding/
You can read one of them (or all), Gnome guideline is very well done.
Feel free to do one of these tasks :
This is some rules to follow from official guidelines of Aqua (Apple), Gnome and KDE.
Philosophy
Gnome, Aqua and KDE are probably the most famous desktop environments in the Unix World.
The guidelines from Gnome, Apple and KDE have different philosophies. Gnome philosophy is to keep the UI as simple as possible : "Resist the pull to try and make an app that suits all people in all situations. Focus on one situation, one type of experience.[...] Respect people’s time and attention. Don’t interrupt or distract them unnecessarily." . I like this philosophy to not distract the user for example with useless and slow animations like in the well-known Material Design. And I do agree with the fact that we can't make our app suits all people in all situations. That's why Vorta will never be as flexible as Borg.
But, simplicity is not always a good way. The KDE UI design slogan is "Simple by default, powerful when needed." For KDE, it's important to "Provide sensible defaults but consider optional functionality and customization options that don't interfere with the primary task.". We want to keep Vorta simple for 90% of users but powerful for the 10% advanced users. Hiding the advanced settings is a good way to achieve this.
Writing Text
A text (label, help...) must be as short as possible. Think that some translations will expand your text by 30-50%. You should be short but clear. If you cannot be clear in a label, find another solution (a help button for example).
Do not use contraction like "Don't" or "Can't". One reason is that contraction really optimize the length of a text in english. But in other language it is not possible to do this optimization ("Can't delete..." -> "Impossible de supprimer...").
Sentences should not be constructed from text in several controls. Sentences that run from one control to another will often not make sense when translated into other languages. For example, "No matter what, keep all archives of the last 10 hours" should be translate by "Quoi qu'il arrive, garder les archives des 10 dernières heures" but it is impossible since "10" is in control fix widget.
Sentence and header capitalization rules
Sentence and header capitalization rule must be consider each time you write some text.
Sentence capitalization rule : Cannot add this profile, Open main window on startup...
Header capitalization rule : Remove Profile , Add a File, Allowed Networks...
Don't add a dot at the end.
You must use header capitalization rule for short text (less than 4 words).
You must use sentence capitalization rule for sentence (only one sentence, less than 10 words).
In Label
Text in tooltip must be short (not more than 5 or 6 words for tooltips and 3 words for label). Follow the header capitalization rule.
For example, "Remove a File" and not "Remove a file."
Never put a sentence in a label.
In Tooltip
Follow the header capitalization rule if the tooltip contains less than 4 words and sentence capitalization rule either.
A tooltip must be short and contains at most one sentence.
In checkbox
//Not sure about this.//
For sentences, follow the sentence capitalization rule. For example : "Automatically start Vorta at login" . We don't add a dot at the end. Only add a dot for "real text".
Typography
Apple typo is not the same that KDE. Keep the default one in qt designer : https://develop.kde.org/hig/style/typography/
Body : 10
Header 4: 11px
Header 3: 12px
Header 2: 13px
Unless you have a good reason, you don't need header 2.
Colon
KDE and Apple use colon both. A colon must be stuck to the previous word. "Label: " and not "Label : "
Use colon before a control widget. "Profile Name: [QLineEdit]".
If a tab contains a lot of checkboxes, you can add a label.
For example :
System:
Backup:
Note :
On Apple, it's not the real way to aggregate checkboxes. I did a mix between Gnome and Apple design.
Notice that font Label is ten too. 'Backup' and 'System' are in Bold.
Three dot vs ellipsis
To quote the HIG of KDE :
In python this is how you can use ellipsis:
Look and Feel
Edit a view
To add an item to a view, use a gradient button : Gradient buttons . Since qt doesn't have built-in gradient button (AFAIK), it's difficult to do so. I will try to implement this and document here.
Icons
For Icons, we use Fontawaesome. Notice that icons are simple and flat.
When use an icon ?
For Control widget (buttons, tabs...). But don't use icons for difficult notions such as Archives. Some icons are familiar to the user (folder, file, paste, copy...).
Don't use icon and text in the same control widget but there are some exceptions (sidebar, tab views...).
Spatial organization
According your need, you can use space or sub-space :
Spaces : 12
Sub-spaces : 9
For example, you must use a space (12) between the left side tabs (Repository, Source, Schedule, Archives) and what they contain (on the right).
Widgets
Tabs
Tab is used to navigate between views. The title of a tab must be short and clear and follow the header capitalization rule.
Write "Clock" and do not write "clock".
Write "Prunes" and do not write "Prunes and Archive Name". It's too long.
A tab view contains between 2 and 6 tabs. If you want to add more tabs, find another solutions.
Text
If label or tooltips are not enough, you can use a full text area. But you must also be clear and brief. If you want to add more informations, you can add link to Vorta or Borg site. Don't abuse link since a link can be dead.
Hello,
I started to read some guidelines and docs from official design guidelines 💪 . In my opinion, vorta UI lacked consistency and didn't look modern but I couldn't say why. So after some researches, I discovered Flat and Material design. Flat design is everywhere but I didn't realize and because I have always seen this theme (I'm rather 'young' 😅 ), vorta UI interface seems really old to me.
Consistency is another notion and design guidelines are very helpful for that. If we want to make an interface that looks native, user should find the elements in the same place and in the same way. For example, vorta doesnt follow everytime the header capitalization ( Gnome , Apple ). "One folder or file per line" should be "One Folder or File per Line" or "Can't delete the last profile." should be "Can't Delete the Last Profile".
Since vorta users come from Apple, Gnome or KDE, it's more complicated. But lets be honest, all UI interfaces and guidelines converge towards the same ideas 😝 and looks the same !
So, my proposition is to follow KDE, Gnome and/or Apple guidelines as guide and to follow flat design. Note that Apple, Gnome and KDE have officially chosen the flat design ( see Whats new in macOS11 and compare macOS10 and 11 to be convinced) .
This is the three guidelines ❤️ :
https://develop.kde.org/hig/introduction/
https://developer.gnome.org/hig/stable/principles.html
https://developer.apple.com/design/human-interface-guidelines/macos/app-architecture/onboarding/
There are many common points between these guidelines.
Thanks for reading 🥰
The text was updated successfully, but these errors were encountered: