Over in the Linux thread I made a post regarding Ubuntu's Unity, where I suggested that a problem with the way it was implemented was that it was forced on the user. My more general proposed solution was that something needed to be adopted where user's were given a choice - in this case a 3-way between "Windows-ish" "Mac OS-ish" and "Ubuntu".
People did not like this - the counter-point was that giving the user too much customizability at the outset was a bad choice. Which to an extent, is a good point (though I would suggest invalid for other reasons but I digress).
But the notion got me thinking about the current modern trend in UIs - namely, what I see as a slightly odd movement away from customizability. And I don't like it.
To my mind, the endpoint (or at least, stable equilibrium) of the development of the computing age for me is the notion that at some point people's computing environment will be essentially an important part of their identity - rather then something replaced device-to-device. People organize their house in a way they can deal with, they don't tend to buy it pre-furnished and when they do it doesn't stay that way.
To my mind then, it seems like the trend of forcing new UIs on people - at least on the PC platform - is counter-productive. The idea of "everything is done this way" is almost exactly the opposite of what we want, and instead what we should have is a default we can start from which is customized to the way the user wants, and - importantly - is preserved across updates and system upgrades.
So what does D&D think? Is my vision of the future impossible, desirable, or absurd? In need of more detail?
Posts
Because they are wrong. I tried to like it for two weeks to a month, I just couldn't do it; though that was due, in part, to bugs in it's operation, and not entirely due to it's intended function. But I digress
Yes, ELM, your future is desirable. The notion of a UI that you cannot alter is a very silly one indeed. There is something to be said about giving developers a set of consistent UI features they can write to, but if you want to move that shit around, that's really up to you. Could it make your experience less pleasant? Yes, it could, but you did it. You made it that way, and you can change it back if it becomes a problem.
Generally, the more customization you offer users, the more ways they can "break" their systems. It can turn into a real pain in the ass from a support perspective.
Additionally, people are lazy. If you give people a meaningful and useful organizational scheme, most will prefer to just use it rather than create their own.
Finally, if everyone has their own custom UIs, sharing of devices becomes more difficult. I wouldn't be able to just pick up my girlfriend's laptop and start working on it, if her UI is a mess from my point of view. Granted, as personal portable devices become more ubiquitous, this becomes less of an issue.
The support angle can be an issue, but that can be argued for any feature. The variation in hardware configurations has long been a problem for PC game developers, for example, but I'd say they've soldiered on.
So I guess my point is, there are some things about UI's that really won't hurt to make them more easily customizable.
Yeah, I was actually going to suggest UI's could be pushed to the cloud, but then I got a call and had to do work for a minute.
However, it's a basic fact of life that everyone is creative in different ways. You don't let just everyone pick your wallpapers. I like to mix and match the creative designs of different people with different specialities and I hope I will be able to add to the world wide stock of design in a meaningful way. Another basic fact of life is that different people will consider different stuff beautiful. And that these tastes can change over a lifetime.
To specify on the discussion of UI modifications: I want UIs made by people who are good at it. Who have the technical know-how to make a functional UI and who have the artistic skill to make something beautiful out of it. If I were good at this I would like to be able to make my own UI and share it with the world and if I'm not I want to be able to use the creations of others.
As with everything we design: give me some prefab solutions and give me the tools to make my own stuff. Let me pick what I like and I'll make my own inspiring environment. Basically: check out Firefox and its Add-ons and skins.
Look, ten years ago the main complaint against most Linux UIs was that every program would have every possible customization option, to the point where you had absurd options screens with like twenty pages and three dozen options per page. Hell, it's still like that in some places: take a look at Compiz Config Settings Manager some time. Does the end user really need to be able to configure the spring coefficient of the wobble for when they drag a window across the screen? Really?
You've got a limited amount of options space before the end user finds the program bewildering. More complicated and important programs can get away with more configurability (a PDF reader doesn't need a "preferences" dialog at all, whereas the one for your web browser might be somewhat complex). UI stuff is the same way. Ubuntu needed to pick one, and they decided that the direction Gnome was going wasn't what they wanted. (For what it's worth, I've used Gnome3 and Unity and preferred the latter quite a bit, although both are too damn buggy right now so I'm using good ol' XFCE).
There need to be defaults, and the defaults need to be good. After that, not before, is when you start worrying about customization options. Which, by the way, take time and effort to include: it's much easier to write software that the end user can't fuck with too much.
If you're going to have customisation options, keep them out of the way. Don't make users make decisions before they understand them.
It really wasn't THAT long ago that people were using green-screen dumb-terminals that were horrible to look at, but obviously since society didn't come crashing down, we got used to it. Now these same people are bitching and moaning when they can't change their font to a certain favorite color to match the season or change their outlook stationary to some ghastly, unreadable, pretentious nonsense.
Enlist in Star Citizen! Citizenship must be earned!
WoW's first step to solving /any/ problem you have is "delete your cache and addons."
I do think the layout of a UI is one element of "branding" which is probably one reason many software developers shy away from offering the user too much customization.
But overall, I have noticed this trend toward what I call "enforced UI" lately and I mislike it as well.
"Into de fault."
I would say that most people would benefit best from a largely rigid UI that allows customization of a few bits here and there. For example, where to put the task bar in Windows. That is the highest level of customization that most people can handle without freaking out and making the whole thing unworkable (and, subsequently, forgetting how they did so and thus being stuck with it).
That said, customization is awesome for advanced users, and the best high-end software packages always allow you to customize the shit out of things, up to and including getting rid of the UI altogether and just relying on keyboard shortcuts and the like.
I think the best system is one in which actually getting to the point where you have a lot of options should be blocked from the causal user via making it non-trivial to get to those options, but once you get in there, making it easy and intuitive (at least for those who are computer savvy) to switch things up. But, say, sticking a giant button in the middle of the screen that allows you to change all the keyboard shortcuts is just asking for trouble.
A large part of the issue, I think, is that people are lousy at knowing what they actually want, and what they think they want is often terrible. A decent UI developer will generally know how to make things efficient moreso than a novie end-user. I mean, no matter how much you think you want every document on your computer accessible as an icon on your desktop, this is probably a stupid idea.
Isn't this pretty much standard design philosophy these days?
Make a good UI, allow some superficial customization and then hide the advanced options somewhere that's hard to find. Customization is all well and good, but you want your product to work well without it. And when someone does want to do it, you don't want to overwhelm them with options.
For other software a multitude of options can be overwhelming. This can be easily solved by merely having an "advanced" section, where all the, well, advanced stuff is. The stuff that the casual user doesn't really have to mess with, especially UI customization. Its handy, sometimes, but I don't want it cluttering things up. I do like to have the option though.
Customizable UI is a nightmare for tech support, honestly. Even if we're not talking about Seol's extreme "I clicked a button and my entire UI went away" example, it is a pain when you're trying to walk somebody through steps on the phone and menu options aren't in the places you expect. It is a minor irritation when I'm trying to tell somebody to get to a control panel option over the phone and I have to guess whether their start menu has a "settings" or a "control panel" option, or when their control panel is set to only show some icons. It's more than a minor irritant when I'm trying to write up step-by-step documentation for something.
It also makes training a little more difficult. Users who were taught by one trainer to use keyboard shortcuts can get confused by another trainer who uses toolbar buttons. And again you run into the "I don't have that option, where is it?"
There isn't a hard dichotomy here, but there are tradeoffs - what would you rather a software developer spend development and support budget on? More customizability, or a better default UI?
the "no true scotch man" fallacy.
Yep. This is basically what keeps Macs in business. Top priority is UI design; development resources are spent on customizability as a secondary priority. And it works for the majority of the users - as it should.
UI design and efficiency are topics in which it is possible to have experts; people who watch and analyze tasks to find the optimal way of doing something. And most people just want to be shown the best way to do something, and then they're going to do it. Honestly, the average user is not going to build a better UI than a professional UI designer. They're just going to fuck it up.
Are there exceptions? Yes! Absolutely! Nobody is perfect, even an expert, so it's unavoidable that some power user somewhere is going to find a way to make a UI better. Build a product that attracts nerds and hackers - say, WoW - and you've got a pretty good chance of somebody building a better UI (and nine thousand terrible UIs).
This also has a huge relevance to people with disabilities. In web design there's a close connection between UI customizability and accessibility. A UI that can be easily chopped up and rearranged - that is, one that is semantically correct, uses open source technologies (ie, not Flash), and separates form from content, is going to work with screen readers, braille displays, high-contrast display settings, and so forth.
And I imagine the principles are similar in application and OS design. If you hard-code what an OK button looks like or where the OK button is placed, then a high-resolution high-contrast screen is going to fuck it up - either make it the wrong color, or push it off-screen. I'm guessing, anyway.
I guess the short version of my point is that most people don't want or need UI customizability. They're not stupid for that; arguably they're wiser (a wise person knows not to fuck with something that somebody else has already done better). But for the minority who do need it, it's really important. And for some people it's not a nice-to-have, it's a need-to-have.
the "no true scotch man" fallacy.
And I tend to lean towards the better UI. While power users can do UI customization that can vastly increase productivity, they also make up a very, very tiny subset of users. Unless your software is an add-on catering to power users, then your better option is to focus on a UI that the majority of your users find easy to use. One of the companies we compete with has fallen into that trap it's created a nightmare for them.
They developed a highly flexible UI that can be almost completely reskinned by the user. It has an ocean of settings, but the problem is that it's created such a complicated UI that it's assumed by both the integrator and the manufacturer that as part of the purchasing process, a consultant will be hired to train the users on the software. And rehired anytime there is a personnel change. Given that the primary purpose of the software is to view security cameras and recorded video, this is absurd. It adds tens of thousands of dollars in cost to a mid-sized system.
Apple extends this philosophy past UI design as well -- take a look at how the iPhone and the app store work for example. They exercise a certain amount of control over their products, which usually results in better overall usability.
Like I'd like to be able to copy something to slot 1, something else to slot 2 and then paste in the copied stuff in slot 2 in a document and the same for slot 1 in a convo.
If customizable user interfaces can give me this then I'm all for your vision.
Yes and no. "It just works until it just doesn't" is a common complaint.
"And then it won't tell you why it didn't"
Older versions of Office supported this functionality. Being part of Office's UI meant that it was confusion and generally avoided at all costs.
Of course, I also, to a degree, expect the defaults to be sane in Linux, but if they won't let me change them because they're sure their design will be better than mine, then I can safely say I won't be using their distro for very long.
Customizability is a huge part of the fun in any software for me and I am actually likely to run a piece of software that maybe is a bit less stable over one that won't allow me to customize anything. That might be crazy, but if I use it every day, I want to feel I have some influence over how it functions.
This. If you design your system to be modular, it will make it easier for you to make changes to it as well.
Over complexity: Stash all the minutia in an "Advanced" panel.
Tech support: Under UI options, enable a "Tech Support Mode" check box that will revert the UI to defaults, but store a copy of the User's current settings to be restored when disabled.
If the problem is with their UI config, it will quickly become apparent and they can be directed to un-fuck themselves as needed.
Which is something that a lot of UIs do by default. I really want to smack whoever designed the "we'll hide what you're not using a lot!" menus. It works in some cases (Win7 start menu), but in most cases it just either A. adds a step or B. makes me hit the wrong command as the UI has moved on me..
Plus, it only worked in office. So copying and pasting to/from office was not consistent with copying/pasting within office.
I fucking hated that shit more than clippy.
That and the multiple versions of what control panel display are both huge pains in the ass to support. Windows 7 does a very good job of searching control panel settings,right from the little dealie built into the start menu. I, working on a system or talking someone through it on the phone, just go to that and search for what I want to change. It really works out quite well. It will dig pretty deep into menus and returns pretty good results. You can get to most things with a very little bit of typing and a couple clicks.
Some things are elegant flat colours and gradients. Then you have the compass which has this garbage semi-realistic facsimile going on. The notes function is supposed to look like a real, yellow lecture pad.
The inability to change the look and feel of these things to provide a more cohesive experience was a total nagging pain for me.
The point of my story is: If you're going to lock something down, make up your damn mind and make it consistent.