What is the design philosophy behind Unity as opposed to other common desktop systems?

I would really be interested about the motivation behind design decisions in Gnome 3 and later and Unity.

I have basically been avoiding Gnome 3 and Unity since they came into existence for a few simple reasons, but apparently other do not care at all about these or even prefer the Gnome3 and Unity ways.
I have to admit, I do not understand this, but would be curious to hear why others prefer these design choices, maybe I am missing something.

Here is what I mean:

  1. many, almost all actions under Gnome and Unity require MORE mouseclicks than under other window managers:
  • quickly switching to a different, not-shown/minimized window on my workspace: requires 2 mouseclicks with Unity, one with others
  • startign a new window: one click on the app icon in the panel or on the desktop, no matter if windows of that app already exist, 2 clicks in unity to start a new one
  • switching to a different workspace: 3 clicks in Unity, one with other managers
    These are the three things I need to do most often, so those differences really add up.
  1. configurability: with all other window managers I am free to decide if I want to place an icon to start an app on my desktop (or not), place a widget to show info on my desktop, or not, add a panel with icons to start apps, widgets, menus, or not.
    Unity and Gnome limit this or make it impossible. Why? Clearly one can have a default without all this, but having it can make workflows a lot faster and easier. Why forbid it?
    Also a lot of options like even just setting the background color of the desktop to some specific color value using a color picker are either not present or hidden: why?
    When I switch to Unity or Gnome after usign Mate, Plasma or XFCE4 on dozens of Linux computers for years now I feel about as limited and forced to accept what some company thinks is good for me as on Windows. Why would you do this with Linux?

  2. moving towards key shortcuts: just why? This reminds me of the very beginnings, like wordstar or emacs where you had to remember something like Ctrl-Meta-X followed by Ctrl-Shift Y to do something. I am not against this in addition to discoverable functionality, but in Gnome/Unity many actions can only be done that way and are not discoverable! By discoverable I mean things like e.g. having a right-click menu which lists the activity and shows the keyboard shortcut. Gnome/Unity do not even have a separate right click menu in many places where it would be quite useful!

  3. It also feels like Canonical really never cared to listen to concerns, increasingly hides feedback options or bug trackers, very much like MS does. While other desktop manager projects very actively listen to what users want.

The reason why I even care is because I can see that Gnome and Unity just receive the development resources: there is money to maintain and advance what I think is very limiting and against the Linux philosophy while alternatives have to rely on community work.

Is it really the case that a majority of users WANT those limitations and the more clumsy ways of doing things just because they find the default look more aesthetically pleasing? Or for some other reasons?
Please tell me what you think about this, I really want to understand why this did happen and why it is still going on (originally, TBH, I thought it was mainly because Canonical believed it would get installed on many mobile phones and tablets, which would have required a different way to interact, but that never really happened).

If there is a better place to discuss this, please let me know, but I would be really interested to discuss this and hear opinions and explanations …

Moved to the Lounge, which is for more general discussions.

1 Like

Unity (up to v7) as the original desktop in 2010-2014 was far advanced in usability over most other desktop environments and pre-dates what you know as GNOME UI today, you should probably try out an old install from that time to actually see the advantages (it used way less mouse clicks for any tasks due to its design)…

From 2014 to 2017 development got shifted to Unity 8 which you know and describe above as the phone/tablet UI…

This was not the focus at all in Unity7, things like the vertical launcher for example were simply designed to give you more screen estate on 16:9 wide screens that only came up around that time in 2010 onward, click-through notifications to not interfere with your workflow, single click switching of networks, UI elements all in one corner (i.e. window buttons in the top right where you also have all your quick settings in the top panel) so you do not need to travel with your mouse at all were unique and new in opensource desktops at that time.

With Unity 8 the whole focus went to “Convergence” so the same UI could be used on all form factors and you could plug your phone into a monitor which turned it into a full desktop … another thing that had never existed before (and later got copied by samsung as “DEX”), the gesture navigation in Unity8 as well as the pull down quick settings menu was unique and new and you find variations of both of them in most modern phone UIs today from Android to iOS …

Unity7 got abandoned in 2014/15 by Canonical, all development resources were shifted to Unity8 at that time and Unity7 is only maintained by a very small community team since, there has not been a lot of actual development of it and the team is busy enough to simply keep it working against new libraries and desktop technologies, the Unity7 you see today is really only a shadow of what it used to be simply because it loses features more and more since the tool-kits drop support for technologies it used to use for these.

Unity8 was never actually finished since the phone hardware partners Canonical had jumped the boat and a phone OS without hardware it gets pre-installed on is simply not gaining a lot of ground, which is why Canonical stopped the project and laid off most developers involved in the OS (The Unity8 desktop/phone UI is still being developed by a small community team at the UbPorts community who try to keep the actual UbuntuPhone OS alive)

The remaining desktop team simply contributes to GNOME upstream til today which Ubuntu uses almost unmodified since 2018, design decisions in GNOME are mostly made by RedHat employees (well, by committees but these are mainly staffed with RH people), Apart from some minor tweaks like allowing you to put icons on the desktop (which GNOME upstream does not support at all) or the ability to use a vertical launcher, the Canonical modifications are rather small nowadays…

So if you feel the need to complain about or criticize UI/UX in GNOME you better do that in upstream GNOME, Canonical is pretty much out of that business for the majority of the desktop since 2018, it only does the desktop icons and launcher nowadays … or some work to integrate snaps better into the UI workflow but actual design decisions happen elsewhere …

5 Likes

Thanks for that info, it clears up a lot about the history of the UI on Ubuntu for me!
Let me just reiterate that I am not really complaining, I want to understand the kind of decisions made in GNOME and apparently welcome to quite a lot of people (otherwise it would not be so wide-spread, I believe). I am not complaining as, this being Linux, I have quite a number of other options anyways :slight_smile:

I actually have switched away from the default UI immediately when Gnome2 got updated to Gnome3 because already back then a lot of the changes happened which meant: limitations, restrictions and the necessity of more mouse clicks and less discoverability. I cannot remember exactly how that switch related to Unity, but when I tried Unity my issue was always that it would not allow me to let me set up my screen as I want and that it took away functionality and discoverability from me: in other window managers, if I do not know how to do X I right click and almost always, want I want to do is right there! In Gnome3 I right click and often nothing happens or the same as left clicking.

You say the decision to have the vertical launcher was because of making more effictive use of screen estate. But there still is a panel (or whatever it is called now) on top of the screen. The only difference being that I cannot just drag my app icons or widgets there and use that space as a launcher or for other things. Also with most other UIs I can just choose where I want to place my panels, how big they should be, and if they should disappear automatically. Not in in standard Ubuntu or GNOME. So I think one can objectively say they have removed functionality and configurability and I wonder about why that would be an advantage for any user? Having the ability to do all that would not have them kept from making the default look exactly like what they have today, but one would have the option to change things as needed, which one does not have now.

So if you allow, I would be curious about how you see that personally: do you prefer GNOME/Ubuntu to other UIs and are you happy with what you are then basically forced to use and how you are made to use it?

How do you see the differences in number of clicks for choosing windows, switching workspaces or the fact that actions are often not discoverable via right click menus: are those aspects preferred to you and why?

This was exactly when Canonical started to develop the original Unity7, these limitations were not liked here either :wink:

In modern GNOME such adjustments can be done via extensions, here is one that merges panel and dock (launcher) into one:

https://extensions.gnome.org/extension/1160/dash-to-panel/

I do use three extensions (I really can not live with a clock in the center of the panel, it hurts my sense of visual balance … and on my laptops I need a workspace grid of three work spaces in two rows to support my workflow while GNOME puts them all in a row and dynamically adds/removes them) but beyond this I do work with the default desktop Ubuntu provides (usually switching to the provided dark more from the default)

It is a matter of getting used to things, while I used to love to tinker with UI stuff in the past 20y of using Ubuntu, I nowadays work a lot more and simply need to get things done which is why I don’t really put a lot of time into tweaks anymore and rather prefer to be quickly up to speed if I i.e. switch to a new machine.

2 Likes

while I used to love to tinker with UI stuff in the past 20y of using Ubuntu, I nowadays work a lot more and simply need to get things done
I think this is my main objective as well, but exactly why it annoys me so much that GNOME developers took all the options to optimize my workflow away from me. I have tried using extensions with the actual GNOME (not “Ubuntu”) desktop a few years ago and that was a frustrating and underwhelming experience: either there was no extension for what is easily possible with e.g. mate, or the extension was buggy.
I think tinkering with extensions to make workspaces one-click selectable or windows one-click raisable is a lot more work than the one config change needed with other window managers.

Speaking of which: how then would I use an extension to configure my top panel in the “Ubuntu” desktop (the area where the clock is annoyingly placed in the center)? My instictive attempt would have been to right click in the empty panel space and see, but that does not hing at all.

First of all (to make life easy)
sudo apt install gnome-shell-extension-manager

Then, have a look at this extension, which has a myriad of options
Dash to Panel

3 Likes

Thanks! I installed this and then searched for Extension in the app menu und found “Extension Manager”, I guess this is what I have just installed? (I find it irritating that many gnome-programs apparently cannot get started from the command line as one would expect e.g. there is no command gnome-shell-extension-manager …

However, my experience with this is pretty bad, I noticed that there is an extension “Lock Keys” which I enabled. When I click on the preferencces icon of that extension I get a window telling me “Something’s gone wrong” and some technical details:

SyntaxError: import declarations may only appear at top level of a module @ resource:///org/gnome/Shell/Extensions/js/misc/extensionUtils.js:4:0

Stack trace:
  @file:///home/johann/.local/share/gnome-shell/extensions/lockkeys@vaina.lt/prefs.js:7:24
  _init/GLib.MainLoop.prototype.runAsync/</<@resource:///org/gnome/gjs/modules/core/overrides/GLib.js:266:34

OK, so I thought I would try other extensions. Turns out that the same error is shown with almost extensions when I click on that icon!

I installed a bunch of extensions which referred to “workspace” and I had a workspace switcher show up in the panel, yayy!
However the right click mouse button does not do anything in there either: it would be logical to use right click to configure this extensions but no, one has to do this by going somewhere entirely different first!

After enabling two more extensions I got into a situation where the text of an extension overlays the clock in the middle which did not make any effort to get out of the way. I found an extension for just moving the clock to the right though.
Also found an extension for placing a clock widget on the desktop but enabling that did absolutely nothing.

IDK, in comparison to Plasma this looks really very clumsy and broken. :confused:

I am not going to give up just yet though, I am determined to figure out if I can make it work for me.
At least I found another extension which provides something for showing window buttons at and a workspace switcher at the bottom…

Interesting you say that. Recently I read someone else admitted they didn’t know what Launchpad was. So I think we are failing at some level of communication.

If you would like to discuss general GNOME design philosophy then the upstream tracker is best: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues

If you would like to discuss Ubuntu-specific issues then our bug tracker is: Bugs : gnome-shell package : Ubuntu

Don’t worry about reporting something to the wrong place because a misplaced report can always be moved.

4 Likes

As a fellow non-Canonical community member, I’m going to give you some pushback on this.
The whole Canonical-doesn’t-listen trope is ancient…and tiresome.

I have found that Canonical employees listen quite readily to feedback that is constructive, timely, well-researched, and realistic.

Keep in mind that unless you paid for Ubuntu, you are not a customer. It’s open source software, and “feedback” is expected to meet (higher) open source standards, not (lower) general customer service standards.

There is no “customer service” department to moderate or redirect or filter feedback – it goes straight to developers, no matter how foolish or misdirected. That’s why they ask “feedback” to use the bug tracker. If they don’t respond to feedback, it says more about the quality of the feedback than it says about the employer.

9 Likes