One of the downsides of Linux is the inconsistency of the UIs among GTK and Qt applications (also, a minority of apps doesn’t use them at all). Having another library just increases the mess. It may be less complex on the inside - I haven’t checked. However, software, and all human action, should have the end result in mind. And the end result is making software for users not developers. (I’m certain that in-wall wiring is inconvenient for electricians but …) I’m wondering whether the bazaar can actually produce a consistent user interface.
I’m wondering whether the bazaar can actually produce a consistent user interface.
Of course it can. GNOME has a consistent user interface. KDE has a consistent user interface. Xfce has a consistent user interface. Et cetera. You won’t get consistency across the entire ecosystem, of course, but this is universal: GNOME is not consistent with KDE is not consistent with Windows is not consistent with OS X. I suspect people mostly complain about consistency in free software interfaces because it’s possible at all to place them side-by-side; that is, limitations in proprietary systems like the ones mentioned hide the concern without doing anything to address it.
Even Microsoft now has multiple UI toolkits (classic Win32 as used by C/C++, WinForms used by older .NET applications, WPF/XAML for newer .NET, that other ui for Windows Store apps, random app that decided to use “skins”) and they might all use different font sizes and menu UIs (classic, ribbon, classic+ribbon) and multiwindow approaches (MDI, tabs, multiple top level windows) and colors (dark theme of Visual Studio vs Ms Office) that can make a Windows machine feel just as inconsistent, if not more so, than desktop Linux/Unix.
After being on Linux for ~15 years I’ve stopped noticing - mostly everything is Gnome and the differences are pretty minor.
This spring I started dual-booting Windows 8 for games; it’s the first time I’ve used Windows since XP in ~2001. I am totally confused and bewildered all the time. None of the apps look like each other, some of the control panels are a full-screen interface that gets thrown away if I alt-tab back to my browser to check instructions (!), the tile start menu could be nice but is mostly ads and clunky without a touchscreen, fonts change all over the place, many apps can’t deal with the hidpi display, there’s a right-side menu that appears for some of the start menu functions without any consistency I’ve recognized and disappears (losing state!) randomly, etc. etc. etc. I suppose if I’d been using Windows for years I would’ve seen this stuff slowly come up and learned it a bit at a time, but I’ve gotten dropped into it and I’m lost all the time.
And very little of this is configurable or replaceable - if you don’t like the sometimes-sidebar slide-in thing, tough. You can’t do anything about it. There’s no config menu, let alone a config file, let alone alternate apps. I dunno. Maybe if I wanted to poke around I could find some invasive commercial app that would try to pull it out from the roots, but it’d be in a constant fight with the system that assumes its stuff is there and nobody knows what kind of ads or surveillance it would include.
I still can’t quite believe people use Windows professionally. I don’t know how to work in that kind of riotous uncertainty.
Consistency and competition are always at odds and both have benefits. A UI developer can’t ever try something clever and new if they have to be consistent with existing systems. The best case is that you have two ecosystems which compete with each other and cause iterative improvement over time, and that’s exactly what we see between qt and gtk.
Smells like NEXTSTEP. Nice looking toolkit anyways. Might fool around with it when I play with C some more.