Thursday, 23 July 2020

Ergonomics and Gnome Software

Ergonomics is about the understanding of interactions among humans and other elements of a system, and the profession that applies theory, principles, data and methods to design in order to optimize overall interaction. In short, ergonomics is about making things comfortable and efficient to work with. This also applies to software design and development, or at least it should.

Companies and projects have been thinking and researching ergonomics in software development pretty much since the beginning, even if that was just a developer thinking about where best to place this or that button in his program.
The GNOME project had the Usability Project from 2001 to 2011 and now apparently has design teams to cover usability. GNOME also came up with the HIG - the Human Interface Guidelines. So you would think the GNOME world is well prepared in terms of software ergonomics as far as human to interface interactions go.

Unfortunately the GTK+/GNOME using world in reality seems to have paid little heed to usabiliy studies as of late, just as much as the hodgepodge of applications written for the different desktop environments using the toolkit, with all their various takes on window borders, size, button placement and size etc. and custom applications for the various distributions and projects does not help.

KDE on the other hand has never had this problem and presents a well integrated desktop experience, even when using Qt applications not explicitly written for being part of the KDE suite. It even has a settings module to integrate GTK applications into the overall look as much as possible. This works quite well but perhaps apart from Firefox and LibreOffice most KDE users seem to prefer a as pure as possible desktop experience.

This, with all the mix in styles going on from the various projects, leaves the GTK using group at a disadvantage. Even a project like Linux Mint, who put some thought and effort into presenting a nicely integrated desktop that behaves in a more or less unified manner, still does not fully achieve this. The welcome screen uses a thicker GNOME-application style Adwaita border that does not respect the rest of the Cinnamon theming, neither in size of the window border nor color. In general GNOME and Cinnamon do not mix well as GNOME applications will always keep their own borders. Then there's the issue of placement of window controls and search fields which differ from desktop to desktop and sometimes from application to application within the same desktop environment. Not to speak of GTK applications like MPV or Celluloid, apparently hard coded to use a dark theme and an expanded set of window controls, browsers and other third party software. Synaptic too looks out of place, falling back on a basic GTK2.

Even worse when using a not as carefully collated distribution where you are creating your own, like with Artix for example. I've used the Cinnamon spin alright and it looks very nice with a bit of theming and additional icons until you install more graphical programs. Adding Pamac for instance will land you a massive border and window buttons almost twice the size, which really looks out of place next to any open Cinnamon windows. Then in compile mode, in true GNOME fashion that is trying to cram everything into the window border in its pursuit of distractionless computing, we get a cog wheel for settings to the left.

AUR mode in Pamac - oversized border and close button.
The main window is a mess in the sense that it just does not blend in at all. I mean, there is no indication this was explicitly written for GNOME 3 so why this counterintuitive nightmare of oversized window buttons not respecting the desktop style on the right, followed by another settings icon (from right to left), this time in form of stacked items, and a search button on the extreme left that needs to be clicked in order to actually open a search field - inside the window. Why not, to at least claim some consistency and ease of use, open this search field to the right of the magnifying glass? No, let's clock up some mouse miles.
Every other desktop and file manager, including its immediate predecessor, has the search function either in the menu bar or on the right. This is what desktop Linux has come to - an apparent need to differentiate and confuse users by arbitrary, and often changing, placements of buttons and functionality in applications instead of standardization and ease of use, each of the major desktop environments doing 'their own thing'.

Pamac window controls, stack and search function. Note the backgrounded Cinnamon terminal and border size. 

On top of that it differs from application to application. Here's the GNOME picture viewer in all its glory with a very crowded border and in contrast a more traditional Nemo file manager in the fore. Mix well they do not. Better get rid of the default and install something from Xfce or Mate.


Busy picture viewer border contrasting traditional Cinnamon file manager

Most if not all of these complaints are actually about how unconventional the GNOME 3 desktop and its applications are designed and how they do not blend in with others which may seem unfair to avid fans. However, some like MPV and Celluloid are GTK application frontends independent from it. And as all these are quite freely, and liberally, used in all sorts of distributions and desktop environments with a mix and match attitude and I think the GNOME and other developers are quite aware of that it would be nice if their design was more compatible and respect the overall theming and ergonomics of other environments when running under those. This may be hard to do if all functionality is crammed into a window border but perhaps a compatibiliy mode could be introduced. The only other way would be to avoid everything related to this desktop and if this is not possible the whole toolkit.

A quote from the GNOME Usability pages:

 “One of usability’s most hard-earned lessons is that ‘you are not the user.’ If you work on a development project, you’re atypical by definition. Design to optimize the user experience for outsiders, not insiders."

Jacob Nielsen

More programmers and interface designers today should take heed of this hard won understanding.

Edit: Found this about MPV ending GNOME support.

10 comments:

  1. "The only other way would be to avoid everything related to this desktop and if this is not possible the whole toolkit."

    I've reached that same conclusion back when the Gnome/GTK3 sabotage has first appeared. I do not have any GTK cruft.

    ReplyDelete
    Replies
    1. Hi Acar. Yes, I might have to go back to some sort of Openbox or IceWM with Xfce utils and cli applications combo. Xfce tools integrate nicely into other environmnents but that sort of setup seems messy now to me. Or go full on KDE Plasma more likely.

      Delete
  2. If you do, try the best, the venerable Fluxbox! I don't have any Xfce utils either. I love Xfce, but because of its reliance on unreliable toolkit I would use KDE instead if forced. By the way, mpv is not a GTK (or Qt) app, it's toolkit agnostic.

    ReplyDelete
    Replies
    1. Oh yeah, Fluxbox! Have used it as well but slightly more partial to OB with Tint2.

      I should have made it clearer I was talking about the GNOME-MPV frontend which I just learned is now called Celluloid, so not separate projects. Thanks for commenting.

      Delete
  3. How is this a critique of Gnome usability? Gnome apps look perfectly fine on Gnome, where CSD is the norm. I feel Gnome's headerbar has serious usability issues such as discoverability, knowing what you can click on, etc. But you address none of these issues, but rather rant about how a Gnome app doesn't look good on a non-Gnome desktop.

    Personally I hate the HeaderBar and CSD (I disable CSD wherever I can, in Chrome, Firefox, etc), but Cinnamon ships with their own versions of traditional-looking utilities. So this is a non-issue.

    ReplyDelete
    Replies
    1. Well, personally I'm not using Gnome 3. It's about the mess you get with the different GTK apps and styles and that it's difficult to get a cohesive desktop experience with GTK. And that, as you said, "Gnome apps look perfectly fine on Gnome" but completely stick out anyhere else. And unfortunately that also applies to applications like Pamac that are not even part of Gnome.

      Delete
    2. Pamac-gtk obviously, as in the screenshots.

      Delete
  4. Usability and Gnome 3.* are mutually exclusive notions.

    ReplyDelete
  5. I have been using Gnome since the 2.x era...and right up into the present. All those who don't like Gnome?..or don't like it's appearance? Well you're free to use what you like, but for me? Gnome "Works" Period. I don't need half the crap mentioned in this article...(which seemed to be nothing more than an a$$ kissing session for KDE!..LoL!) Nah. Gnome is fine the way it is, I like my suspended windows...no System bar at the bottom of my screen, the multiple desktops to the right, and the easy way I can get to it..(one press of the "Windows Button"!) I guess there's something for everyone in the Open Source world. Dunno why the hate towards Gnome tho, there are those of us who think its awesome, and prefer it over Cinnamon, KDE,LXqT, XFCE etc.

    ReplyDelete

Please leave your comment here. Spam will be deleted.

Labels

12.04 LTS (1) 1280x1024 (2) 14.1 (1) absolute (6) accessibility (6) ad-blocking (1) administration (2) afterstep (1) android (3) announcements (14) anonymity (5) anonymous (1) anonymous browsing (1) anti-malware (1) anti-virus (1) antiX (2) applications (1) arch (11) archbang (11) archone (1) artix (1) authentication (1) backports (1) base (1) bash (2) bittorrent (2) block-this (1) bluestar (1) bodhi (1) books (1) brave (1) brave-browser (1) browsers (8) browsing (1) bsd (4) bug (2) bugs (3) calculate (1) centos (1) certification (1) chakra (2) changelog (22) chat (1) chatzilla (1) chromebook (1) chromium (2) click (1) commodore 64 (1) critique (1) crunchbang (5) crux (1) ctkarch (1) cyber war (1) debian (28) desktop (59) devuan (4) digital certificates (1) digital memories (1) distributions (74) documentaries (1) documentation (2) dr. web (1) drivers (1) duo (1) e17 (1) email (1) encryption (3) enlightenment (1) events (1) exit nodes (1) ext4 (1) fake (1) fallout (1) fallout 4 (1) fedora (6) file server (2) file systems (1) firefox (3) flash (1) flush (1) fluxbox (6) fluxflux (1) FPS (2) free software (3) frugalware (1) FSF (1) ftp (2) furybsd (1) fusion (1) fvwm (1) fvwm-crystal (1) games (11) gaming (10) gentoo (2) gnome (9) gnome shell (4) gnu/linux (4) google (2) google-chrome (3) graphics (1) grml (1) gtk+ (1) hangouts (1) hardcore punk (1) hardware (3) how-to (22) humor (2) i3 (1) icewm (5) init (3) init freedom (4) interview (1) introduction (1) jibbed (1) jwm (2) kanotix (4) kde (18) KDE neon (1) kde3 (2) kernel (6) knoppix (1) kongoni (2) kubuntu (3) LAS (1) libtorrent-rasterbar (1) linux (19) linux light (16) Linux Mint (4) live (44) live medium (21) live system (10) liveslak (3) LMDE 4 (3) localisation (1) LTS (1) lxde (12) lxqt (1) mageia (1) mandriva (2) manjaro (1) marine life (1) mate (1) media center (4) mepis (2) mint (5) mobile (2) mobile security (1) movies (6) mozilla (3) music (1) netbook (2) netrunner (1) networking (4) news (3) nvidia (1) open source (1) openbox (15) openSUSE (3) opinion (13) other (5) overclockix (1) packages (1) pclinuxos (2) perl (1) poll (2) porteus (3) privacy (5) privoxy (1) programming (1) proxy (2) puppy (3) qbittorrent (1) qt (1) quick look (10) ratpoison (1) red hat (7) relax (1) release (1) reviews (52) rhythmbox (1) rolling (1) RPG (2) rpm (1) sabayon (5) salix (15) scientific (7) screenshots (2) scripts (3) seamonkey (1) security (3) semplice (1) server (4) shell (1) shooter (4) siduction (1) slackel (1) slackware (66) slackware 14.2 (2) slackware 15.0 (6) slackware-current (33) slax (7) slitaz (1) smart phones (2) sms (1) south africa (2) specialist (1) spoof (1) ssh (1) surfing (1) systemd (2) table mountain (1) TDE (1) tegra k1 (1) The Walking Dead (1) themes (1) tinyme (2) tips (1) tor (3) torrenting (1) torrents (1) traffic analysis (2) trinity (2) trisquel (1) TV shows (1) TWD (1) ubuntu (6) unity (2) unity linux (4) unix (1) upgrade (6) vector (2) video (4) vinux (2) virtualbsd (1) visual impairment (5) voip (1) vpn (2) VSIDO (1) wallpapers (3) window maker (4) window managers (1) wireless (10) xfce (16) youtube (1) zenwalk (3) zoo (1)