General requirements for user interface

The last weeks a fair amount of requests for UI improvements have been made. Changes to the UI are probably the hardest part of software development, because this is very subjective. Right now, there are 414 registered users, I estimate there are about 410 opinions of how a good user interface should look like.

This made me think about how to meet the preferences of most users. A good approach could be to compile a list of general requirements for all upcoming UI changes.

Here’s my - subjective - list, in order of importance:

1. Clean look

For me, this should be priority #1. How the interface looks like, makes or breaks the complete program.
When I’m looking for a particular application, the first things I look for is a features list and the screenshots. If the screenshots don’t look nice, I probably search for another similar program.
So the most important goal for UI design should be: at first glance everyone should love it!
Some ways to accomplish this are:

  • positioning items. Try to arrange items nicely. Make use of available space, try to deal with limited space.
  • use large fonts and clean, minimalistic graphics. Don’t display more information than needed, but try to be clear what function is launched by clicking on an item.
  • Don’t use more colors than strictly needed.
2. Intuitive interface

Everything should be in the right place. Nothing is more frustrating than clicking every single link to find a specific function. If a major design change is made in a specific part of the UI, it should be implemented in all other parts. In other words: everything should work the same way everywhere.
A well-implemented improvement was the Restore item in the main menu. In older versions, this item was only for restoring directly from a destination. For restoring specific files from a backup that is made at the same host, you had to click “Restore files” under the backup name. This was quite confusing, because if you want to restore something, clicking “Restore” is the most obvious thing to do.

3. Functionality

The GUI should be able to handle at much as possible functions that are supported by the commandline tools. However, this should never be at the expense of 1. and 3. Adding as much as possible functions to the GUI without taking appearance and ease of use into account, will not improve the UI, but will cause confusion.
If adding a new part to the UI touches requirements 1. or 2., another way for adding the feature should be searched for.

4. Usability

Controlling the features that Duplicati offers, should be as easy as possible. If mouse clicks and/or opening submenus can be eliminated somehow, this should be done. But only if requirements 1, 2 and 3 are not violated.
The interface should be equally comfortable for all environments, including touch environments.

If a new feature or modification of the UI is requested, I suppose most users will see it as an improvement if all these 4 requirements are met.

Of course this is a very personal view to how improvements to the UI should be judged, so feel free to comment on my opinions!

Nice summary @kees-z - what makes 1 and 2 particularly difficult for Duplicati is the number of languages it supports as things that look good and align nicely in one language (let’s just say English) may look terrible in another one!

Compounding the multiple language issue is that the current UI seems to be implemented in a responsive way (which I feel is a good thing and should be kept wherever possible).

This is part of why in a few posts I have mentioned updates to the UI including more icons with tool-tips - the icons (if well chosen) won’t need re-alignment across languages and the tool-tips provide ample space to expand on the functionality of the icon. (Well, except in a touch environment where generally one doesn’t get a tool-tip…)

I know - we can just go for the jackpot and implement themes! :wink:

1 Like

If all text is aligned to the left, the UI looks just fine, regardless of the active language. This is how it is implemented in the current UI, which looks quite neat.

Honestly, I thought about that to add as requirement 5! :grin:
But first let’s see how far we can get with implementing a single theme that suffices for the majority of users…

Icons are fine, as long as they are well designed (preferably minimalistic) and there are not too much of them in a small area, which will confuse users and look quite Word-for-Windows-6.0-ish:


Backdraw of tooltips is that you only see them when your mouse pointer is on the icon. If they can be avoided, without loosing the clean look, it will improve the design. Usability in a touch environment is indeed something that has to be taken into account, thanks for the tip!

Yes, responsive UI is the best way to meet requirement 1 (Make use of available space, try to deal with limited space).

Awww, come on. I LOVE the pre-ribbon MS Office interface!!! (No, seriously - I understand functionally why they moved to the ribbon, but here we are years later and I still hate it.)

Besides, I was thinking more along the lines of a few icons for the most commonly used tasks (which for now we can only guess at until UI usage tracking is added?) with simple images like:

Edit: Now that I look at it, I think I prefer the circle-i “About” icon over the “Show Log” icon for bringing up the log for previous runs.