Why Do GUI's Look the Same? 21
MaxVlast asks: "I was browsing around Helix Code's site looking at their interpretation of GNOME when I found the program that they claim is 'the next step forward in GNOME applications,' Evolution. I was startled and upset--this program is, from what I can tell, a direct transfer of MS Outlook to Linux. It's bothered me for some time that the two major file and desktop managers for Linux are all clamoring to look more like Windows than their competitors, and in the scuffle, are missing some very effective paradigms (like Miller columns). Do people think it is good that Linux seems to be shooting for the 'looks like Windows, but without all the features' market? The popularly available apps seem to say so." Please pause for a moment before saying "But you've done this already!". Before the question was "Do new GUIs exist?", the answer to that was a resounding yes, but now the question is "Why do our applications still look the same?", even across platform boundaries and for two different applications?
Why does Evolution have to look like Microsoft Office? I'll buy the form-follows-function argument to an extent, but there are other alternatives to things like the standard menu/button bar and other GUI elements that could be applied to applications and at the very least, give users more choice in how they operate. Are there any projects looking to bring other not-often-seen UI elements like pie-menus and the previously mentioned Miller Columns [?] to our applications?
Market (Score:2)
A few reasons... (Score:3)
2) Good HCI/CHI specialist are few and far between. They will not usually be found working for free.
3) Business interests. Corporate backers of projects seem to all have this big idea that millions will be made selling support to corporations that switch to Linux. Give the users clones of the defacto standard word processor/email client/office package and away we go.
4) A general lack of creativity coupled with a revulsion at the mere thought of reinventing the wheel. Unfortunatly people forget that the first wheel was actually square until Ogg reinvented it, this time making it round.
5) A lack of consumer commercial application development experience. The needs of users and programmers are very different. Students and former sysadmins often have poor design judgement simply from lack of formal app dev experience.
6) Id, Ego and Superego. Many programmers are quite full of themselves and will do things their way...right or wrong.
7) Reuse, reuse, reuse. The standard widgets are already geared toward cloned windows applications. Creating your own set of widgets prevents the immediate gratification of mocking up a clone of outlook or word.
8) X-Windows. No matter what anybody says, X-Windows is the single most powerful force holding Linux in the late 80s and early nineties. You can dress a chimp in a suit, but at the end of the day...he's still just a crap flinger.
Jeez I could go on for days, but...
'Look' is different from 'Feel' (Score:4)
Case in point: How they differ in handling opening messages. Outlook will keep each subsequent opened message maximized after the first one was, whereas Outlook Express doesn't seem to be able to remember such a simple thing, even after several major revisions. Amazing innovation there, eh?
Whether Linux/BSD apps wind up 'looking' the same as Windows apps is not as important as the question, "Will they WORK better than Windows apps?" Even aside from the feature-set, do things make sense? Are they consistent? Are options located in the menu pull-down common sense would suggest, or in the Microsoft 'innovative' way?
I love many of the features of Outlook, but hate how inconsistent many things are, and some of the simple lacks are quite astounding. I don't even use probably more than a third of the features it has, either, and I run into things all the time that bug me about it, which I cannot change. Simple things like automatically moving a particular account's email into a specific folder. Outlook _Express_ has had that feature for a VERY long time (since it's first version, perhaps), yet the supposedly more-robust product, Outlook, does not. WTF?! People say MS is good at code reuse, but you certainly can't tell it from Outlook and Outlook express. Maybe they share crappy HTML renderers, but certainly not many other basic things.
I have high hopes for Evolution and other upcoming email clients on Linux/BSD, simply for the fact that those platforms encourage software that is much more configurable than your average Windows app - Choice is Good, and is pervasive on those platforms.
I think many of the 'look' parts of most Windows apps have been shown to have good usability (the looks of the widget set in particular), and I'd like to see all the GOOD stuff brought over to Linux/*BSD for sure. In particular, I'd love to see that completely STUPID diamond-shaped radio button go the hell away - it's terrible from a usability standpoint. The round one from the Windows world (or wherever it originated) is great, and MUCH easier to determine the state of than the diamond one.
The HTML-as-application-interface idea is, IMO, quite horrible as it's so incredibly slow. It's slow in MS Internet Explorer, it's slow on Mozilla, it's slow on MS's new MediaPlayer (in fact, there's it's AMAZINGLY slow). It's just slow. I don't understand why those developers don't notice it. I'm on a 400MHz machine with 128Meg of RAM and a nice video card, and it's still friggin' slow. "Long live Galeon!" is what I say.
I originally thought the whole XUL thing in Mozilla was a great idea until I experienced it's speed. Or lack thereof. I know there are supposed to be speed enhancements coming up in a few more milestones, but I dunno - if it's THAT slow now, I'm not sure how much faster it could get - I'm quite doubtful it can get up to the speed where I wouldn't notice the difference between it and a regular app, and that's the speed I want. Extensive customization is _fantastic_ in a UI, but not if it comes at such a heavy speed penalty.
I think I measure the sophistication of a good GUI in these areas: extent of customizability, consistency, features, speed and usability. You can skimp on a few of them to some degree, but you need to make it a pretty well-rounded experience if you want to succeed. I'd say features and usability are typically the things that fall by the wayside in most GUIs, and features come in over time (and usability usually goes away over time - see also: Photoshop - too many features in a UI that was never designed to handle that many). With customizability often comes speed-dehancements, it seems, and with many features comes degradation of consistency, unless you're willing to restart your UI from the ground up when it becomes necessary. Photoshop could _certainly_ use that!
Another thing would be meeting the expectations of the target platform. Again, Photoshop is a great example of bad UI design. Photoshop started out as a Mac app, and you can still, to this day, see LOTS of interface weirdness in that application on the Windows platform that you'll never see in any other Windows application. There are numerous examples of weird widgets that have VASTLY superior analogues in standard windows widgets, but you'll likely never see them in Photoshop, I bet. Easy cross platform development is nice, but it should _NEVER_ get in the way of a good and consistent UI. EVER.
Okay, enough ranting for one night.
Re:Market (Score:1)
The problem is that for the server market, all the major players have a robust and well-developed GUI-based configuration tools. When done correctly, these tools do save time and training costs for companies.
Linux has X and a variety of haphazard tools. Yet, it isn't even where NeXT was back in 1987.
Because habit beats learning (Score:3)
Because everyone has gotten so used to its interface, developers of other systems mimick lots of Windows tricks and features - some extend it, some strip it down, others improve it, but they all base their system on that well-known system, causing everything to look alike.
Why do they do that?
Because it's easier (not necessarily better) for the users! Learning can be fun and easy, but old habits are hard to break. Most users have grown so familiar with a Windows-like interface that operating such an interface is almost intuitive. The interface itself isn't, but the habit of having used it before is.
This also applies for ATM machine interfaces, mobile phone displays and buttons, etc etc.
Re:A few reasons... (Score:1)
It must be powerful to time travel like that :-)
Re:Because habit beats learning (Score:1)
Most automobiles have the same basic user interface: gas on the right; brake, parking brake/emergency brake, and clutch on the left; shifter, climate controls, and radio on the inboard side of the driver; turn signal, lights, and tilt on the outboard side, I would have a dificult time learning a car/truck/bus with most of those features moved, so auto manufacturers keep them in the same general location, at least where we drive on the right side of the road.
</end Bill Gates paraphrase>
Win 95/mac OS was the major inovation in computing to get the masses and the lusers on the web and on their wintel machines, like it or not, xerox created it, mac stole and implemented it first, and M$FT brought it to the masses, its a good core design, why mess with it unless it will become more intuitive and less taxing on the system. One of my hopes is that when NS 6 finally hits market they will have a "classic" skin that looks like NS 1.0-4.x, otherwise the user market is going to have trouble learning the better browser
Fist Step (Score:1)
So what, it doesn't have all the code in place yet to be the ultimate desktop. Doesn't mean we should leave it for dead when searching for desktop OS options. The whole idea of Linux is to implement code as is needed to facilitate applications.
And I sure as hell would prefer to use Linux as my desktop OS over Windows or MacOS (sorry Apple, I don't think your innovative enough these days). And when using Linux as my desktop OS, I want an intuative, feature-filled, and customizable GUI -- one that can rival atleast Windows, then MacOS; although I don't care if it's not all there from day one. So if we start by mimicking Windows type controls and look, so what? If you don't like the Windows look, hack in your own prefered look. Let's add some Mac and BeOS to the mix. For all the Mac fans out there: I hate to tell you this, but you would probably be better not waiting for Apple to implement it.
Better still; let's focus on customization of App. front-ends and window manager menu and desktop interfaces by enabling skinning through a full-feature front-end architecture that is not only lean but actually offers control and window placement options that a user can configure (WinAMP skinning is an example of an unworthy skinning architecture offering very little in the way of position changes of controls or enable/disable of controls). We need something better than basic skinning. We need to take some from what has already been done in AfterStep. What also comes to mind is the Mac and it's resource files and how they interface to the code to create dialogs and windows (DLG, WDEF: that can be edited through ResEdit). Although I am sure we can make a much better implementation of resource defenitions. Also another example of what we need is a Visual C++ style window and control layout tool that a user can use to make a layout preference for the application. The Mac never supported skinning fully, and the hacks that did work to enhance the look and feel, were prone to incompatibility as newer versions of the MacOS where upgraded. But in the Linux world, this shouldn't be a problem due to the nature of OpenSource, if we can agree on taking it to the next level by sticking with a few main standards and building on them. And looks like Gnome and KDE are going in the right direction. But if need be let's hack at X itself and related tools until it is fully capable of what Linux and BSD need: a real and fully featured desktop.
Re: Mozilla not _that_ slow (Score:1)
Regarding the point in the above comment about Mozilla being slow. Well, the standard download IS a little slow, but this is currently a work in progress and certainly hasn't been tuned for performance. Would you rather have something that works and runs a little slow or something that screams and crashes all over the place. (yes, I know that Moz runs like a dog and crashes also at times!)
If you take the current (M16) source and compile it with GCC optimizations switched ON then the performance is greatly improved.
OT: Integrating email clients with Outlook (Score:1)
While we're talking about non-Outlook email clients that LOOK like Outlook, are there any non-Outlook email clients that WORK with Outlook's corporate workgroup stuff? Or does someone know where the API to build such a thing is?
The reason I ask is that I'm forced to use Outlook at work so that we can all schedule meetings conveniently over the Exchange Server. Outlook used as a personal client is not bad since I could fully manage all 50 billion of my email accounts from 1 program. The corporate networking mode won't allow you to send email from different accounts unless you shut down the program and login again under a different user profile.
Does anyone know of any Outlook compatible email clients that will let you do this? Or point me to the appropriate API's to build such a thing?
Miller Columns? (Score:2)
I did some quick searching, and came up with nothing but a bunch of newspaper columns by some dude with the last name Miller.
Are they a new GUI item? Like the text box, or the drop-down list box? but something new?
Is there a site that describes GUI items, somewhere?
Re:Market (Score:1)
Maybe because it works? (Score:3)
Different GUI != Better GUI (Score:2)
As proof if this I'd like to point to the more recent trend of skinable GUI's. Winamp, Mozilla, MS Windows Media Player 7, Sonque, K-jofel, etc. They almost all allow the user to pick a new skin. Which means they get a totally different interface. Usually they have the same number of buttons and those buttons retain the same basic function, but they can me moved and changed in any number of ways. This can be confusing sometimes and, at worst, it can make the app totally useless.
Even slight changes can cause problems. For example, Quicktime 4 Player for Windows has it's own skinned look, but the play button is grey when the video is not playing, and white when the video is playing. This is the opposite of the general standard. i.e. it looks like you can't press the button when you are actually supposed to press it.
Granted there are a number of people that really enjoy making the desktop look a certain way, reguardless of useability. Check out themes.org to see tons of configurations and widgets that are hard to read and understand. Let those people do whta they want, but let me have clean black text on a white background and easy to understand icons and widgets.
My point it, it's more important to be consistant and have a functional GUI than it is to do something "cool" with the GUI, for most people.
GUI does and don'ts (Score:3)
It is so much easier to know what to expect.
BUT...
I have also seen where the UI is the same, but an optional 'advanced' UI exists, such as with A|W's Maya.
Yeah, they have menu bars and drop boxes, but they also have hot-menus. The ability to hold down the space bar and chose with the mouse anything under the title bar menus is nice.
I think that for a new UI to be good it needs to be backwards compatible or be so easy to understand that it becomes second nature in 10 minutes. People drop programs, sometimes, not because of lack of features, but not being able to get to the features easily.
Re:Maybe because it works? (Score:1)
I could be wrong, but I think they pretty much bought it from someone else [roguewave.com]
That doesn't mean they didn't invest and pay for this technology. It just means that sometimes what Microsoft calls inovation is really licensing,merger, acquisition, and creative funding.
timbu
Re:Miller Columns? (Score:1)
Or maybe it's Miller of the Amulet Project [cmu.edu]?
Re:'Look' is different from 'Feel' (Score:1)
There is actually a fix for this, although it seems like a kludge. Open up an email and it will open up in a small window. Now use your mouse to drag the corners until the window takes up the entire screen. You can now close that window and every window you open in Outlook Express should open up maximized from now on.<br>
----------
AbiWord [abisource.com]: The BEST opensource word processor
Re:Because habit beats learning (Score:1)
Be adventurous! (Score:1)
Bad meme alert (Score:2)
The Xerox system that the early Mac team saw bears little resemblance to what we think of as a modern GUI. For better or worse, the creation of the Macintosh Human Interface Guidelines, represents the single most influential event in GUI history. Microsoft implemented poorly what Apple had created, then brought it to the masses.
The idea of a GUI is obvious, but gods live in details, and that is where Windows and the MacOS differ. What's needed now is close study and revision of the "laws" of a successful GUI.
Look at Palm. Brilliant GUI in 160x160 pixels.