How Configurable Should a Desktop User Interface be?
The Original Yama writes "In the world of user interface design there are two main schools of thought. The former maintains that the environment must be flexible and configurable enough to adjust to a user's needs. The latter takes the opposite perspective, arguing that many of today's user interfaces have become bloated and overloaded with features, and consequently have become difficult to maintain and use. KDE developer Mosfet shows how the KDE Project has managed to bridge the gap between the 'highly configurable' and 'less is more' camps."
But seriously, a gui should be fast! does not need to be configurable at runtime just fast fast fast!
It is really what the user can handle. If a menu was extremely cluttered with useless items, then there would be an issue. If menus adapted to our usage pattents that would be an improvement, look at the menus in Office XP and how they show only the most common entries at default ...
seems to me that it should be based on what kind of users you are expecting. Windows is not very changeable partly because the standard windows user will learn to use the interface given to him/her. with the more advanced user, with very specific needs and tastes, will want to be able to control everything. all that to say, its kinda hard to even imagine that such a bridge exists unless you want to cater to both parties. however, my hat is off to KDE, cause they do a pretty good job with both sides, though i imagine their standard user is a bit more advanced than many....
jsut a thought, at least
xao
xao
http://TheHillforum.hopto.org
When it comes to configuring the desktop, I personally believe that give as many options as you like so long as they can be locked by an admin. Nothing worse that having too many features on a public access machine. I find that most people use the defaults, except for changing the background.
If you use Windows and Stardock Windowblinds, you quickly realize that there are very few 'Skins' that allow you to use Windows as efficiently as the default appearance. The same is true of Windows XP themes, Winamp 2 Skins and Winamp 3/Wasabi skins. Even if they are beautiful, they have to have enough visual similarity to the original, or else the user ends up feeling that ha has to re-learn the interface.
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
A user interface should contain only the level of configurability that can be fully tested, and made relatively bug-free. I don't want WinXP type stuff that actually crashes my system, but I'd like to be able to do things like reskin my interface, and put any start menu or equivalent (or CDE interface bar while we're at it) at any place I like on my screen.
Bonus points for integrating a command line with the desktop, either as the background or in some toolbarish thing.
-Amalcon
No one complains until you start taking away features.
.
For instance, I sure miss the edge-flipping I used so much in sawfish/gnome1.2
Modular is a good idea, but you run the risk of overwhelming the user with too many possibilities, or having to include the modules in an awkward way - which has been a problem with the repacement windows shell LiteStep, and it's text based configuation.
These sorts of things are fine for advanced users, but your average Joe will balk when attempting to edit even the most simple of text configuration files.
Much experimentation will be needed for this.
It lives up to it's name: http://www.sanspoint.com
If the UI is completely configurable, eg, wrt mouse button function, how can I possibly document the functionality of my program? I can't say: Ctrl-Left-Click on this picture for foo-functionality, Right-Click for bar, Middle-Click for baz, because someone may have configured the UI so that the middle button closes the window, right simulates a double-left-click and ctrl-left might prompt them to save a copy of the picture in question.
Yeah, let's complain about the shortcomings of the Windows GUI and then proceed to completely emulate it when we have the unique opportunity to start from scratch and revolutionize before a deep-seated userbase has been established.
Although some may find this a convenience I have found that most beginner to intermediate users find this a nuisance.
The problem is that when choosing a command like Tools - Options, the user expects the Options command to appear at the bottom of the Tools menu where it traditionally lies. It is the relative location of the menu entry that is significant, not the actual menu text.
The same applies for dialog boxes. After you have used an interface for a period of time, you eventually get to the point where you can place the mouse cursor at the position on the screen where the control you will click will be, even before the dialog appears.
Lots of irrelevent menu choices is a definitely a bad thing (*cough*kde*cough*) but randomly moving menu entries isn't necessarily a good thing.
If you don't want to repeat the past, stop living in it.
Kind of like what GNOME 2 did and why I find it so annoying to use. All of the really useful features (like the task list only showing iconified apps, to name one of many) were taken out.
It's starting to slowly get better, and some options can still be set with the gconf editor, but some are just completely missing...
I'm a long-time Gnome user and was quite dubious when I heard that Gnome 2.0 was going to simplify the configuration operations. Having used various 2.x versions for some size months I've realised that there is nothing I've missed. I've come to the conclusion that while there are a lot of useful configuration options you could put in there are also a lot that are useless or could be simplified (but seemed so cool at the time). I'm generally for configurability, but sometimes a good purge helps.
I can't take anything Mosfet says seriously after his inane rant against RedHat's "crippled" version of KDE. The article linked to does not improve my opinion of him. "I think KDE is better than GNOME." Thank you for your unbiased opinion, Mr. KDE Developer.
KDE has lots of configurability and hides some of it to not scare people. Is this really worthy of an article? Does he really think he's found some new principle of design that he needs to share with everyone?
I rate his article:
0, Stupidly Obvious
-Erwos
Plausible conjecture should not be misrepresented as proof positive.
--sex
Very popular slashdot journal for adul
What would be the point of designing anything for the average user? The average user uses the OS that comes with the box when they bought it, or at most an upgrade to a newer version of that OS. The average user never gets anywhere near a Linux box, or KDE, or Gnome.
Lets think about designing stuff for the people who are actually going to be using it.
Better to be despised for too anxious apprehensions, than ruined by too confident a security. --Edmund Burke
The problem on most open systems is inconsistency, because there are many different interfaces. For example, on my Linux system, I've noticed almost half a dozen different file open dialogs. Any one of them would be OK (sure...some are better than others, but I could get used to any of them), but having all of them is a problem.
This situation arises because the user interface decisions are made by the developers of each individual application (either directly, or indirectly by which X toolkit they choose to use).
Here's what I want. I want to decide which file dialog I like, which scroll bar behaviour I like, what dohickeys are on the titles bars of windows, etc., and I want every program on the system to obey that decision when I use it, unless I specifically ask or give permission for that program to do something else.
Even though this is in the context of an OS' UI, I'll put this into terms with a single application's UI. I'm not a programmer, so what I'm saying is 100% from the end-user standpoint... There are a few main points I really evaluate when I look at a program for the first time: 1. Can I use it right off the bat? (not expert level) - does it make sense without having to read documentation. Obviously, when I would have trouble using some of the advanced features, or just want clarification of a feature, I'll go look at it. 2.Does the program serve its main intent? there are many programs which do serve their main purpose well, but for some reason, the devs get really excited and put in waaay too many features - this isn't bad if it doesn't slow down the use of the program and the program itself. It is bad if this clutters the UI to the point that its an eyesore - but on the other hand, if those extra 'buttons' to access the feature on default, it isn't intimidating for a first time user. What it comes down to for me is this: does the UI provide easy access to what I want to do, and is it easily customizable to get rid of/add what I want to do (power features) WITHOUT bloating the software, hence slowing it down... I have no idea if any of that made any sense, but I'm clicking Submit now.
The "desktop" metaphor implies that the ui should be as configurable as a desktop. Stable drawers full of crap, movable inbox full of crap, etc.
The user should be able to do whatever it takes to work better. As for the applications, I think this holds true too, to a lesser extent.
Very many tools seem to duplicate the workspace idea (Macromedia's MX suite comes to mind) so they should be configurable (to me, at least), but applications which don't replicate the workspace (e.g. a file manager, a text editor) shouldn't be user-configurable any more than an ink pen should be.
Personally, I want to be able to hack the living daylights out of everything in my environment. I dropped Gnome 2 because it started to feel like Windows. It reminds me of the early days of the phone company: you can have any color phone you want, as long as its black.
One of the major reasons the Windows desktop sucks, is that the programmers are forced to pander to some mythical vision of what "users" want that is the direct product of marketing and usability studies. Linux software is created by programmers who actually intend to use the software themselves, and it's better stuff all around. I am mystified by the attempt to adopt a process that has resulted in a car crash of a UI in the name of "making Linux mainstream."
Who needs it.
Win2k menus do this too. One of the first things I turned off. Just because a menu item isn't one of the things I haven't looked at today doesn't mean I don't want to see it there today. Intelligent submenu-ing of items into categories accomplishes the same thing, while not 'hiding' choices. Now obviously there can be a problem with this too, but I'm fairly sure that I've had less questions saying "Which submenu is blah in?" (cause it's usually intuitive) and more questions saying "Where did all my menu items go?" (cause those down arrows are not immediately obvious).
So, once again, Windows is not the answer to GUI design. What a surprise.
----------
(define (.sig) (cons 'my (list 'other 'car 'is 'a 'cdr)))
http://4horsemen.net
This sounds like a simple but it's a very important point. Configurability can be powerful but it totally screws up documentation.
It also makes it so that users from one system to another don't know how to use the UI.
Now, you can have high configurability, but in most cases THE DEFAULT configuration should be solid and easily available.
Simple configuration (like desktop colors, fonts, etc) should be easily available, but more advanced features should be kept for power users. And there should always be a quick way to "use the defaults" (like login dialog with a use default window mgr settings option).
- sigs are for wimps.
The UI should be appropriate to the task. Some tasks will benefit greatly from flexibility, some will not.
AutoCAD, for example, provides a pretty busy interface that regularly overwhelms beginners. However, it is also a highly configurable combination of command line, toolbars, menus, and context menus, with both scripting and programming facilities built in. When a moderately advanced user starts tinkering with it, the interface can be customized to provide enormous productivity gains for that user. (On the other hand, woe to the drafter who sits down in front of someone else's custom set-up.) It's very complex, and when I was a drafter I learned to love it.
However, as a drafter I was doing very repetitive tasks... I had small tools that saved me a few keystrokes and big ones that saved me hours. If I hadn't been doing highly repetitive tasks which were subject to some optimization, all that interface customizability would have been for naught.
Does an MP3 player need much beyond simple controls and playlists? I don't think so. Much of the customization in a program that performs a simple task will amount to eye candy... useless, but fun.
Simple tasks generally call for simple interfaces, while complex (and especially repetitive) tasks call for major customizability.
With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd
Personally, I found NeXTSTEP both easier to use and generally more powerful than MacOS X, and that was on a 25Mhz 68040. It really came into its own on a Pentium Pro or Pentium II with a (then) good 2D card like a Matrox Millenium.
"Efficiency" and "speed" are the result of "thinking" about the "system". You can build fast-and-pretty systems just as you can build slow-and-ugly systems.
Didn't come into my head. What instantly pops into my head is a fully loaded GNOME or KDE environment, running Enlightenment. OS X, unlike X11, had intelligent design put into the basic graphics environment, making the features of OS X easy to implement and pretty low on resource usage. Yes, implementing an exact clone of the OS X desktop on X11 would be horrid- but a lot of that resource waste would stem directly from X11's design, which is inadequate for efficient implementation of these features.
On my girlfriend's 233 MHz iMac, she has no problems with any of this so called "bloat," running OS X 10.2. The windows drag, the dock icons bounce, the translucent menus pop up quite well. Not as snappy as a very new Mac, but 10x faster than a semi-modern version of KDE and GNOME performed on the same machine (under Debian 3).
You see, OS X doesn't have to pull the same kind of hacks as KDE does to get something as simple as a translucent menu. OS X just includes an alpha the background color of the menu. The core graphics engine knows about alpha and can deal with it well. KDE, on the otherhand, has to take a screenshot of the screen, blend it into the background color, text, and icon images of the menu. Each time you open one of these translucent KDE menus. Yeah, it sucks, but there isn't much else the KDE project could do, other than encourage switching to one of the hacked X servers with built-in alpha blending.
Not to sound like I'm on Apple's jock, but jeeze, there's ignorant and there's just plain slashdumb.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
As mosfet writes:
Check this out to see a developers take on the whole "less-is-more" debate going on about Linux user interfaces
Now, I've no doubt he's a very gifted developer. But more often than not, a developers opinion on UI issues should be disregarded.
It's not because they couldn't potentially be good at it, it's because their brain is occupied with technical issues that have no relevance to an end-user.
Alan Cooper has written some pretty fine books about these issues, which I'm sure any developer related to UI design finds very informative. Some of the anecdotes are hilarious.
Unfortunately, it seems that Human Interaction Design is still not very high on the list when people design a product, resulting in there not being very many people that have specialized themselves in this field. It goes without saying that finding the right people for such a job for open source projects is tricky, to say the least.
As it happens I *do* place function before form when it comes to my house. Then I make sure that the function is performed in an asthetically pleasing fashion, without upsetting the function.
Thus my house is pleasant to live in AND look at, while being cheaper than the "standard" house to build and own and will be in good enough condition to hand down to my grand kids.
I configure my computer interface, as much as I can, in the same manner.
A salt box is practical and may conform to current fashion trends, but has continued to look classically good for nearly 400 years. Although a bit dour for some the Scottish Castle on the Moor has continued to asthetically please for a thousand years, and people will spend millions just to possess one.
It'll will still look good a thousand years hence, and perhaps will even still be standing.
Whereas today's "good looking" interface will simply look "Oh so early 21st century" five years from now.
Get a Cord L29. Nobody's built a better looking car in 75 years.
KFG
This is just the kind of thinking that is preventing Linux from becoming mainstream. Programmers/hackers like to be able to configure every tiny little aspect of their software, but the average user doesn't care about this - he just wants to use the computer to do his work. Windows, despite all its technical problems, gives the user a simple, intuitive interface that is exactly the same on any Windows computer. Linux people may claim they want to win users away from Microsoft, but to do this, Linux must be as easy to use as Windows. This means having an interface that is well-organized, functional enough that a CLI is never needed (but not bloated), and most important, consistent across all Linux systems. As long as Linux programmers continue to design the system to meet only their own needs, average users will not be able to handle it.
This article doesn't show anything of the sort. Having read the whole thing, it's just another article arguing that more configurability in KDE is better. There's nothing wrong with arguing this, but it certainly doesn't (successfully) explain how any gap is being bridged.
If anything, it again fails to solve the main problem that highly configurable interfaces have: That most people don't know what the best interface for them is.
If lots of configuration options are offered, people will choose what they think they like at the time. This doesn't mean they're right. It doesn't mean they'll get things done better or more efficiently. It doesn't mean they'll improve their reaction times with respect to Fitts law or Hicks law. It doesn't mean they'll have a better or more enjoyable experience using the interface. It doesn't mean they'll design a superior interface that'll prevent them from getting RSI or damaging their eyes. It certainly doesn't mean that someone else will be able to quickly and intuitively adapt to their interface, nor that they will be able to quickly and intuitively adapt to someone else's interface.
All that a configurable interface allows is for a user to change it to something that they think might be useful. Frequently, a person won't get around to changing the option, even if they realise they've made a mistake. Unfortunately, users aren't experts.
There certainly are problems that need to be solved, but the linked article doesn't solve anything.
I've come to expect a lot of bitching about gnome(-2.x) on slashdot, simply because the vast majority of users here are people who spend a LOT of time with computers. These are the people who bring up the dreaded workspaces vs desktops debate, bemoan the loss of edge-flipping, and berate the fact that you "can't do that neat thing I've always been able to do in WindowMaker." Others just shrug, smile patronizingly, and say "I don't see why everybody can't just use Emacs."
Ok, so, I have about 100 users in a large department all using linux -- currently both KDE and gnome-1.4 (rhl-7.3). All I can say -- I want an environment that doesn't require a computer degree to configure and operate it. Note -- my users are nearly all PhDs in Physics, or are on their way to obtaining a PhD in Physics, yet still they have trouble figuring out the interface. The notion of setting up our administrative assistants with a gnome-1.4 or a KDE workstation is bordering on silly at the moment.
However, looking at my shiny new gnome-2.2 installation, I must say that perhaps that is slowly changing. This looks MUCH more like an interface for the ordinary people who want to actually USE the applications, not hack them, or learn a separate programming language and a slew of wrist-numbing keybindings just to launch one successfully. Simplicity and responsiveness is the key.
Gnome is a very valuable project for those of us who are looking at maintaining a lot of desktops in a business or educational environment. Currently such setups are frequently limited to Windows or OS X, but both of these platforms come with a huge price-tag both in terms of the OS itself and in terms of admin time spent per each computer -- not only when it comes to the quickness of setup (remote customized pxe kickstarts vs. disk imaging, for example), but also in the area of patching and software maintenance (centralized package updating via RPM, including custom packages, vs... oh, hell, I don't know, everything I've seen on windows/osx is such an horrible hack). However, while administration benefits have been clear, adoption on the desktop has been slow to none, simply because there hasn't been a good, simple, and intuitive WIMP interface available for use on Linux for those who think of their computers as tools to do their day jobs and not in terms of a lifestyle or a political statement.
So, to those working on making GNOME a success on our business desktops I give a resounding cheer. To those who whine about workspaces vs. desktops, edge-flipping, and the fact that there are no longer five different clocks available for their panel -- I'm sure there is a windowing environment that will gladly welcome you. If you want eye-candy, look at Enlightenment. If you want a slew of features -- look at KDE. If you want lean-and-mean, look at WindowMaker and such.
But please don't abuse our cherished gnome developers if your favorite wm feature is not in 2.x, or that you cannot pass the --enable-throbbing-transparencies flags to applications any more. They are out to make a good business end-user desktop, and they seem to actually have a clue as to how to go about doing it. Now we need a gnome2-ified evolution and a decent gnome2-ified browser, and the underlying desktop structure is pretty much complete. Too bad OpenOffice(.org) is using its own widget set. I'm so tired of the "let's make our own widget set" mentality of modern projects...
Anyway -- Gnome2 developers: you are my heroes.
If you open yourself to the foo, You and foo become one.
Then ... profit
MSDOS: 20+ years without remote hole in the default install
I've turned full keyboard control on but I'm constantly presented by applications which refuse to focus to check box or radio button widgets with tabs. I can't even imagine what it would be like to use a mac if one were handicapped in any serious way. I have never had any problem using any PC OS without a mouse. On a laptop forcing a user to go to the trackpad to check a box before hitting enter should pretty much relegate doftware to beta status.
It wasn't until 10.2 that Apple finally standardized switching between open windows of an application with Option-~.
I had to install third party software just to get the dock on the right side (where as a poster below pointed out is where the mouse spends a lot of time due to scroll bars and volume icons being there by default).
I even had to create my own black tiff just to make the background black, Apple doesn't even let you select background colors (they use image files in their "solid color" option.
Also the horizontal lines on the default Aqua interface are in my opinion hideous. They make small text hard to read and don't offer any real advantage. Again it required third party software to install a theme that lacked the lines.
OS X is nice, but it is far from being the pinnacle of usability. If anything it is a clear example of an interface which has stressed learnability over usability far too much.
I'm not saying that GNOME hasn't had a lot of rough edges, but in it's current state of 2.2 it seems to have created a simple ui that is as learnable for novices as OS X. It seems to have done more work on acessiblity than any other desktop out there. But I can still define my own keybindings for sawfish if I so desire. It's just a pleasure to use if you're the sort that uses your computer daily.
Metamuscle.com - News in the Iro
> The primary goal all OS vendors, should be to make a quick and responsive interface that is easy enough for anyone
Yes, it's the task of the OS vendors to make the interface fit, not to everyone but to their intended audience. KDE as it is released is IMO a desktop for power users like Mozilla is a very complete suite to demonstrate all features and their binary builds are not intended for end users. Companies' business like Xandros is to tailor KDE for their users.
Then
For sure!
Profit for...
It's win-win for everyone except Microsoft.
Fire and Meat. Yummy.
Maybe we need more examples, but it's not only about keyboard shortcuts. That's a simple example to give, but not the whole story.
Examples of configurable things that can impact documentation of a product are window managers / behaviours, configuring "single click / double click" functionality, skins, etc.
Imagine you change to a look and feel where buttons are triangles. But in an application, the triangle shape represents some "state" or "status" information. Now the super customizable look & feel clashes with your application.
There are much better examples of this, but it's way too late to think of many. The point is, I'm not only talking about shortcuts, but UI configurability in general.
- sigs are for wimps.
It is not up to a Sun usability expert [to decide] what the best user interface is. It is up to the user.
No NO no NO NO ! Users do not know anything about what makes an interface tick!
Painting your car in stripes, adding fake exhaust pipes, Wunderbaums and antennae does NOT make it faster or easier to drive. Yet some people believe it does. They are called Rice Boys.
In my experience, cars that have been designed by engineers and usability people (from Lexus, Mercedes, what have you) are actually easier, safer and more enjoyable to drive than a Rice Boy Honda. These designers have spent decades on studying users and their habits. They are paid well for ensuring that all the buttons and controls you need are within an inch of your fingertips, and those you don't need are further away, but still within reach. These cars are also more expensive, but you get what you pay for. If your job is to drive a car for eight hours a day, you'd better get the most well-designed car you can afford; the choice between a Rice Boy Honda and a Mercedes should not be hard.
In the same way, if your job is to work with a computer for eight, ten or twelve hours a day, I'd expect you to get the best user interface you can afford. Anything else is plain stupid. How can you seriously believe that painting your user interface in stripes and adding blinken lichts and tons of eye candy would make it any faster, easier or more enjoyable to use?
Several years ago, Steve Jobs was heavily criticized for his decision to make the Mac OS X "Aqua" user interface look nice. Mac users thought that if Apple engineers spend their time on creating lickable buttons, they will forget about the usability. Their doubts were well founded, but luckily turned out to be unnecessary. The Mac OS X UI is a joy to use because of the underlying consistency, not because of the overlay of lickable buttons.
Until the KDE developers grasp that, there will be no Linux on the desktop.
--Bud
"highly configurable" and "less is more"? If you ask me, "highly configurable" by definition, incorporates "less is more". Or else it wouldn't be highly configurable...
Heh, on a side note I find it Ironic: OSes you deem bloated and "highly configurable" I have actually used the term "Less is MORE" when describing. Like OSX, even in it's simplest state, it uses MORE processor cycles looking pretty than I would ever want my machine using. At a conference I ran a TOP under OSX and watched as I simply drug a window around; it ate 85-90% of the CPU!
Less can definitely still be way too much!
I use XP at work which I deem "highly configurable" because I run it bare, looking indistinguishable from NT4.
The first few paragraphs are contentless fluff. He talks about how KDE provides premade GUIs etc - so? Every other windowing system does this too. A choice quote:
Perhaps his definition of dialog box is different to mine, but most useful apps provide at least some functionality via them. To claim that KDE provides every single dialog box is ridiculous, it does not, and even when apps have custom dialogs they still need to be internally consistant.
Assertions without supporting evidence do not make an argument. I don't know what that last sentance is meant to be, perhaps a jab at Nautilus, but I don't know of any "free code that's been commercially influenced" which is now "unmaintainable".
Mosfet is either ignoring or ignorant of the fact that at least Waldo Bastian and David Faure have been employed to hack on KDE, and I recall somebody named Lars working for TrollTech on KDE a while ago, dunno if it's the same person. The last statement is far out - Havoc never even implied that, and even if he had, mosfet neatly demolished his own argument in the first sentance.
More distinctly dubious thinking. The people who make the most noise are not your "userbase". They are merely people who are making a lot of noise. You've always got to remember the silent majority who are just using the software, not bitching at the developers. That means you shouldn't add a feature just because a lot of noisy people want it, you should evaluate a feature based on the arguments for and against. Obviously, if it seems to be a popular feature take that into consideration, but the validity of the change should always come first.
"Auto-generating your gui" is not using a visual designer like QT Designer or Glade. Havoc was talking about people who thought you could for instance take a list of properties and dynamically generate the labels, layouts and edit boxes at runtime. Mosfet has totally misunderstood this throwaway statement, choosing instead to yet again pimp KDE and Qt, which isn't related to his argument and can therefore be safely ignored.
He apparently hasn't looked into the GNOME2 architecture in any depth. Most stuff isn't "hard coded", it's lifted from GConf. When Havoc talks about preferences bloat, it's mostly in relation to a good UI. Mosfet makes another comment earlier on about how having settings in config files upset users - odd, but I haven't heard of any users being upset about settings being in GConf, maybe because using a registry-style editor is actually easier than editing config files? Maybe it's to do with the choice of what to put in the UI as well.
I could go on, but most of the other counter-examples he gives can actually be turned around on him (kde does indeed have unbreak-me features). Although he makes a few fair points, the way he presents them makes his viewpoint far less compelling. Whenever Havoc makes a valid point, Mosfet responds by saying "I don't think this is true, and I think KDE does it well" - which is not a counter argument.
Here's a prediction: the moment you succeed in making the distinction between "user" and "programmer" disappear, most of your potential users will disappear with it. Almost all of them who are not also programmers (in the old, pre-disappearance-of-the-distinction-between-users -and-programmers, sense), in fact.
Configurable desktops give users choices, and users like choices provided they're easy to make and easy to undo. Programming is about making decisions which are often hard to make and hard to undo. Unlike selecting a theme for a desktop, which is a matter of taste and the whim of the moment, programmers have to try to get lots of complicatedly interdependent things right in ways that matter.
I look forward to the first release of Tunes - hopefully some time before my retirement - with great anticipation, but at best such "entirely new software architectures" will empower some users do some things that they used to need to be programmers to do.
Experience is a hard school, but fools will learn no other.
I don't see why. Just because they can easily modify and extend something doesn't mean that people have to do it. Microsoft Office, for example, comes with a complete programming environment built in, but users don't seem to mind. In fact, many non-programmers program in it. It's just that such facilities need to become better and need become pervasive.
This is something being lost on both the KDE and Gnome camps...
Gnome 3.0 Nautilus will do non-linear video editing and have a SETI@home client built in as wee as integration with sendmail
KDE 3.6 will have built in SDL and drivers for Nvidia Geforce cards as well as adding at least 60 more blinking and beeping lights to notify the user that the program is in fact starting, along with instead of fading menus we will get particle trace menus that solidify from a roaming desktop cloud.
The feature adding is getting rediculious. Nautilus needs to be ripped out of Gnome COMPLETELY and returned to (gasp) the state of a FILE MANAGER.
KDE needs to remove 50% of the useless eye candy that slows it down horribly.
I'm using Slackware 9.0Beta and KDE3.1 is horribly slow on my baseline testing computer. A 256 Meg P-II350. yes that is a lower machine but if linux cant run decent on it then what's the point...Because Windows 2000 does.
Gnome is faster UNTIL you fire up the Nautilus nightmare... I cant wait for them to add the Gecko engine into it so I can render and author HTML from my file manager!... NOT.
The arms race of "we got more features" is getting silly. Configuration dialogs and ease is one thing that is important. everyone wants that.
What is keeping Linux off of Joe Computer's hard drive is the fact that 99% of the linux software DOES NOT HAVE AN INSTALLER. fix this one thing (Ohh I forgot Loki did) along with the dependancy hell that makes windows look well though out (If you use a non standard lib INCLUDE IT WITH YOUR SOFTWARE!)
Dont get me wrong, I absolutely love linux. but things are getting way out of control. we are almost ther eand could be there in a matter of days if all app developers stopped for a few minutes and downloaded and used the loki installer (or other installers available) and figured out how to seperate enterprise class Linux like we use today and reduce it to the braindeadness of XP home.
the last part (short of an ipchains gui... that would be cool) is something I never want to see... linux made so insecure that it's like any home version of a Microsoft OS..
Do not look at laser with remaining good eye.
7) More use of color. Humans are remarkably sensitive to color coding, but for some odd reason, current GUIs only use color for asthetic purposes.
And some humans aren't (sensitive to colour coding). Colour should by all means be used to enhance information, but it should never provide information that isn't otherwise available.
O frabjous day! Callooh! Callay!
If you're programming in VBA (or Guile / Scheme, say), you're programming, not just using. To the extent that you program, even in VBA, you're a programmer (although if you program in VBA, you're also a weenie). It remains the case that a programmer is something that, if you don't program, you are not.
But yay, obviously, for more open architectures. I'm all for an OS that works like Squeak but looks like less of a toy.
Experience is a hard school, but fools will learn no other.
Consider this:
- How much time do you actually spend setting up your desktop/preferences/themes/etc... If you're like me, once in the beginning, and very occasionaly a little tweak.
- If you take the previous point into account, don't you agree that these settings should not clutter up your UI, and be stashed away somewhere?
- The more choices are on the screen at any given time, the more time you loose making up your mind. You don't need the distraction of having to deal with prefs when working on something.
So, I personally generally like them "invisible" - give me good defaults, and no boatloads of pref applets. Gnome2.2 does this pretty well imho.
Now when I DO want to change something, I would be very annoyed if I wasn't able to. However, I think most people that want to change their settings are a bit more advanced (caveat: for this premise to be true you better have to have good defaults). I very much doubt that these advanced users (what mosfet refers to as the userbase that want their prefs) can't handle changing the settings in a gconf-like registry. After all, you don't need to do it that often.
If changing a certain setting in Gnome becomes very popular, someone will write a little frontend for it, which over time gets integrated in Gnome proper I suppose - that's what happens if there's enough demand.
Bottom line: make customizing possible, but resist exposing the prefs in the UI when it doesn't make sense to. The newbies and experienced users get something with good defaults that they can use right away, the experienced users additionally have the option of diving into gconf-editor when there's no pref applet for what they want. Since they do this really rarely it shouldn't be a problem, and it's a bunch of clutter, implementation work and testing that's avoided.
That way everyone's happy. Newbies, experienced users, and the developers/designers that actually have to implement and test the little UI's that end up everywhere and untested because it's such an obscure pref very few people use it.
Of course this only works if Gnome does actually expose the needed prefs through gconf - but since I've been using Gnome2(.2) I haven't found one I needed or wanted that wasn't there yet, so I suppose for this user they're doing a good job.
Configurability YES. Clutter NO.
Most non-technical users don't configure anything. They just don't see the need. If it works, why change it? Witness the enormous number of Windows users who have MSN as their IE homepage, who have Tahoma (or Arial for older Windows versions) as font, and who have the standard icky-turquoise, blue, or Teletubbyland backgrounds.
Hence, as long as the defaults are right, there's no great need to spend months umming and ahhing over just how configurable the interface should be, because most of your users won't even bother looking for the controls, they'll just take what they're given. Let's call these people the appliance users, because they tend to treat a computer as a simple appliance to get a few simple tasks done, and outside of doing those tasks they tend not to play much (apart from Solitaire and Minesweeper!). Some of these people are probably better off with a simple appliance-like interface like OEone, rather than a classical WIMP interface. Altogether, the appliance users are maybe 85% of all computer users, possibly more.
On the other hand, it seems as though technically-minded users prefer greater configurability rather than less. They do not mind spending half a day setting up their work environment, because they feel it gives them extra comfort and productivity in the long run, or simply because 'it's cool to make things work the way I want them to'. Let's call them power users, because frankly, that's what they are. This group is somewhere between 5-10% of all computer users, but are by far the most influential on the purchasing decisions of others because of their knowledge about computers.
Then there is a third large group, who sit somewhere in the middle. This group looks for a modicum of flexibility but also looks for a sane set of defaults, enough customizability to make a GUI their own but also to have an environment which 'just works' to get on with the things that they need to do. Let's call these people the 'happy medium' users. These users probably make up somewhere between 5-10% of all computer users, a similar figure to the power users. Apple specializes in catering to this group of users, and probably has a hold on half the users that belong to this group. With MacOS X, Apple have begun to branch out into catering for power users too.
This is what I don't understand about Gnome 2's change in direction: all the major GUIs make an effort to satisfy the applicance users simply by having an initial interface that's not too overwhelming and by having a sound set of defaults. Linux GUIs have made great strides towards satisfying this group in the last year or two - I think there's not much to choose between KDE and Gnome for this group, to be honest. Linux GUIs have, previously, always been good at satisfying the power users. However, Gnome 2 appears to have all but dropped support for power users in favour of catering for 'happy medium' users.
This doesn't make good strategic sense. They have dropped support for one group (power users) in favour of another group, less influential on computing purchasing decisions ('happy medium' users) of approximately the same size. They haven't gained any numbers in doing so, but instead have upset and annoyed a lot of their existing users, most of whom were influential 'power users'.
And why have Gnome done this? Sadly I think it is because their usability team is in awe (for evidence, see for example the essentially pointless button order switch to copy Apple's way of doing it) of what Apple has done with their GUI but don't understand that Apple is a niche player with a GUI that is heavily adapted towards their target market - the 'happy medium' user.
This is why I cringe whenever I see usability engineers talking about Apple all the time. Sure, MacOS has a nice GUI, but without understanding the reasons why Apple took the decisions which make it a nice GUI and the context in which those decisions were taken, you have learnt very little about it at all.
Until KDE or Gnome gets easier to install and setup, I don't have a choice but to continue to use Windows on the desktop. I know lots of you will say "Yea, but its easy, just do this...." but thats not the point. I get paid to make the company money while reducing costs, period. Since I am very familiar with Linux, and have run it on servers for years, I am a perfect candidate to switch once it is more cost effective. Because I am a bonified capitolist, I'm not interested in changing from MS to OSS purely for political reasons. It has to be for financial reasons. I don't mind learning how to setup Apache, sendmail, ftpd and other daemons that are directly related to generating sales, but I don't have the time or inclination to become an expert on setting up KDE, when I can just pop a copy of winblozes on our staff's computers.
Right now, it would cost me more to install a free OS, train, configure and maintain it, than to just use Windows to begin with. We do use Star Office instead of MS Office on most boxes that need it, saving us a wad now. That was an easy transition. We have switched most of the servers over to Linux servers, because they offer better performance on lower end machines, allowing us to recycle machines effectively. The problem isn't the Linux kernel, or supporting programs. The problem is the GUI. Since we don't use the GUI on servers, its not relevent. Since the users depend on the GUI on the desktop, it is very relevent.
Eventually, Linux will be more cost effective, and I will be the first to change every machine. Once the GUI doesn't have 1000 options to dig through and the applications don't all work with different hotkeys, that will be the time to switch. And while I am not a MS fan, the fact is they make a pretty damn good GUI. Give me a bonified Windows 95 (not 98+) interface on a Linux kernel, not just one that kinda looks like it, but one that WORKS like it, and I will give you a wad of cash happily.
Tequila: It's not just for breakfast anymore!
Yes, but why is it so necessary for Linux to take over the world? We have thousands of pieces of software, an extremely active user community, and we crank out absolutely fantastic stuff -- except, of course, the developers who are hell bent on trying to reach that 95%. That stuff, IMHO, is bloated, buggy, and derivative. And I think I know why.
This is one of the secrets of interface design, listen carefully: everyone is right.
I have been working on a next-gen OS user interface for about two years in my spare time. Some of you might remember a posting from a week or so ago; I asked what a UI designer could do to make some positive contributions to an Open Source project (and I got some great answers). Now, I'm going to ask for some more advice, and hope that this story isn't so far down in the queue that it gets overshadowed.
First some backstory.
This interface I've designed works on two guiding principles. The first being that users no longer need the desktop metaphor. It does away with it completely. The second principle involves chaging how you work by tracking different paths of behaviour on the part of the user. For instance, the OS tracks a History of Everything. If you've ever used Photoshop's History palette, you have an inkling of what I'm talking about. You always have available to you a branching diagram of where you've been and what you've done, into the past (to a certain extent), and have the ability to change your path or backtrack and try a new method.
I've also made extensive use of modern computing interface ideas. You still wave a pointer around using the mouse, and control things with the keyboard, as there is a certain amount of knowledge that cannot really be 'undone' in the typical user's mind. This is not a bad thing, but it does make it more difficult to truly break new ground. One instance in my project is the use of GUI Windows - I've basically done away with them in favour of Pie Menus. Window-pane type objects still exist when appropriate, but generally are reserved for Applications (another paradigm that is necessary out of pure economics).
Anyways, I don't want to give away a whole lot here yet as I'm still finishing it. It's in the form of a Flash projector that you can run full-screen to get an idea of what I'm talking about.
Now, my question (still with me?)... do you, Slashdotters, think that you would truly be willing to 'put up' with a radically new interface paradigm, if you thought it was worthwhile? I know the question sounds a bit spurious, "of course I'll use it if its better". But you need to think. The very limited testing I've done with a small group of people has had great feedback, but also great growing pains. The grip that your UI habits have on you are incredibly strong. The vast majority of frustration amongst users occurs when they become accustomed and familiar with a particular function, and then it changes on them. Even if the change is better, it is fequently painful for the user -- even to the point where they will discount the experience entirely as being 'not right'.
Of course, my project could just be an abject failure so far. :) But I don't think so. Personally, i believe that using a computer should be like playing a piano. The information should just glide, enabling inprovisation, suggesting alternatives, and generally a whole lot of fun. Think Minority Report. Didn't you just giggle when you saw that interface?
Anyways, enough gibberish. Slashdot, your thoughts and suggestions are much appreciated, as I am basically targeting this UI initially as a windowmanager replacement for one of the Linux distros and possibly OS X... and moreover, I am targeting this UI at YOU.
Thanks.
If Jesus wants me it knows where to find me.
I'm sure this won't get noticed and I'll bet I'm repeating something else, but here's some more gas on the fire:
Put as many options as you possibly can in there. And then some. Let the user custimize his system to his personal tastes so that when he clicks "Login" he feels at home.
On the other hand, to reduce system bloat, only install/run/use good defaults. I wouldn't mind the features of Windows if they didn't decide to turn them all on by default, and the same goes for other OSes as well.
The idea that you can't have many options and little bloat is a myth. Good defaults make it possible, and all developers should understand this.
~Dalcius
Rome wasn't burnt in a day.
Something that never ceases to amaze me, in my decade of using both Windows and various Unices/Window Environments, is that even in the year 2003, cut-and-paste between apps in Unix is still spotty.
No, they are guaranteed to see downtime for worms and bugs. Linux has more than it's fair share of silly errors and stack buffer overruns abound. Don't believe me? Check out Debian's security announcements for this year alone. And the worms will follow. They were born on Unix. It doesn't matter how configurable or how securable a system can be.
Indeed; no software will ever be perfect. But I think that Unix (Linux being a derivative thereof) has a better ground-up concept for scalability and securability.
I think open source is a double-edged sword here. Open source lets the peer-review process close holes - but at the same time, digging out the source code that a given webserver is running would allow one to look for possible weaknesses.
I personally think Windows is damned securable as long as the person behind the keyboard puts in some effort.No one knows more about Windows security than Microsoft, and even so, they keep on getting hit by worms and attacks.
Windows is obviously quite securable - I'm sure that www.microsoft.com must be a prime target for crackers - but it feels like security has been tacked on after the fact. Look at Windows' ancestry - single user, single computer, single tasking operating systems (CP/M begat DOS which begat Windows which begat Windows NT). Windows itself grew out of that as a series of additions and major redesigns requiring backward compatibility. By contrast, Unix (and its first-order derivative, Linux) grew out of an environment where one computer cost $12 million and had to be used by 1,800 people simultaneously - security had to be inherent to the earliest designs.
Microsoft has done impressive things within their design constraints, but I still don't see it being much more than a sun-room tacked onto the side of a mobile home. There's still no foundation.
Fire and Meat. Yummy.