Making Linux Beautiful
intensity writes, "Wired has an interesting read on efforts to 'make Linux pretty.' I originally got into Linux because it gave me total control over what I could do with my desktop through the X Windowing system. That was in 1995, when setting up X was a chore in itself. Is it time to set down a standard GUI for Linux systems? " It's mostly yet another story about Eazel's Nautilis project (AKA the GNOME 2.0 Desktop)
Bruce Tognazzini, founder of Apple's famous Human Interface Group and a frequent interface critic, stressed the need for a standard Linux interface and a comprehensive set of interface guidelines to ensure consistency across the system.
Ugh, no. No standards on GUI, please. The great thing about using Linux is that there isn't just one way to do something. If we start forcing GUI standards on people, we'll get bloated window managers that don't serve the needs of particular people. It's very very difficult to make one interface that suits everyone without making it be this huge Swiss Army knife of a program (see emacs, although please, no flames).
The X standard is enough. I think Eazel's efforts are great, but I like the variety that the current crop of window managers provides and if you 'standardize' an interface or the commands it can use, inevitably, something will be included that you don't need and something else will be left out that you do.
Err ... yeah ...
"Oh, I hope he doesn't give us halyatchkies," said Heinrich.
Really, there are a lot of steps in certain routine configurations and obscure syntaxes that I, as a sys admin, would prefer not to have to edit by hand if I didn't have to. For example, I probably add/remove ten DNS records in a given week -- I'd rather have a GUI to do it. I doubt, however, that my boss would want to pay me to develop one and I'll be damned if I'm working on my off hours.
The mistake that most of the command line crowd (myself included) make is viewing the GUI v. command line debate as being an either/or situation. Well, just because that's how MS does it, it doesn't mean that we have to make the same blinding errors.
In any event, any Linux GUI will always beat the hell out on the NT version for one simple reason: setenv DISPLAY tux:0 -- while the rest of my officemates are driving upwards an hour to get to their clients to reset some little thing or the other, I can do anything remotely that I can do in person.
----
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
The XFree86 Font Deuglification Mini HOWTO
----
I don't run GNOME on my system because I like the feeling of "raw Linux" and because I don't like how GNOME looks/works/acts/etc. That's entirely up to me and isn't the reason I hate it.
What I hate is all the unnatural dependencies on GNOME on RedHat systems. For instance, last night I upgraded my RH5.2 system to RH6.1. I have a lot of complaints about how this worked (like, why can't I cancel or at least unmount my drive? and why can't password-less users login or at least have root change their passwords), but the relevant complaint is the GNOME deps.
After the install I found that a lot of GNOME stuff had slipped through (another complaint: when I DON'T want to auto-install deps, let me UN-install upward deps). I spent a few minutes rpm -e'ing these, but when I tried to remove gnome-libs it told me that wmconfig needed it. OK, so get rid of wmconfig. Can't, fvwm needs it. WTF? That's just not possible. fvwm is ~8 years old, GNOME is
Actually, the real blame for this goes to RedHat (for stupid dependency defs) and the RPM format (for not allowing "wishlist" vs "gotta-have" deps). So once I get a tape drive I'm going to back my system up and install Debian. I hope it's a little saner and less "user-friendly".
To bring this post marginally on-topic: I don't mind if some (even most) people prefer "pretty", "standardized" Linux as long as two conditions are met:
1) I can still get to the "raw" level that I like.
2) Apps are not written to depend on a "standard" and break when it isn't true. There's a lot of tools on freshmeat that I'd like to use, but they all start with "g" or "K"--so I can't use them.
--
Here is the result of your Slashdot Purity Test.
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
The biggest advancement Linux/UNIX GUIs need is Antialiased fonts. Apple did it, now its our turn. X has a lot of great features, a lot of nice and easy windows/desktop managers, but text sure does look like shit unless you have a 100+dpi moniter. Even then it isn't very impressive. My girlfriend always asks "why do the letters look like that when they are small?" and I respond, "Because that is the only thing Windows has better than Linux."
- Linux shouldn't necessarily compete with Windows. And:
- A standard interface doesn't mean you won't be able to switch to a non-standard interface.
It's kind of like the RedHat distribution. A lot of people mistakenly think RedHat = Linux. While the notion is wrong, if people make their products work with RedHat, there's a good chance you can make it work on any Linux system, and still have all the configurability and customization you'd like.What I think is that there should be a standard FRAMEWORK. Something where you can write a program to be compatible with the "desktop environment", and not necessarily Gnome or KDE or something else. I would have it be like OpenGL - vendors (in this case GNU or Troll Tech) could add extentions, which might eventually be rolled into the specification for the "desktop environment" if they are widely accepted.
The only problem, as with many open software projects (and can be a drawback) is who ultimately decides what features are required to be compliant with "desktop environment 1.0"
----------
Stupid sexy Flanders.
Many of the responses to this article tend to go like this:
"Who needs a fancy schmancy interface? Raw Xwindows is great!"
"We don't want to make Linux easier to use!"
Look, Linux started out as a private hack that went public and has grown into a very stable operating system kernel. But the long line of open source development and bleeding edge kernels is not the means, not an end. The goal is not for Linux to be the OS of the 3/_33t who like recompiling kernels and hacking X windows config files. If you want to be able to graduate and not have to use Windows on the job, then Linux has to progress beyond the embryonic stage.
Quite frankly, we need the expertise of people like those at Eazel. I recently tried out OS X for the Mac (which runs on a Mach kernel), and it's far from perfect but it's so far above and beyond anything for X, including MacOS-like themes, that you can't make valid comparisons.
You know, I think Apple has hit the nail directly on the head with their PDF engine for MacOSX. Vector based interfaces will be the future. Even if that vector art is rendered all purty-like to the point that it looks like raster art, I still believe that a vector based interface will prevail.
Why? I have a 19" Monitor at home that I use on my production machine at 1600x1200x32Bit. One of my roommates on the other hand, has a 14" monitor that he runs at 800x600x16bit. Look at Flash on the web. If I look at a properly done flash site, I can view it at full resolution, stretched to fill my screen, while he can do the same, and they look pretty much identical -- with the same piece of flash 'code'. I don't get pixel-chunky curves when the plugin 'stretches' the flash to full screen for me, and he doesn't lose too much quality when he views it at 1/4 my size, thanks to anti-aliasing.
As monitors get bigger and bigger, faster and faster, and we still need to (at least somewhat) support legacy displays, Vector based interfaces will play a large part in how we view our 'desktop'.
Or the Gnome-MC (which is, IMO, very nice). This line struck me as the most self-contradictory:
.. I really wish people today would understand the concept of matured software/knowledge.
"users must type file names into a command-line interface."
Is it the common dialog of GTK+/QT he doesn't like? I don't recall the Win32 common dialog having a nice little "click pretty pictures to specify a textual name" thing.
I think what we have is a red herring article designed to trump up the new Eazel effort.
Compare:
"Nautilus' file system includes a point-and-click file manager that will offer advanced features like the ability to tell the difference between sound files and pictures, and display them accordingly."
This right after mentioning that the ex-apple people would be using Nautilus. It's practically a press-release.
Step 1: Say there are no graphical feature F in X and Y graphical front ends.
Step 2: Mention that Z project is using program B
Step 3: Crow about program B. Mention it has features F, K, and G.
Step 4: Mention that some guy related to Y front ends and other internals has "seen the prototype, and loved it" -- something which should not be special with opensource (ie: everyone can see it).
He also ignores the fact that Gnome-MC and KFM both use mime types to display file types (although KFM, by default, seems to know fewer mime types) claiming that they don't know what they are (by saying that Nautilus does).
Then the semi-FUD makes its appearance:
"questioned the need for yet another PC interface -- especially one based on a design that hasn't changed significantly in 20 years."
We don't rethink addition or subtraction every 20 years just because the knowledge is "old" and "hasn't changed significantly"
Then the guy is quoted as saying that they want "internet enabled" desktops which tell you what you need to know. Which strikes me as wrong because 1) if I want to browse, I open a browser and 2) if I want to filter knowledge, I can.
I use Linux/Gnome and Win95 on my workstations at home (Win95 for games and some apps, Gnome for the rest). And I've worked on machines with the "IE memory/CPU tax" installed at work. Considering the 3 to 5 second pauses most tasks seem to require as parts of IE load for doing things like file management on a machine that is 400Mhz (Celeron) and has 128mb of ram (SDRAM DIMM).. It's funny to see how many Win98 machines perform worse than my own slower machine at home (a paltry 266Mhz K6-2 w/ 128mb of ram SDRAM DIMM). I really wish people would get off this integration kick that MS seems to have started (and which Gnome, KDE, etc seem to be following a bit). The basic shell should provide mechanism, not policy. If I want to do a set of tasks, I'll have applications for them (that are small and fast).. Not some huge integration crud..
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
I never understood this "3-D UI" of the future. Our language is two dimensional, our books are two dimensional, our desks are two dimensional planes upon which we work. The best we could hope for is a 3-D wrapper for our 2-D world.
Audio can be recorded in 3-D, but it certainly doesn't enhance the ability of a speaker to communicate, it just sounds prettier. People today readily discard quality audio for efficient recordings. By the same token, why would people want to work in a 3-D rendered UI?
Personally I think the next useful UI will go in the opposite direction. Less virtual, more real. Desks which automatically digitize handwriting, panels which are as easy on the eyes and as portable as paper, and of course, lots of specialized devices, like palm organizers, crosspads, networked stereo components (ala MP3 players). We're seeing the beginning of this now. Transmeta, embedded linux, and the like are a step into the future.
Quiet, unobtrusive and asthetically pleasing. If you want to dictate, dictate, if you want to type, type. Conduct online research from your sofa, or at the coffee shop down the street. Offices will become passe as the mechanisms of communication become easier and easier.
On the other hand, if you want to play games... go ahead and imerse yourself in your thick 3-D virtual reality.
I tend to disagree with what everyone seems to be saying here. Just hold your horses, and breathe through your nose for a minute while I share my humble opinion...
I think there should be a standardizing of UI's for Linux. Everytime I bring this up everybody bitches and moans about how if we standardize the Linux UI it'll get "...as fuck ugly as Windows..." Let's get one thing straight - I DONT WANT TO STANDARDIZE THE GUI - Just parts of the UI. If we standardize the GUI, we'll lose our artistic expression. Personally I think the KDE kids are doing a nice job, but it's sooo damn ugy. That's why I use E(yecandy)nlightenment.
The reasoning for standardizing the UI is to remedy all the blasted different ways programs behave. For example, in some programs, to quit the hotkey is 'CRTL-Q', while in others its 'ALT-Q', or ':q!', or even 'CRTL-X CRTL-C'. And to save it's the same problem - 'CRTL-S', 'ALT-S', ':w' or that awful 'CRTL-X CRTL-S'.
Why can't we just set aside our differences and play nice?
I'm sorry, but this anarchy-for-anarchy's sake stuff gets to me when you talk about Linux' UI (or lack thereof). I really do not intend that comment as a flame... ;-)
;-)
As a former Unix/C programmer who has backslidden into Management, I have listened to a LOT of folks who might like to use Linux, but just find the UI baffling. Believe it or not, these same folks can actually use MS windoze. Germaine to the article at hand, though, my users RARELY ever open up the old Windows NT Explorer (formerly File Manager).
ANYWAY, a set of UI guidelines (and that's all they're REALLY proposing, by the way) are long overdue. This, to me, is the ONE THING that now differentiates the Mac (and my old NeXT that I still miss, may she Rest In Peace) from PC's. Sit at a PC or Linux box and try to find something on the various menus. You just have to keep looking until you find it, look in Help, or (like my users) pull out your '45 and shoot the computer out of frustration.
On the other hand, things on a Mac or my dead NeXT are pretty much in the same place from program to program. This is really due to a document more or less called the User Interface Guidelines, IMHO.
Of course, QuickTime doesn't count.
Please Let's DO encourage this! I think they CAN be made generic enough to please most folks.
Linux shouldn't necessarily compete with Windows.
A lot of people, including me, will agree with you on this. I think Linux (and friends) got where they are today due to their disregard of Windows. The idea has not been to create a competitor for Windows. It was to create a stable, flexible, open, modular operating environment. The fact that Windows happens to be none of these things is what makes Linux a threat to Microsoft.
However, now that many people have become used to using Linux, they get disgusted when they are required to use Windows. I work on Windows NT boxes all day long and think how much productivity is wasted fixing things that never would have broken in the first place if we were using Linux or BSD. What bothers me most is that I have to click 20 different things to do something in Windows that could be done in Linux by typing a short, if perhaps cryptic, command.
That said, I'll really be happy to see better GUI utilities for Linux. Gnome's file manager (yes there is one, despite what the article claims) just doesn't cut it for me. I hate to say it but I'd rather use NT Explorer (not to be confused with Internet Explorer) than gfm. Fortunately I find it pretty easy to use the shell instead and type "cp file1 file2" to copy files, "mv file1 file2" to move files, and "rm file" to remove a file. So I rarely use a file manager anyway. There are times however when I prefer to see a visual representation of the file system...especially in cases where the filesystem is complex, or just plain messy. I understand why Nautilus seems to be Eazel's primary focus at this point.
BTW, in case anyone hasn't mentioned this, non-Linux/*nix users can get a look at many of the currently available configurations/themes for Linux at http://e.themes.org. I'm really just pointing this out because I object to the idea that people's Linux desktops are all ugly. True, the default Redhat 6.x desktops are as bland as Win2k's default, but there is a lot of flexibility already in how you can make it look. As a default setting, bland is better anyway.
numb
I just want more buttons on my mouse :-)
;-)
- -------
That's the best UI improvement I can think of. One for open/save/compile/run/email etc.
Seriously though. Sure, have a default one. Make sure it can and will be customized like hell by the user.
Make the wm learn - MS Offices idea of hiding rarely used menu items was a (lightly misguided) in the right direction.
I want the wm to notice that I usually minimize XMMS within a few seconds of starting it playing. When it notices this it will ask me "In future, do you want the Play button to automagically minimize too"
NB: I meant "proper" data-mining. I don't mean the XMMS developers explicitly put this in. I want it to genuinely apply statistics to my habits. Notice the way after you save a file you quite often do a compile/execute. If it notices that this usually happened to files being saved in a directory called ~/c_progs (like I have).
I don't think it would be _too_ hard to implement. I have thought about this kinda thing in depth - well, knee deep anyway, not neck deep
There's no end to what it could learn. File dialogs could notice that certain directories are visited a lot and make them quicker to reach. It could not what kinda file extensions are associated with particulars dirs. If implemented properly it really could learn/customize stuff that the developers never expected!
Just maintain a big database of every "common" action the user takes. Events that happen within say five seconds of each will be stored in a list. Every so often (middle of some night) pump it into a program that looks for non-randomness. Companies like IBM are into this kinda stuff, AFAIR. Insurance companies would love it.
It's more a mathemical/statistical problem than a programming/coding one.
Blah Blah Blah. I must stop ranting (and going off topic)
-----------------------------------------
"If I can shoot rabbits then I can shoot fascists" -
The article features that old anti-UNIX argument again: that it's design hasn't changed for so many years (and therefor is outdated - that's what these people usually want to suggest).
The Windows design is still changing - in a desperate attempt to bring the virtues that UNIX has featured for a long time to Windows.
The MacOS design is currently being completely revised to be based on - UNIX!!!!
IMHO, the reason why UNIX isn't changing much anymore is that it does all the things it's supposed to do very well.
Just like sharks - biologists say they've hardly evolved for millions of years now - because they fill their biological niche perfectly, there's nothing to be improved anymore!
What was that clever sig again?
"Those who don't understand UNIX are condemned to reinvent it - poorly!"
(or something along these lines
"We won't use guns, we won't use bombs, we'll use the one thing we've got more of and that's our minds" - Pulp