4 ms·
The point that most Linux users and developers seem to miss is not that a good user interface needs to be pretty -- it needs to be consistent. Sure, the stylis
by donw 18y ago
The point that most Linux users and developers seem to miss is not that a good user interface needs to be pretty -- it needs to be consistent. Sure, the stylish looks of OS X do a lot to woo people to the platform, but the experience is why people stay.
Consistency is the area where Linux fails miserably. Perhaps this is due to the lack of a single visionary who leads the way in Linux desktop development, but I'd say the problem lies more in the 'not built here' mentality of the developers. Which is kind of ironic, because the entire point of free software was that anybody could contribute to improving it.
Consider this: Think of your top ten Linux applications, and the GUI toolkits they use to handle their interaction with X11. I'll wager that, out of those ten applications, you can probably list four or five different GUI toolkits, each of which works slightly differently. Why isn't there just one really good GUI toolkit?
I think the answer lies in pride -- everybody wants to have 'their' project, so they start their own, rather than contributing to an existing codebase. For the same reason, open-source project maintainers often do an awful job of listening to their users and co-developers, because their pride of being at the head of the train is threatened by other people making key decisions.
This pride also extends out into assuming that the user of said application wants to be an expert in its use, which leads to overly complicated preference panes, nonsense confirmation dialogues, and so on.
This is why Linux applications often have the most appallingly inconsistent interfaces, and sadly, I can't think of a good solution to the problem. Frankly, I wish I could, because I would love to run Debian Linux on a Lenovo tablet, and have a GUI that is as useful for me as OS X.
- wmf 18y agoOne way to start to fix this problem is with marketing. Linux is just the kernel; GNOME is the OS. Ubuntu and Fedora are GNOME distros. You shouldn't expect to run KDE or Motif programs on GNOME; after all, they were written for a different operating system. Of course, this divides the former "Linux" market into even smaller pieces...
- donw 18y agoBut this is the exact problem. Why should each window manager be its own platform? This is like having every car produced by GM or Toyota being totally custom-built, with parts that can't be interchanged, without great pain, with anything else in the range.
- wmf 18y agoI'm just talking about the current state. It is a fact that interop between GNOME, KDE, and whatever else is so poor that the only way to achieve usability today is to pick one platform and stick with it completely. In some cases the differences between the platforms are arbitrary and they could interop or be merged, but in some cases the differences are philosophical and IMO irreconcilable (you might as well merge the Democratic and Republican parties). Given that situation, I don't see any way to create a single Linux desktop market. But then you probably shouldn't listen to me; I don't even use Linux on the desktop.
- thebigshane 18y agoThat is a situation where survival of the fittest eventually sets in. Eventually one will finally win just enough users to start eclipsing the others. My guess it will be gnome since it is the WM of choice for Ubuntu and Red Hat. And as more corporations get involved with development in the Linux-realm, there will be more incentive to standardize things and less incentive to fork.
- thwarted 18y agoEach window manager is not its own platform. These are platforms in their own right, a platform defined by the API, the theming, the standards, the libraries; the window manager is merely one part, out of many, that compose these platforms.
- nailer 18y agoUbuntu is the OS. Kubuntu, Xubuntu, Fedora, OpenSuSE, SLES, RHEL, Yggdrasil etc. are a different OS, aimed at different people, with different interfaces, default programs, updates, and methods of doing things.
- ajross 18y agoYou're overstating things. Apple itself has a solid handful of different toolkits and UI paradigms, some of which are better than others and many of which are legacy. Take a look at an actual linux distro, and you'll find it uses only one desktop and is quite consistent. Slamming Ubuntu because Mandriva exists (etc...) isn't really a meaningful argument. Hell, most of that "linux" GUI software runs great on OS X too. So by your own logic the Mac is "failing miserably" at consistency and has the "most appalllingly inconsistent interfaces" (more so even then Linux, which after all can't run Cocoa apps). Basically, this kind of broad-brush argument is mostly just flaming. If you have an actual complaint about an actual product (and I'm sure you do -- I have quite a few of my own), let's hear it.
- donw 18y agoWell, my nominal work is as a system administrator, and I've been working with Linux since about 1998. In fact, until 2005, Linux was my primary computing platform. So, I would claim to have tried at least one or two Linux distributions over the past ten years. There has been a very marked improvement in the user interface over that time, and of them all, I would say that Ubuntu is probably the best of the lot. My point still stands. Firefox is built on GTK, whereas KDE is built on Qt. Audacity uses wxWindows, and xterm is just raw xlib, if I remember correctly. OpenOffice has its own widget toolkit, as does VLC, and since I was a WindowMaker user, that's GNUStep, which is yet another widget toolkit. All of these toolkits behave differently, and even though the situation has improved, they still don't interact terribly well. For example, cut-and-paste was, and still is as of the last time I tried Ubuntu, still not terribly functional. Sure, it worked with the X clipboard, but the behavior was subtly different between applications. This is something that even Windows has had working well for nearly fifteen years. This is a very real problem. International support isn't terribly good across the board, either. The situation has improved a lot in the past year, with Ubuntu and Debian now doing a decent enough job out of the box in terms of Japanese input and translation, but still nowhere near as good as it works on my Mac desktop. Speaking of which, I can not think of a single piece of open-source cross-platform GUI software that I use at all. Of course, I use a ton of stuff on the command line, but not a single application from my Linux/X Windows days has made it on to my Mac. Mostly because they don't use native widgets, and so even if they look like a Mac application, they behave differently in subtle yet highly annoying ways. For example, in any OS X application, I can highlight a word, hit a key, and then have that word fired over to the Dictionary. I use this regularly, yet even the latest build of Firefox doesn't support it. It's a built-in feature of the OS, and works just fine in any application that uses Carbon or Cocoa, yet not in Firefox, because they've bundled their own widgets with the application. And this is my point. Even when Linux apps look like they're all part of the same platform, through appropriate use of themes and skins, they still don't feel as if they are integrated together. OS X has only one set of widgets, although there are two primary APIs for developing applications -- Cocoa and Carbon. Cocoa is for applications written in Objective C, whereas Carbon is for C, C++, and Java. Carbon mostly exists to make porting applications easier, and to provide Java applications with access to native GUI widgets. But, no matter which API a programmer choses to use, the application will behave like all other Mac applications. Copy and paste will work the same as it does everywhere else. So will all of the neat tricks under the 'Services' menu. So, there's my complaint. GUI Applications on my Mac all act the same. GUI Applications on a Linux box don't, and coming close usually requires quite a bit of fighting, even for something as simple as entering text my second language. Linux (and FreeBSD) are great server environments. I would be hard-pressed to even consider using OS X for anything other than a file and print server. But I won't use it as a desktop platform anymore, because it's simply too much of a pain in the ass, too much of the time. I would love to see this change.