Advertisement

User Interfaces: Software Settings

Started by February 01, 2012 08:30 PM
57 comments, last by Antheus 12 years, 7 months ago

@alnite: This method is often good, and is practiced to some degree (e.g., Windows settings are split into many different areas, and settings tend to be per-application rather than global in most platforms). But can it always be done this way? Where are the network settings? Where does an email client put server settings? Do I have an annoying always visible "click here to change wallpaper" on the desktop?

Maybe not always, but I think it should be adopted more. The history easily comes to mind because I always go to the History menu on Chrome, but to find that I can't even clear my browsing history from there. Signature is another one. I've spent about half an hour looking to edit my email signature on Outlook, before giving it up to Google. Just pretty bad usability, and I am no average user. I couldn't imagine what nightmare would be for average non-technical people.

I thought Apple products in general is better in handling this, though sometimes I feel like I have to put more clicks than necessary just to get there.
"Do everything for you" Is a nice idea for a computer to have. However, it can have terrible side effects.

Consider this example from a "Friendly, I'll handle all that for you" computer system.
I recently picked up my first android based phone. One of the first things I did was link it to my GMail account so I could check it while on the go. The phone's software happily fished my account for names, numbers, and email addresses.

Good idea, right?

My phone now has a list of around 500 email addresses, offering no obvious way to delete any of them. These weren't actual contacts from my GMail account, but rather all the email addresses I have sent something to since I first got the account.

90% of these are worthless: I either have no interest in contacting those people again, or the people no longer use those accounts.

But yet, every time I go to write a new text message to someone, I have to filter out all these junk addresses to be able to get someone at the touch of a button.



Moral of the story is: Any automation, any decision made by the system Needs to have a clear, easy, and obvious way to change that decision. Computers are only as smart as their users/programmers, who are humans. And humans are dumb.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
Advertisement

Moral of the story is: Any automation, any decision made by the system Needs to have a clear, easy, and obvious way to change that decision. Computers are only as smart as their users/programmers, who are humans. And humans are dumb.

This is just an example of Android being an idiotic software ecosystem. There are a multitude of different Contact/People/AddressBook applications provided by different handset providers, and some (but not all) offer the option to sync only 'My Contacts' (as opposed to 'All Contacts') from your Google contacts.

iOS defaults to only syncing 'My Contacts', as one would reasonably expect.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


iOS defaults to only syncing 'My Contacts', as one would reasonably expect.

As did my Evo 4g when I set it up...

I've yet to play with a Windows 7 phone, but as far as I recall, it's supposed to be similar.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

I want to find out if there's some other fundamental problem here, or if it's just a matter of getting used to a new UI paradigm that seems scary to new users. I'm sure the concept of pressing using radio boxes was also alien to people until they've gotten accustomed to it.
Is it a new paradigm? It used to be the case that computers had to be configured by typing commands, and it was a lot harder, as people had to know what commands were available. Or think of the old text adventures which boiled down to "guess the verb" - which were quickly replaced by adventure games that gave you a GUI of available options.
[/quote]
Don't you think there's a difference between, for example, Siri, and a command-line interface?

My vision for this system is that you only have to describe what you want to change, and it'll happen (not always immediately, however). You can use your own words and describe it in any way. As long as the developer can understand what you meant and it's an easy thing for him to implement (if it isn't already). If the developer needs to clarify something, there should be a system to allow a two-way conversation until it's clear enough.

There are issues with this approach also, it's not perfect. For one, non-immediate changes (depending on how long the delay is and how frequent it occurs, I hope not too frequently for common settings). Also, many non-techy users might have a hard time describing things in a good way (i.e. they might just say "make the program better"). But it's something worth thinking about perhaps.

I just wanted to point out that I'm not suggesting we go back to command-line parameters/settings here. Obviously that would be a downgrade from today's solution.

"Do everything for you" Is a nice idea for a computer to have. However, it can have terrible side effects.

Consider this example from a "Friendly, I'll handle all that for you" computer system.
I recently picked up my first android based phone. One of the first things I did was link it to my GMail account so I could check it while on the go. The phone's software happily fished my account for names, numbers, and email addresses.

Good idea, right?

My phone now has a list of around 500 email addresses, offering no obvious way to delete any of them. These weren't actual contacts from my GMail account, but rather all the email addresses I have sent something to since I first got the account.

90% of these are worthless: I either have no interest in contacting those people again, or the people no longer use those accounts.

But yet, every time I go to write a new text message to someone, I have to filter out all these junk addresses to be able to get someone at the touch of a button.



Moral of the story is: Any automation, any decision made by the system Needs to have a clear, easy, and obvious way to change that decision. Computers are only as smart as their users/programmers, who are humans. And humans are dumb.

Just as an example of what a user should write to fix this problem using my system. It would just take a simple phrase of "Sync only the contacts from the My Contacts group instead of all of them" to make the change.

No need to look through all the UI elements of settings and figure out where you can change (if you can change) the groups that get synced. Just describe what you want to happen. If it's not clear enough, the developer will ask to clarify.

Edit: Please understand that's an example only. More realistically, syncing My Contacts only should be the default, so if a user wants to sync other groups too, he would make the change in that case. Most users would be satisfied with the default and not have to make any changes.
Advertisement
I dont like this at all.

With a search box theres 2 problems:
-You need to describe what you want correctly
-You need to know what options are available

The first problem is fixed by making the search box be able to do stuff like give you rendering settings when you type in "rendering" so you can check what sliders you can move to make the game or watever look good and perform properly. That is, you can type "Rendering" and it gives a normal settings window with rendering options in it.

The second problem is removed by instead of having an search box, having a list of all setting "sets" there are, like rendering, shortcuts, networking and all those.


Having only a search box would be awful and i would use it only if i had a problem which prevented me from using the software. Almost always i just want to look at the settings and see if there is anything interesting i might want to change for whatever reason.

You can add a search box but the normal settings window should always be available. Which makes it pretty much useless since its faster to just find the right section from the settings to find a setting than typing it in the search box and waiting a minute so it can figure out what you meant (unless its an OS with twice more settings than windows).


I think the only useful improvement to settings would be is to be able to access them from what they affect. Like to block images in that email program, you would open an email and right click an image to get to the setting. Though, that only applies to some settings. You can really right click the world in a game to get to the rendering settings...

o3o


[quote name='mdwh' timestamp='1328196625' post='4908727']
...so as I say above, clearly there must be some settings on an Apple phone? A quick glance at my Nokia 5800 shows settings for date/time, or email as I say above.

Consider the difference between initial setup, and configurable settings: I would classify email as a setup process, because my phone doesn't actually do much of anything before I take care of that task.

Obviously everyone has to perform setup tasks on their phone, but how often do you go poking around the settings on a daily basis?
[/quote]Well yes indeed, one could do it as initial setup, but my point is it would still be done. It could be as a single window, or a "wizard" - and if you've got that, what if someone changes their email server at a later date? At this point, the settings required again aren't just cosmetic preferences. And I don't want to have to go guessing what questions I need to ask - it's better just to run the settings window or "wizard" again.

Perhaps the OP may have a point that perhaps search is better for cosmetic changes - but I just wanted to make the point that not all settings are cosmetic. Some are required, and even if you set it up initially, you might need to change those at some point. It's not on a daily basis - but then surely that's all the more reason to not worry so much?


This is just an example of Android being an idiotic software ecosystem. There are a multitude of different Contact/People/AddressBook applications provided by different handset providers, and some (but not all) offer the option to sync only 'My Contacts' (as opposed to 'All Contacts') from your Google contacts.

iOS defaults to only syncing 'My Contacts', as one would reasonably expect.
But the problem is that if we accept "don't ask the user" as the best way, there are always going to be companies that get it wrong, including major mainstream ones, so it isn't going to be a case of simply avoiding one or two bad companies. I've had and seen plenty of experiences where Apple's "we'll make the decision for you" has caused problems for what I or someone want to do. And just look at Facebook...

So it must be stressed that "getting it right" is of fundamental importance, and not simply something tacked on at the end. The message must be "if you aren't 100% certain of what any customer might prefer, fall back to offering some way for them to do it". The message shouldn't be "it's better to drop the setting altogether ... oh and if you don't like it, you chose a crap product". Getting it right isn't an afterthought, it's something that's needed before you can consider removing any setting.

(I use Nokia atm rather than Android, but I must admit if I were to get an Android phone in future, I'd get a brand new gmail just for the phone just to avoid any kind of assumptions. Although with their latest suggestions, I'd still be wary they try to automatically link accounts anyway...)


[quote name='mdwh' timestamp='1328196625' post='4908727']
Settings aren't just about cosmetic optional things, but also includes necessary information - e.g., for email things like name, servers and so on.


If they aren't optional, they aren't a setting, they are a required step.[/quote]Well this is semantics - I think most people will understand "settings" to include more than just cosmetic optional things. Perhaps there's an argument that we should define and deal with them separately - but as I say, I wanted to make it clear that there are these different kinds of "settings".

There is something that continues to boggle my mind to this day. Why do electronic devices with wireless and GPS capability need Time/Date setting?[/quote]Maybe I'm in another country and don't want extortionate roaming fees (see my comments below on this), and want it set the moment I get off the plane (GPS usually needs a network on phones, to avoid waiting ages for it to work). Still, even if it's true that phones can get away with hardly any required settings, there are still plenty of customisations non-geeks do like to make.

Wallpaper - why can't my wallpaper be interactive? Or animated? Or how do I split it across multiple screens? Yes, there is some entry which specifies that wallpaper.jpg will be used.

On wallpapers - they are used as forms of expression. People don't just set a wallpaper, they arrange icons around it. Wallpaper is just one tiny part of self expression.

Why can't I touch up the wallpaper, fade a part of it, emphasize it, why doesn't it follow me from computer to computer? It's not about wallpaper.jpg.[/quote]Oh sure, all these things should be possible - all the more reason why the user needs some way to define these preferences.

Why? Why would I want to turn off something if I'm roaming? I never roam in my life. Ever. I don't even know what that is. But I do like a good dinner - how does "roam" help me with that?

Instead - roaming may incur costs. Hard problem to solve here (Apple did this from the start to greatest extent) is to take costs in original familiar form out of the equation. Want to improve user experience - provide a fixed cost plan.[/quote]Firstly, cost plans are (at least in the UK) set by the networks, and secondly, fixed cost plans existed long before Apple joined the game. But, at least in the UK, even being on a fixed contract still means large roaming fees. Plus many people such as myself prefer to be on PAYG (as you say below, pre-paid is what some find reasonable), which also has roaming fees (which brings me to another example of a useful setting, being able to control when applications can access the Internet - either allowing them all the time, or setting them to ask - since whilst I don't mind paying for Internet when I use it, I don't want costs every day just because a random app decides to connect). Of course getting rid of roaming fees would be great, but we're not there yet.

And even if this was true, all you've done is knock down the need for one single setting. I'm not convinced that no settings are required - you list plenty of examples yourself simply when it comes to wallpapers smile.png

And we need to go even further. People don't like unexpected surprises, yet they don't read. When someone buys a phone, they expect the bill at the end of the month to be "reasonable". Depending on demographic, reasonable may mean different things. For some, prepaid card is only way to go. For someone, company pays everything. For third, $50-ish per month is reasonable.[/quote]

Of course, I agree - though this is more getting into business plans rather than UI development.

Large parts of UX have been solved in same way. We simply know what works and what doesn't and we abstracted that away one a completely different level.[/quote]I agree, but we haven't done this with everything. I'm not disagreeing that it's good to get rid of unnecessary settings - I'm disagreeing with the idea that no settings are needed. (Also I dislike it when companies err on the side of not needing a setting, even when some of us might. Too many settings in one place may be bad, but it doesn't cause clutter if more advanced settings are available from an option.)

Popup window: "The number of opening quote tags does not match the number of closing quote tags."

Why not show me which quotes are mismatched? Why not infer from submitted text which parts are quoted and fix it automatically? Why simply say: "You messed up. I'm not telling where, but boy did you mess up."[/quote]Fixing quotes sounds like an interesting idea, though I suspect it's also non-trivial, with risks of getting it wrong, so I wouldn't blame gamedev for not having this smile.png I agree that some form of highlighting would be useful.


Don't you think there's a difference between, for example, Siri, and a command-line interface?
Maybe, but I'm also wary that until we have turing-test-passing AI, there's a risk that it still boils down to "guess the keyword", even if the search box is less picky about syntax.

Even there though, it shouldn't be a case of me asking all the questions. Consider the following:

Me: I want to change the email settings.
CPU: I don't understand.
Me: I want to change the outgoing server.
CPU: Okay.
Me: I want to change the incoming server.
CPU: Okay.
Me: I want to change my email address.
...etc

Versus:

Me: I want to change the email settings.
CPU: Okay, what is the outgoing server?
CPU: Okay, what is the ingoing server?
...etc

Similarly with changing print settings, scanner settings, or anything else I might want to consider.

My point is that sometimes you do want that two way communication - even if it means a barrage of questions from the computer. I don't know if it's better to present those questions on-by-one instead of altogether, but that was done years ago in the form of "wizards".

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux


[quote name='shurcool' timestamp='1328236232' post='4908970']
Don't you think there's a difference between, for example, Siri, and a command-line interface?
Maybe, but I'm also wary that until we have turing-test-passing AI, there's a risk that it still boils down to "guess the keyword", even if the search box is less picky about syntax.

Even there though, it shouldn't be a case of me asking all the questions. Consider the following:

Me: I want to change the email settings.
CPU: I don't understand.
Me: I want to change the outgoing server.
CPU: Okay.
Me: I want to change the incoming server.
CPU: Okay.
Me: I want to change my email address.
...etc

Versus:

Me: I want to change the email settings.
CPU: Okay, what is the outgoing server?
CPU: Okay, what is the ingoing server?
...etc[/quote]

How about:
CPU: "What is your phone number"
Me: "555-1234"
CPU: "You've got 5 new mails"

Oh, the computer went on internet, contacted the carrier, synchronized the settings, checked and synchronized mail, filtered spam and finally did what you actually needed - to see if you have new mail so you know who needs your attention.

How did computer get on the internet? First it tried cable connection, that failed, it queried wifi, didn't find any open network, it then used 3G, which comes built in. It then queried your account, found that it contains keychain, used that to log into wifi and went from there.

A person doesn't know what email server of POP3 or IMAP or SSL or similar are. But everyone knows their own phone number.

What is the secret sauce to Apple? Your phone can bill your credit card directly. That was the revolutionary catalyst. Everything else are just funnels towards billing.

How about:
CPU: "What is your phone number"
Me: "555-1234"
CPU: "You've got 5 new mails"
I knew when I made that example, someone would try to say there are better ways of doing email smile.png - which is why I stressed "Similarly with changing print settings, scanner settings, or anything else I might want to consider."

Even there though, I think that still shows the problem - you'd still have to know that you have to type to change a phone number, when it's better to have the computer ask you the required information. In some cases, there may be more than one required piece of information. I have no problem with "type in a search, then the computer brings up a relevant settings window" (as Windows 7 already does) (although thinking about it, it's still unclear what the OP meant - what are we supposed to type in - do we directly change in the setting to change, or do we just type a search and then it asks us something?)

And I agree that there should be better ways of setting up email, but this is something that is separate to what the OP was talking about. The step forward there would be "making email better", not "using a search interface instead of a settings window". Maybe when email works off of phone numbers, and you've changed every other conceivable thing to work so that only one simple option is required at most, then I might change my mind smile.png

How did computer get on the internet? First it tried cable connection, that failed, it queried wifi, didn't find any open network, it then used 3G, which comes built in. It then queried your account, found that it contains keychain, used that to log into wifi and went from there.[/quote]I hope you're not suggesting silently accessing my neighbour's wifi network just because they didn't bother to lock it down (and, whilst I personally feel that using an open wifi shouldn't be illegal, I'm not sure this is something that is the case, or at least decided for certain...) Your solution requires all email-capable devices come with 3G (which doesn't seem to be a standard trend even with mobile devices like netbooks/tablets).

Of course, ideally email should be something that's set up automatically (and I believe generally is these days with Internet connections?) But there are many of us who still want or need those options, and there I'm not convinced that a search box is an improvement.

A person doesn't know what email server of POP3 or IMAP or SSL or similar are. But everyone knows their own phone number.[/quote]I don't think many people do memorise phone numbers, whether it's their own or say a loved one. It was years before I finally memorised my phone number. I have no idea of the numbers of those people close to me (except my parents' landline, and that's only because it's the same we had for years when I grew up there, before we all had mobile phones).

But I still need to do the step of notifying the phone company of my email, so you've just moved the configuration step:

Company: "What's your email server?"
Me: "Err..."

And arguably made it harder as I now have to deal with a company. So this only works if your phone company is your email provider (which isn't true for most people, and whilst it has an ease of use advantage, I wouldn't want it to become the only way it could be done).

What if I want to sign up for a new email (or already have multiple) - do I need to first get a new phone number? What about the problem of phone number space exhaustion? And if my computer connects via my cable or wifi, how does it know who my mobile phone company is (they aren't the same) or which server to access for the email settings? (If I have to enter a server for it to contact to find my email settings, we're just back at square one... Possibly you could infer it from the phone number, but if we're allowed to have a look-up, you could do that with popular email companies too; you still need to catch the cases where that fails though, in both cases.)

In the discussion of UI design, do you think it's better that people memorise a string of digits instead of something more closer to familiar words? Do you think the Internet would be more user-friendly if people typed in IP addresses instead of domain names?


And I think this demonstrates the general problem - people come up with new methods that sound cool, they sound easier. They use words like "paradigm", and anyone who doesn't like it is classed as doing things the old fashioned outdated way. But it's not until you think about it that these problems appear. But by then, the company has implemented it - and anyone having problems is either dismissed as doing it the old fashioned way, or people say the company is just a bad example who implemented it wrong.

Not that I'm saying there isn't an obvious shortcut - one is to simply ask people their email address, and most the time you can actually infer the rest of this information. The web portal www.mail2web.com does this, for example (and there may be email clients that work first by simply asking your email address?). But note that it still has the Advanced Settings for where this doesn't work - my point is, by all means take easier routes, but don't take away the ability to change something altogether.

What is the secret sauce to Apple? Your phone can bill your credit card directly. That was the revolutionary catalyst. Everything else are just funnels towards billing.[/quote]Vodafone were doing this in 2005 on my cheap low-end feature phone. The concept has grown since then of course ... not sure how this connects to my example. Obviously I agree being able to pay for things on a phone automatically, and having that tied to your phone billing, is a good thing, as the networks realised years ago.

Using information already available makes sense. The phone companies already have my billing information. They don't have my email addresses.

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux

This topic is closed to new replies.

Advertisement