Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Most people don't love fiddling with settings. People love when software does what they need, and some of them will be willing to fiddle with settings if they have to. Settings are a cost the user pays (just like data entry, loading times, hard drive space, loss of privacy, ads, or the monetary price of the software) in order to get the value. If good defaults mean most users don't have to muck with settings, great, your software is now more valuable. But the only thing worse than having to tweak a setting to get your functionality is not being able to get your functionality at all.


I'm not a designer, but I have done a fair bit with HCI for whatever that's worth. I recently read "The Design of Everyday Things", which I understood to be a seminal text in the UX world. In it, Norman argues that no one-size-fits-all product actually fits all and leaving off 1% of the population is still a rather large number of people, so in the spirit of human-centered designed you should provide options or settings to support those people as well. I've been struggling to reconcile that with UX of many software products in the time since.

The modern UX ethos seems to be that settings indicate a failing of the product and if people don't like the path laid out for them, they're either wrong or they can go use something else. I think the book also makes the argument that constantly breaking workflows isn't very user-friendly either, but SaaS products routinely change their UI and workflows around. I suppose I can see the business justification for that, but that doesn't necessarily make it good UX.

Of course, Norman could just be wrong or my interpretation of his text could be wrong. Either way, something feels off to me with modern UX. I suppose if you've run actual user studies (not just A/B tests), then you have more contextual data than I do. But, I came away from reading the book really wishing more software products (both SaaS and the recent spat of "opinionated" frameworks/tools) followed the principles he championed.


In the 1950s the United States Air Force wanted to figure out what pilot dimensions they should design to. Things like the exact position of the controls and position and size of the seat.

They measured over 4,000 pilots on 140 different dimensions. The hope was that they could design to the average pilot. What a Lieutenant named Gilbert Daniels found was that even if you only looked at the 10 most important dimensions, not a single actual pilot was within 15% of them all. Even just a handful of dimensions would fit almost no-one.

The consequence of this was that everything became adjustable.


This is a great military-design story, along with the one about how you shouldn't put armor over the places where returning airplanes got shot, but the spots that were probably shot on the airplanes that never returned.


Survivorship bias. Or why you should take the advice of successful people with a grain of salt.


This reminds me of the story about a statistician who drowned in a river that was an average of 3 feet deep.


Gotta love military-grade pragmatism.


The military can be quite pragmatic, when they want to / need to.

Compare https://www.gwern.net/Backstop

Basically, war (or the threat of war) is what keeps militaries honest.

Competition and the threat of bankruptcy keeps companies on their toes.

Evolution keeps brains honest.

But those forces are rather blunt, so the day to day optimization has to proceed by other means.


I would counter your evolution point. Evolution hates brains and wants them to be as small as possible, because they cost a lot of energy. Saving energy is the reason our brains rely so much on biases and heuristics.


I’d like to find someone with more citations to back up this claim, but my hypothesis is that evolution favors the biggest, baddest, and most intelligent during stable times. In an unstable environment, small stupid generalists are what survive (thanks to their lower caloric needs).


Eh, I don't think your claim about stable and unstable environments works in general. Things are just too diverse in this universe.

For example, just for humans a big, big driver of instability in the last few millennia has been other human brains.

Also keep in mind that (in-)stability and harshness of environment are too almost independent dimensions; if you see instability as something like the variance of outcomes.

Eg if some new opportunities open up, everything is strictly better (so the environment is less harsh), but variance might shoot up dramatically, perhaps because only the clever and resourceful can make use of the new opportunity.


What you say is true, but it's not a counter: it's not at all at odds with what I suggested as far as I can tell.

Evolution only suffers brains to exists, if their advantage outweighs their costs. (Though keep in mind that the example I gave is a bit broader than just brains: any way for an organism to learn would fit the bill. That doesn't necessarily need to be a full sized brain, if fewer nerve cells do the trick, too.)

Similarly, smart and resourceful leaders for your company are only useful if their advantage outweighs their costs.

In any case, read the linked Gwern article for a deeper discussion. I'm just rehashing the main point here, Gwern has more to say.


> Basically, war (or the threat of war) is what keeps militaries honest.

It really does not.

> Competition and the threat of bankruptcy keeps companies on their toes.

Only some companies and some of the time.

And from the article:

> One defense of free markets notes the inability of non-market mechanisms to solve planning & optimization problems.

s/notes/falsely claims/

etc.


>> Basically, war (or the threat of war) is what keeps militaries honest.

> It really does not.

I meant 'honest' in the sense of suffering if they bullshit themselves too hard. Not 'honest' in the sense of dealing with third-parties honestly.

Could you expand on your point?

>> Competition and the threat of bankruptcy keeps companies on their toes.

> Only some companies and some of the time.

Maybe. And that suggests that one goal of public policy should be to subject more companies more of the time to these pressures. Eg by abolishing tariffs, lowering barriers of foreign companies entering local markets or buying subsidiaries; allowing WalMart to become a bank, and banks to sell coffee etc.

>> One defense of free markets notes the inability of non-market mechanisms to solve planning & optimization problems.

> s/notes/falsely claims/

Not sure what you are complaining about here? If you read the rest of the introduction, it's rather clear from context that the author agrees with you here. (You don't even need to read the whole article for that insight.)


"Aspirational".

Belief that the mechanisms cited actually work, or at least its prima facie plausibility, is necessary to gain buy-in from people making decisions.


It might be an over-adjustment from the software designers. In the early days of software, there was a larger fraction of power users, who wanted lots of options and were willing to fiddle with them. However, settings were often an excuse for not having sensible defaults, auto-detection, context-sensibility and other things for a fluid user experience.

Then came a wave of companies focusing on UX with great success, who often dropped settings to focus on "magic" functions etc. This means UX becomes correlated with less settings, but removing options does not help users - on the contrary! But unfortunately it gives the impression that settings are bad for UX.


Options do become dangerous to the team building the UI, though. It's easier to add another option and the keep the previous behavior as default than to do the hard work of figuring out what the best behavior is and then, if the new behavior is better, having the courage to change the default. Having no options is good for discipline as it removes the temptation of doing it the easy way.

There's also the problem of bugs. Software with more settings have more code paths. It's harder to test, and harder to refactor.


Often options come from an inability to make decisions.

Should we do A or B? There are decent sounding arguments for both, so... let's dump that decision on the user, and move on!


Are the different laundry programs on a washing machine due to the design failure? My oven has separate knobs for temperature, heat distribution and grill; is that a design failure?

My car has both a steering wheel and a separate indicator light control; rain sensors and a manual wind screen wiper setting; light sensors and a manual setting for the headlights.

Are these all examples of designers' inability to make decisions?


Those all seem reasonable designs to me.


Often when that decision is made it is taken away from the user. For example when "There are decent sounding arguments for both" it is often exactly the right choice to leave the option available if it doesn't come at too much cost.

Often used ones aside options are generally so hidden away anyway and thus the choice of a sensible or popular default can be made regardless without complicating the main UX.


but if they are either mutually exclusive, or that one must be selected for the operation to work, then the designer/developer has to choose a default.

Often, the user don't even know what they want, and assume the default is the right choice, since it's "professionals" who have chosen it.


Of often they'll be unaware the setting exists or even more likely be unaware that the setting even _might_ exist (and therefore don't even think to Google it).

Though often still theyll be afraid to look around at settings for fear of breaking things.


not making the settings accessible is a design failure, imo


These are all valid concerns, but UX is purportedly concerned with serving the user. Reducing expenses is a competing concern. Together, they influence the design, but I don't think it follows that removing options leads to a better user experience. It could, but it's not a given.

> It's easier to add another option and the keep the previous behavior as default than to do the hard work of figuring out what the best behavior is and then, if the new behavior is better, having the courage to change the default. Having no options is good for discipline as it removes the temptation of doing it the easy way.

Ideally, you already knew what the trade-offs are before you built the feature. That should have come out of a user study. Human psychology simply doesn't change as substantially or as frequently as modern UX seems to suggest. Of course, things can fall through the crack and you can learn new things (even that previous conclusions were misguided). But, setting up all options as a choice you need to make for the user isn't necessarily helping the user experience. Some portion of the world prefers a 12 hour clock, some portion a 24. If you're adamant about only showing one of those and it's not configurable, you haven't helped the people with a different preference. You're inflicting your design on people without really taking their cultural norms into account. I'd go a step further and suggest changing defaults on people is something that should never be taken lightly because the user experience isn't a point-in-time thing. Changing workflows on existing users is a negative user experience in many cases.

As a concrete example, the ReasonML language forked into another language call Rescript. The code formatting tool in Rescript works almost identically to the one in ReasonML and that's by design, since it's supposed to facilitate migration. But, for whatever reason, the new formatter dropped the option to configure line width. So, if you used to set your line width to 120 characters, too bad. You have to use 80 characters or don't use the tool. Also, you need to chance your workflow and any configurations using the old flag.

Having the option to change a numeric variable is not some overwhelming burden. Forcing a fixed value isn't some courageous decision and it's not based on any human factors studies. It feels like an overreach of "opinionated software" that ultimately made my code harder to read (both languages use annotations that artificially increase line length). In the end I abandoned the migration, which I suppose means if they poll community members, they'll have something of an echo chamber.

> There's also the problem of bugs. Software with more settings have more code paths. It's harder to test, and harder to refactor.

This sounds like a failing of software engineering to me. To the extent that this field's raison d'être is to make computers perform work for humans with minimal fuss, our tooling should be geared towards supporting that goal. Dropping functionality that would be beneficial to people because it's more difficult to support sounds like trying to mold people to the machine rather than the machine to people. Certainly, you can have a product that functions, but it's similar to all the other things we have to put up with because a better option doesn't exist. This take isn't drawn from the book I mentioned, but I think the book has influenced my opinion on the matter. If settings/options lead to a better user experience but our tooling and development processes make adding settings/options difficult, we should try to improve our tools and processes.

With that said, we have to operate with the constraints we have. I just don't think we should convince ourselves it makes for a better user experience. That sort of thinking tends to snowball.


The central problem of modern UX is the same existential crisis architecture had in the 1980s -- whether it's a discipline of artists or scientists.

Nobody wants to admit they're a scientist who follows experimental data at cocktail parties. Everyone dreams of being introduced as a creative genius.

That yearning metastasizes into hubris, which ultimately leads to people making arbitrary changes, just because they can.

Which isn't UX's, or architecture's, fault as a discipline, but is to say that the scientific process runs perpendicularly to our egotistical, flawed selves. And that the only way to avoid it is constant vigilance and pragmatism about what's actually driving a change request.


So how did the debate in architecture get resolved?


It didn't, now we have Walt Disney Concert Hall.


> In the end I abandoned the migration, which I suppose means if they poll community members, they'll have something of an echo chamber.

Harking back to the survivorship-bias example above (reinforce warplanes in the bits that weren't all shot up on the ones that returned), if they define "community" as the users of the new language, they'll never realise line length was a significant problem: You and all the others like you aren't there to answer the question "Was line length in the code converter a problem for you?" with a resounding "Yes!", they'll get only "No" answers, and not realise what a huge impediment it is.


Perhaps users early in their journey with your product want it to “just work”, because they don’t want to fiddle with loads of settings they don’t understand only to find your product is rubbish.

As they become more proficient with your product, if they can’t tweak behaviour in certain ways, they might consider changing to a different product. And that’s where settings become useful.


> The modern UX ethos seems to be that settings indicate a failing of the product and if people don't like the path laid out for them, they're either wrong or they can go use something else. I think the book also makes the argument that constantly breaking workflows isn't very user-friendly either, but SaaS products routinely change their UI and workflows around. I suppose I can see the business justification for that, but that doesn't necessarily make it good UX.

Yeah, I think the issue is that once you've finished designing an interface or your software is feature complete, the company is faced with a problem: You don't have any actual work, but you absolutely need to maintain your expertise and sales.

What features can you really add to Excel at this point? What do you do when your market analysis says your application and interface are about the best they can possibly be? What do you do with your engineers when your product is, by nearly all measures, complete?

This is the problem that Google search has. And Microsoft's Windows and Office teams. We had basically everything on lock for quite awhile. Changes now are seldom improvements. They're just changes to justify the engineers' salaries that the company has to keep paying because maintaining that is a core competency. Moving all of them to a new project spoils your expertise in your own product so you can't just do that.

At this point, UX design for these products should probably shift to aesthetics, much like the auto industry did. And that's largely exactly what Windows has been since Windows 7. Aesthetic changes.


> What features can you really add to Excel at this point?

Aren’t there actually lots of good features Microsoft added in say the last 19 years (office 2003 having, for this argument, a perfectly capable Excel with all the features)? Off the top of my head:

- Ribbon and context-aware toolbox made it easier for infrequent or novice users.

- good default styles for tables, which is what lots of people actually use Excel for

- Better support for actual tables (ie defined extendable ranges of cells)

- OFFSET/MATCH instead of VLOOKUP (maybe this was a culture change. Not sure when OFFSET or MATCH were introduced)

- improvements to default graph appearance (though I still dislike them for just showing the data)

- Lambda functions

- Relational models for data

- bigger spreadsheets

- flash fill(?) which is a magical programming by example thing

- fancy conditional formatting with colour changing smoothly with values

- possibly faster evaluation. I don’t know if it was actually improved

- maybe someday: collaborative editing

I’d like to point out that some improvements were made for power users and others for more ordinary users.


> - Ribbon and context-aware toolbox made it easier for infrequent or novice users.

But did they have to make it worse for nonnovice users by removing the old menus and toolbars?

> - good default styles for tables, which is what lots of people actually use Excel for

An Excel sheet is already in and of itself a table.

> - Relational models for data

Yeah, thanks, we already have RDBMSes for that. Turning Excel into an RDBMS (or an RDBMS into Excel) only gives you a jackalope: Worthless both as a jackrabbit and as an antelope.

> - flash fill(?) which is a magical programming by example thing

You mean that thing that resolutely refuses to be useful whenever I try to get some "magic" from it?

> I’d like to point out that some improvements were made for power users and others for more ordinary users.

More like against power users in many cases, I'd say. (See the first point.)


offset/match have been there since day 1 AFAICR, that is Excel 4.0 or so, as well as index/match.

Or at least they exist just fine in Spread32 which is a nice tiny spreadsheet tool that was first released in 1999 and born with Excel 4.0 compatibility target.

I believe it is more the "culture change" you mention, the "new" function is Xlookup, introduced recently:

https://www.powerusersoftwares.com/post/xlookup-just-killed-...


> What features can you really add to Excel at this point?

The option to not guess the format of input data as calendar dates comes to mind.

Excel is a product so complex I doubt it will ever run out of things to improve.


Turns out it was easier for the fields of biology and medicine to rename human genes

https://www.bionews.org.uk/page_151346


When you added all necessary features and don't know what to add you start to optimize and imporove existing features. Really, Excel could work faster and eat less memory.


> And that's largely exactly what Windows has been since Windows 7. Aesthetic changes.

Yeah, sure, but why do they all have to be for the worse?

(Probably because it was already as good as it could get in that respect too. And then what do you do?)


It is a no-brainer that software must, in fact, have settings and the modern UX principles are heavily in the wrong.

Having too many options is a curse too however, so that doesn't mean that one should add options without thought nor that sane defaults are unimportant (in fact, they are extremely important). Like most good things in life, the solution is not in either extreme but in the golden middle.


It's simple. Most software today is not created to serve the user. It is created to accomplish certain goals (e.g. obtaining money, attention, data, or prestige from the user) and only serves the user as incidental to accomplish those goals.


I think that's probably true in the SaaS world. I'm seeing the same mentality take hold in the open source world with "opinionated" or "curated" software. Tools that have limited options or actively remove options and expect the developer to conform to them. I think it's being driven by this same notion of "options = bad" that we see in UX in general, but maybe they're coincidental, but unrelated phenomena.


I agree with this. Most software doesn't need to be "opinionated" and would be made better with more options and carefully chosen defaults.

I think it's sometimes appropriate to reduce options, mainly in cryptography libraries. There the library should provide all the secure options and none of the wildly insecure options, maybe with some "secure if used correctly" options behind some heavy warnings. Likewise for anything else that might similarly be used in safety-critical situations: it MUST be easy to use, and hard to misuse. That tends to mean having fewer options, and making very careful choices about defaults.


Haven't read the book but per your comment it occurs that assuming the reality of the 'left off 1%', it is possible that these are distinct market segments. Did Norman or anyone else ever try to correlate demographic aspects with product mis-fit? In other words, the disconnect is possibly at the market/product level and the same unsatisfied with defaults 1% may be perfectly happy with another product that is designed for them (thus having few knobs). Not asserting this but wonder if this is indeed the case.


You know the saying about how majority of users of certain very powerful packages only use a tiny fraction of available functions?

Allegedly Microsoft found out that the problem was that the features covered by that fraction were wildly different in case of MS Office. That is, any cut down, simplification, etc. would result in huge amount of disappointed users, because the used featuresets didn't really overlap outside of certain core. At the same time trying to package it into market segments might just mean you end up with too small niches.


It wasn't just Microsoft. Joel Spolsky had a lot to say on the subject: https://www.joelonsoftware.com/2001/03/23/strategy-letter-iv...


The other problem is that each thing your decide should definitely be "this way and no other" is probably shaving off a different 1% of the population.

I maintain that the Ribbon on office is this problem writ large: I'm sure Microsoft did a lot of user studies, and I'm equally sure that by averaging out all those results they managed to prioritise nothing useful to any actual business - hence why the product feels bizarrely unprofessional these days and is now impossible to configure to suit any specific type of writing.


The real trick with Ribbon is that in MS Office it makes it somewhat easier to find functionality (the search interface helps with that) and it tries to expose keyboard shortcuts easier.

AFAIK the research behind the ribbon showed that 1) there was no way to find features easily 2) Main menu was too cluttered and undiscoverable.

Of course if you actually found the features you wanted before that, it was a big negative change.


Paradoxically the ribbon makes harder the one thing it was supposed to make easier. Nothing lines up, so a visual scan of the whole thing is very hard to accomplish.


In the old interface it may have been hard to find things. But once you found them, they were always in the same place. With modern interfaces, everything jumps around and hides itself depending on some obscure context and the window size.


An easy fix would have been adding tool search functionality like intellij


A crucial part of Ribbon, as implemented by MS Office, is a search interface.

It could be nicer like intellij, but I suspect they hit some threshold of changing keyboard shortcuts and end user reaction.


> A crucial part of Ribbon, as implemented by MS Office, is a search interface.

If the search interface was what was missing, why the fuck didn't they just add that to the old menus and toolbars? (Seems to work on many Macintosh applications, doesn't it? And probably some Windows ones too.)


Because it wasn't the only thing. Ribbon specifically on MS Office was informed by a lot of data gathered from users and attempting to make functionality more visible (also, it kinda promotes keyboard shortcuts - hit alt and look at ribbon)

Of course a lot of applications later "embraced" Ribbon without all that preparation, and to be quite honest, I don't hear much complaints about Ribbon in Office - outside of nostalgia it's rare.


Yeah, well, as far as I am concerned, they pretty much failed on the other bits. You not hearing many complaints about it any more is probably because most of us have stopped mentioning it (outside of discussions specifically about it), because nobody gave a shit then either, any more than you do now.


One such example might be accessibility settings. Such settings are likely only used by a small subset of users, but it might be critical for such users.

Many modern video games start by displaying such settings. The defaults probably suit most users just fine, but being able to easily scale UI text is probably very useful for people with poor vision.


I don't think that he necessarily doesn't address settings. I think it fits into the overall ethos pretty well: it should require as little mental energy as possible to figure out what the settings do and why you would use them.

Where things get murky and become a matter of judgement and data is whether you are exposing settings gratuitously and therefore just making things confusing, or whether you are not offering enough settings and therefore not addressing common use cases.


I don't think there is some absolute law of design* that says all users must be supported. If a startup is still struggling to reach profitability, they generally will invest all their efforts into supporting one niche really well, not create universally useful products.

*There are actual laws that say those without disability must be supported, and I think companies should strive to meet those, but that's more of a moral argument


The point or question I was raising was specifically about UX. Design, which includes UX, isn't done in a vacuum. There's many competing interests and environmental considerations that ultimately influence a product. Norman spends a good deal of time reinforcing that idea, I think mostly to drive home the point that reality doesn't match the platonic ideal. That's what I was alluding when I said "I suppose I can see the business justification for that."

Carving out a niche when getting started is probably quite prudent. But, that doesn't mean it's a good user experience. There's a lot of retorts in this comment section about how any amount of settings is tantamount to total design failure. I think that's too reductive and I'm trying to reconcile that research on the topic.


It seems weird to talk about something as "good user experience" or "bad user experience" in a universal sense without a specific use case in mind. Something can be a good experience for one set of users and a poor experience for others.


Settings allow you to customize a software beyond its developer-intended path, while that doesn't take away from the "default" path, it maximizes the total amount of good experience. That's how it's universal.


My objection was to the view that supporting only 99% of users is "bad" in some absolute way. Obviously 100% is better than 99%, but good and bad are relative, and 99% might be good enough when considering the actual needs of the product that's being developed.


The customization process becomes part of the UX though. That doesn't automatically make it good.


It's probably not a coincidence that fewer settings means less complex software, and less costly to produce


In my experience it's the exact opposite. It's almost always easier to leave product decisions to the user and add a new setting. And if you have very few settings, your software needs to "just work," which means quietly handling edge cases you would normally rely on the user to troubleshoot.


>if people don't like the path laid out for them, they're either wrong or they can go use something else

This is a reasonable limitation. If you implement infinite features, you end up with a bloatware, so some features can't be implemented, and users should use something else.


It’s not about features, parent comment is arguing about adjustments. Sure you don’t need 65535 choice of colors for a chair; but you do need the height to be adjustable(ideally within -327.68 to +327.68 mm).


But should it have wheels?


No you're right, a wheeled chair would not be really useful, would it


You may be correct that "most people" don't love settings, but I think we underestimate how many power users there are in the wild. I personally prefer software to be customizable and give me a lot of options to configure and get what I want out of it.

There are a lot of people who are willing to engage with your software and use their critical thinking skills in that process. I think we're losing something valuable by dumbing down all software and all interfaces to the lowest common denominator in the pursuit of "no friction" for users. Some friction is totally fine.


I find it weird that people think settings are only for power users.

Good defaults are very important for non-power-users. But if a non-power-user can Google their problem and change a setting to fix it, then that's a lot better than said user being left with no options at all.


By some definition, a person who does anything besides swearing when a piece of software doesn't work as expected is already a power user.

I see this in many of my relatives. Googling the problem or checking the settings menu is something I do when asked to fix a technical problem in a piece of software I have never seen or used before and this more than they did before handing the problem to me.


It doesn’t even have to add friction. Optimize away for the common use case, that’s great and benefits the power user just as much. Just let people make changes if they really feel the need.


I believe that the way forward isn't complex UIs or things like ribbons. Command palettes [1] solve most of the problems of discoverability while also helping power users by giving them quick access through shortcuts or highly configurable settings.

[1] https://news.ycombinator.com/item?id=29373536


> I personally prefer software to be customizable and give me a lot of options to configure and get what I want out of it.

In my experience doing support, this is a give them an inch and they’ll ask for a mile situation. Power users are the worst when it comes to asking for more features or more settings. I had better luck with very limited settings and saying take it or leave it. Would just tell them straight up “What you want has a 0% chance of happening. Happy to refund your money.” Hardly anybody took me up on it and it greatly reduced ongoing support conversations that went nowhere.


Were you supporting closed source software? Because that's exactly why it sucks, you have no right to disagree.


Yes, I was supporting closed source software!

I'm not sure I understand the rest of your comment, but of course the user has a right to disagree with a company's choices. They express their disagreement by not using it.

If somebody hated our product, I'd send a link to our competitors who I was confident they'd hate more.


One persons settings are another persons feature.

For example, my kids endlessly change the icons, colours, sound and many other visual and functional behaviour of their phones, the vast majority of which I would consider ‘settings’. But for them it’s highly important and fun

The defaults are fine for me, but changing those settings isn’t a cost to them, it’s just plain fun.

It’s easy to dismiss that as not real work, but I see the same in workplaces. Being able to customise your tools to be that little bit more bearable can sometimes be the difference between having a great day and crappy day at work. A little bit of control can feel very empowering.


This is exactly what I’ve seen with serious enterprise applications. Where users perform some complex task all day in the software. “User Preferences” are first order feature inclusions. They vary across global levels and down to specific feature settings. I’ve seen multiple occasions of customized layout/grid solutions.

One random thing I’ve wondered is if Excel power users end up implementing a ton of preference customizations. Otherwise it seems like a very well equipped “default-only” UX.


This was true with Windows 3.1. When I finally installed it I soon bought theme packs and delighted it making it into an expression of my interests. Accessibility was also much improved over DOS and even GEM and Geoworks.

Moving to OS X was such a disappointment in comparison.


I guess what's going on here, the reason people are divided, is that on software that you dislike (or are forced to use) people generally hate settings and just want the thing to work. On software that people love (like a piece of software that helps you make music or edit video) then people generally enjoy being able to customize it further and further.


Exactly. Look at something like a video game. The customization in an MMO needs to be drastically different than pong.

Settings are not a binary good/evil.


> I guess what's going on here, the reason people are divided, is that on software that you dislike (or are forced to use) people generally hate settings and just want the thing to work. On software that people love (like a piece of software that helps you make music or edit video) then people generally enjoy being able to customize it further and further.

I don't think that's quite it. I think the ability to set the software to work the way you want it to can turn a piece of software from one you dislike into one you love. [EDIT:] Or, vice versa, the lack of the ability to do so can turn a piece of software from one you would have loved into one you dislike. [/EDIT]


Nope. Two of my favourite pieces of software have very few settings because they remember what I do instead of forcing me to go and figure out a setting for it.


Could you explain that? Software that tries to interpret what users are doing and then tries to adapt to itself is on a slippery slope. The first steps in that direction, like a history of visited sites, or recently edited files menu are uncontroversial. But when it moves menu entries around to optimize for assumed workflow of the user, that user gets infuriated very fast.

Software that I cannot adapt to my needs is like an interactive tv. Ultimately I have no control over what is happening. Software that I can adapt to my needs puts the personal in Personal Computer.


Simple example: I used to be the maintainer of Dia, a diagramming program. It remembers what colours, line width, dash style etc you've last used, so you don't have to keep setting that. This can drastically reduce the number of steps needed per desired action, and reduces frustration, but it would not be great in a separate generic settings windows.

Thinking of my users (including myself) as goldfish is useful: if you've just done a thing, it's likely you'll do it again.


Agreed. That is similar to my example regarding a history of visited sites. And features like that a very helpful in my opinion.


Do you mean "like [non-] interactive TV"?


yes


Good default settings are great but please let me tweak. I don’t like UIs where i can search only for 1-5, 6-20, 21 and more. Why not allow me to search for 10-12? Sometimes I feel a lot of modern software has authoritarian tendencies “we know better than you what you need”.


It's a valley culture.

The structure of the team gets reproduced in the product. Read "The soul of a new machine" for a great example.

There is an unhealthy elitest hierarchy at many companies which manifests itself as interfaces to users on the assumption they're totally incompetent. It's a reproduction of an insular culture.

The worst part is that it's reinforcing. The thing you've probably heard of is the Stanford prison study but there's many similar ones; essentially you set up a context for how you engage with your customer and the customer plays the roles dictated by the context.

So you treat users like idiots and then they start acting like idiots. It really does work that way.

Let me give an intuitive analogy for those unconvinced. We're going to use a gym, library, and bar. The same person would be exercising, studying, and drinking at those institutions, in specifically that order.

We shape the buildings (create the context); thereafter they shape us.

The core problem of UX is the extreme focus of what kind of user they want as opposed to what kind of context they want to facilitate. The latter is how sustainability, growth, and value happen.

It's the difference between say assuming your customers are alcoholics and then building a bar and saying "it is of public benefit, profitable to our company, whatever, if our users studied so let us make a library and they will rise to the occasion".

So long as it is within reason, this is possible. People will do difficult things of value (such as a gym) if you're willing to adequately facilitate it. We don't need to limit ourselves to a fast food internet. See the project known as wikipedia for an example.


Yes yes yes. You've nailed it so well that I can hardly believe it. I've worked first-hand with a number of different teams and this is exactly what happens.

Around the time I started becoming aware of this, I once brought up in a meeting that I thought we should support keyboard shortcuts for users who prefer keyboard interaction. You would have thought I had desecrated a religious symbol.

I did figure out a hack though. The next time we met I pretended like the previous conversation had never happened, and instead brought up that for a11y we really needed keyboard shortcuts :-D They had no choice but to agree because prioritizing a11y is another religious tenet. I love a good win-win/two birds/etc.


The last product I worked on, we had constant problems sometimes trying to reproduce bugs. Accessing a feature through a keyboard shortcut vs. a menu might take you down a completely different code path, and it was critical to know which way the user was using.


Yes I agree, although having gone through that several times in different frameworks, I am now a believer that you can avoid the majority of issues like that by keeping state centralized (like redux pattern) and building components in a functional-reactive way (no state in components). Of course this doesn't help much if you're using Java Swing, but the vast majority of products that I run into this are web-based. The "always re-render" approach of React can help a ton. With that you have two separate event handlers (one for the click, one for the key press) but both of them simply update the "state" variable for whatever it is. The framework then figures out what needs to change and does it.


Sounds like a poor design. The events should call the same function.


You 'get it' in a way that most PMs and designers don't. As a senior product exec in a very large public company with software products used by tens of millions of people, I've been continually stunned by the sheer arrogance of supposedly "user-centric" designers and product managers.


So, I just want to be sure that I got what you mean.

If my app (or whatever) just include what I think is good because users are idiots and I know better than them, then, my app will only attract idiotic users (or attract smart ones, but they'll behave like the idiot one)?

Using the parent example, if I'm an idiot user (or one behaving like that) I wouldn't want a slider that allows me to select the range I want, but I would want a specific button labeled 10-12? Or I wouldn't even want one, because the app creators know better than me?

And in the last paragraph, it's about letting users go on a journey from novice to expert using your app if they want? Like using a tooltip on an icon showing how to the same using a keyboard shortcut.


They will behave like idiots. It's not an advocacy for intentionally confusing design but an argument against intentionally disempowering design


Thanks, I will read the book.


It's not about that hypothesis. It's a great book but it's more about how projects are products of organizational structures. It's a Pulitzer Prize winner. I'm still waiting for a movie to be made about it. An "all the presidents men" of the 80s minicomputer market.

If only I had infinite time, energy and money; the things I'd do...


To reinforce kristopolous' argument: Even smart users will behave like idiot ones, because with software designed for idiot users, that's usually the only way you can behave. This makes it a self-fulfilling prophecy: "But look, everyone uses only the mouse, never any keyboard shortcuts!" Well, duh, since you didn't make any keyboard shortcuts...


Do you mean "valley" as in SV, or "uncanny valley"?


I meant silicon valley. Not as a geographic place these days but as a state of mind, specifically harkening to the classic 1995 essay, The Californian Ideology by Barbrook. https://en.m.wikipedia.org/wiki/The_Californian_Ideology

The question is what if you take that and press the play button for 25 years. You get the nth order derivative; a mix of amplification of the tangible and a dampening of the aspirational under a constantly churning framework of the ideological.

Or to put it in less academic and more literary terms, the reality must die and the dream cannot be born and in this interregnum, a great variety of morbid symptoms appear.

We, like all generations are tasked with building our grandparents dreams and our grandchildrens future. That's the kind of orientation I think we need more of to drive how we choose to use our time.

Because that time is right now


I don’t like UIs where i can search only for 1-5, 6-20, 21 and more.

This, absolutely this! I recently had to use a web app whose date filtering consisted of nothing but "1 day ago; 1 week ago; 1 month ago; older than 6 months" when I was looking for a record that I knew was in March of 2018. It frustrated me enough to make me exclaim out loud an unabbreviated WTF!? A peek at the API calls it was making showed those options hardcoded directly into the "filter" parameter, so I couldn't just inject my own custom date range --- something which I have done before with success.

I wrote a short script to scrape the (paginated, infinite-scrolling style) API and filter the tens of thousands of records myself, and almost half an hour later of waiting for those records to come back, found the one I was looking for. Doing that filtering on the backend DB would've probably been nearly trivial, and all the UI needed would be two date pickers (a long-solved problem), but because of that idiotic design choice, I wasted both their and my resources.

Sometimes I feel a lot of modern software has authoritarian tendencies

It's not just software, but you're right. I've referred to "modern design" trends as "authoritarian minimalism" too: https://news.ycombinator.com/item?id=30018763


I’m on the fence about intent. It could easily be a team that wishes to limit the inputs to something “manageable.”


>> But the only thing worse than having to tweak a setting to get your functionality is not being able to get your functionality at all.

Or a setting that once set doesn't stay set. If I arrange the settings for something, especially part of a UI, I do not expect those setting to go back to defaults every time an update happens. Somewhere between functionality and not having functionally is only maintaining functionality through constant user effort to rebuild settings.

Like the rental car I had that constantly reset the heated steering wheel every time I got in. I don't want you to be on. I told you I do not want you on. So stop turning yourself on every time. THGTTG predicted this frustration decades ago (the Nutrimatic drink machine scene).


I once inherited a software product that had an incredibly complicated data import process that non/semi-technical users were supposed to be able to use. The training for the product spent almost half a day on learning this process (before anything else in the software!) and it was often in the top-3 of user support issues.

I set about analyzing the problem over a period of a week or so and documented my findings with some recommendations. It ultimately boiled down to far too many settings, most of which were footguns, and no sane defaults that served most users most of the time.

In the end, I instructed the development team to make a number of changes which were mostly around picking defaults, or having the import process use some heuristics to make a reasonable guess, but letting users override them if the software did something wrong -- we modeled very heavily off of various MS-Office import processes, particularly MS-Access and MS-Excel. We ended up getting what was something like a 40+ step process down to 3 clicks that more or less eliminated the support tail and turned training into a 3-5 minute show and tell.

One of the problems with lots of software IMHO is the lack of sane defaults, the blizzard of hard to grok options and settings, and the multitude of ways of doing nearly-exactly the same thing.


I think this is also an interesting observation for physical objects too.

I wouldn’t say I like to muck with the settings, but I’d consider it a critical design flaw if my desk chair didn’t let me.

Same with my car’s seat, steering wheel, and so on.

It does make one wonder though to what extent automating that customization optimally might be possible. It would be cool if every time a different driver sat in the car the mirrors, seat, wheel, and whatever else automatically adjusted for maximum comfort and safety.


Who defines maximum comfort? My dad and I are roughly the same size, but we have different ideas about how to adjust the driver's seat! Some cars let you save seat positions, that's definitely the happy medium between starting from scratch every time a new driver gets in the car and a very expensive automation procedure. Now, I agree, pie in the sky, that might be a cool feature to have, but one thing to note is that designers have constraints, like time & money! Driver's seat adjustments are easy to make and happen infrequently compared to most other tasks, so, and this is another thing to note it's probably better for all involved that the design resources be spent on things that would get used more often, like the AC/radio controls, info display, etc.

Now, your office chair's only purpose is to be comfortable for you. There might be some argument for automating the ergonomics (if you can fit it in your budget, of course), but then again, is it worth adding all that cost & R&D for a feature that will only be used once? Maybe if you're targeting a premium market, but likely not. A part of design is thinking about these tradeoffs and working within constraints...


I like your metaphor. A desk chair with no ability to customize is too constrained. One with dozens of dials and knobs is far too fiddly, at least for me. There is a happy medium with just the right amount of configuration for most people.


But most of good apps have the Settings split in categories and advanced sections, you are not forced to see or touch them. It is not like in real world where many options would have to mean 100 buttons,switches and levers always existing there in your face.


I agree that it's easier to have more hidden options in software than in hardware, though my recollection from my IT days was that the "Advanced" section in the settings panel seems to attract the kind of people who have no business changing advanced settings. (Personally I like how Firefox hides them under "about:config" with a warning.)

Having said that, hidden/advanced settings still have a nonzero cost.


Sure. there is a cost but iumagine a GNOME dev /designer getting his hands ona video game:

1 remove the difficulty level settings, we keep medium , like only a small percent use the Super hard so fuck the those customers

2 remove brightness sittings, the game is calibrated for the desgner expensive screen

3 remove settings for FOV, bloom,shitty effects, we force teh customer to endure our preferences, if they fill sick fuck them, they can refund

4 remove Controls settings, we see what most people use and we force everyone to use that, if someone does not like it they can use a third party hacking program to customize the cntrols.

5 Sound and Music volumte, remove them, the Speackers and headphones have buttons for this, the OS has buttons for this...

.....

Sure settings cost but removing or not adding them is a "fuck you" to the customer, you can get away with it if you either are GNOME and your product is forced as default , or if you have no competitors that can provide a similar product with better defaults, options and features.

Btw I am talking about real features and not how round your button corner is, at my work we had 1 customer requesting our app be able to process TRL(right to left) input and output, we probably had 10000 users but we implemented this feature for this 1 customer because we realized that we can do it and we could gain more customers if we have this feature. Now you have an extra button/checkbox for the RTL option in the GUI , the problem is not that this feature exist maybe the problem is the designer that is not competent ernough to make this RTL button fit nicely in the GUI.


> remove the difficulty level settings

Removing explicit difficulty settings doesn't mean everyone gets the same experience. A well-designed game tailors the difficulty to the skill of the player either by providing progressively harder achievements/endings/sidequests or by dynamically altering the difficulty based on the demonstrated skill of the player.

> they fill sick fuck them

Completely agree with you that accessibility settings that minimize animation effects, increasing contrast, etc should be supported in every game that needs them. Having said that, GNOME seems about as good as KDE with respect to accessibility settings -- fine but should be better.

> not adding them is a "fuck you" to the customer

Do you really feel this way? Most games I play do not have some of these settings you mention (bloom, FOV, etc) especially on consoles. I have never felt particularly insulted by this. If anything, I find it more frustrating when I open a new game and the first task I have to complete is "look up three pages of cryptically named settings to get it to run acceptably well" because that makes it feel like the developer gave up 75% of the way through tuning the game for different hardware profiles and just said "screw it, we'll make the player figure it out".

> you can get away with it if you either are GNOME and your product is forced as default

I am skeptical that GNOME is popular solely because someone is "forcing" Linux users to use it. Most GNOME users I know have tried at least a few other alternatives before settling on GNOME as the least bad option. (Especially once they discover that GNOME's equivalent to "Advanced" settings are called "Tweaks" and "Extensions" which is odd at first but seems to work fine in practice.)

> we implemented this feature for this 1 customer

I agree you did the right thing, internationalization is always important, and you're right that the value is not strictly based on the number of people who would use a setting, but also on the necessity to the few people who need it.

The point is not that software should have no settings. That's a strawman, most software needs settings and most software (including GNOME) has settings. Supporting someone's language, accessibility needs, unique hardware, personal preferences, etc is valuable. The point is that settings have a cost for all involved. Products that chronically underestimate this cost typically have a tough time competing with products that are more thoughtful about which settings they support.


>Removing explicit difficulty settings doesn't mean everyone gets the same experience. A well-designed game tailors the difficulty to the skill of the player either by providing progressively harder achievements/endings/sidequests or by dynamically altering the difficulty based on the demonstrated skill of the player.

Dynamically altering with params decided by a some dude, is it really so hard to understand that people are not the same, look at modern games they even give you more options, extremely granular(damage multipliers, crafting multipliers, XP multipliers, ...) tons , we don't need some dev to hard code some numbers in a .cpp file when it can be coded in an .ini/.xml and exposed to the user.

>Completely agree with you that accessibility settings that minimize animation effects, increasing contrast, etc should be supported in every game that needs them. Having said that, GNOME seems about as good as KDE with respect to accessibility settings -- fine but should be better.

GNOME has no choice to support accessibility, I think RH is forced to do it to sell their OS to gov agencies, this why it makes no sense that you allow UI changes only if you label them accessibility, but if a healthy person wants to change the colors or fonts the designer is objecting. I did not moved to Wayland yet but for my case Global Keybord Shortcuts are an acceptability thing, I need to trigger my own scripts (for TTS) with keyboard shortcuts and some time ago this was not supported by Wayland or you needed to do hacks.

>Do you really feel this way? Most games I play do not have some of these settings you mention (bloom, FOV, etc) especially on consoles. I have never felt particularly insulted by this. If anything, I find it more frustrating when I open a new game and the first task I have to complete is "look up three pages of cryptically named settings to get it to run acceptably well" because that makes it feel like the developer gave up 75% of the way through tuning the game for different hardware profiles and just said "screw it, we'll make the player figure it out".

I am not referring to performance tuning, I refer to shit effects that can cause people headache , like camera shake, bloom, weird god rays or flares effects, small FOV or too large FOX, head bobbing. And 100% I appreciate when a game let's me decide what I should turn off to make the game work smoother, I can give p on grass and other foliage, put shadows on medium or low but I want to keep textures on high. I don't lke whne I don't have a choice. Games like Fallout/Skyurim have a .ini with more tweaks that we players use to turn off reflection, configure grass distance, very good to get the games run on Linux decently and fix weird glitches.

>I am skeptical that GNOME is popular solely because someone is "forcing" Linux users to use it. Most GNOME users I know have tried at least a few other alternatives before settling on GNOME as the least bad option. (Especially once they discover that GNOME's equivalent to "Advanced" settings are called "Tweaks" and "Extensions" which is odd at first but seems to work fine in practice.)

We will never have un-biased data for GNOME but there are studies that show that the default matters a lot. I don't read Linux related articles or podcast anymore so I don't know what is happening, just heard a small rumor that GNOME did something stupid again and it's split it's remaining users again into 2 factions.

So maybe we can agree:

1 settins/features are not free

2 a dev/designer forcing his personal subjective opinion as default and at the same time blocking alternatives is very bad

3 using the majority opinion and forcing it on the minority is also bad, the argument that only 5% use this so let's remove it is stupid, and in fact when features are removed the developers are never transparent with the numbers

4 features for power users need to exist, maybe GNOME can't have a file manager,browser or terminal with Tabs because is too complex but it is stupid to argue that this features are bad in general and this power users are "using it wrong". Better is honesty, "We don't have a file picker because RH pays developers to work on other tickets, and the volunteer want to work on something more sexy, it is a cool feature that we would like to have but we are unable to add it" (really hate the you use the file picker wrong argument)


> But the only thing worse than having to tweak a setting to get your functionality is not being able to get your functionality at all.

Exactly.

Don't think about settings as a failure.

Use reasonable defaults and let users override them in a reasonable way.


This does not track with anyone I have met in real life.

People have no problem with settings as long as the settings are reasonably easy to understand and actually help solve the problems they have.

In fact, Apple setup a store that did nothing but sold settings…the iPhone ringtone setting.

Other countries have had mobile companies selling more settings. Wallpapers, hello tunes (messages that play when you call someone instead of a ringtone), etc.

Settings are not inherently bad. Unnecessary settings and bad defaults are bad.


Having good defaults are a benefit and if done well most people don't need to fiddle with settings. For those who are not satisfied with the defaults you have chosen, having settings to customize things can defuse what would otherwise turn into frustration. Even if your defaults are 90% right for 90% of the people, they are likely to each have a different 10% that they are dissatisfied with.


I'm not sure that's true. I usually am far more frustrated when something in an OS isn't customizable. One reason I prefer Linux and Windows over macOS is because macOS tends to be much more rigid in what I can customize.


Framing settings as pure cost is so wrongheaded.

Sometimes, there's multiple viable ways to use a piece of software. That's settings. That's facts.


Yes, I think it really depends on what the software does and what I'm using it for (my willingness to invest time).

If it's something I use every day for years on end to make a living, then I probably want to be able to tweak and customize it (and I won't mind doing it). Just don't make me keep doing it because your evergreen software keeps updating and changing how things work.

If it's something I "barely" use, then I have absolutely no interest in customizing it. It should just work.

For example, if all I want to do is securely share a file with someone, then don't make me jump through hoops to use it. If however I was looking for software that let me share organized groups of files, should sort in a specific way, would expire after a certain amount of time, and to track engagement with these files (downloads / views), then are probably a few settings I will want to tweak.

What I think often happens is software will evolve / pivot to do more (maybe sometimes less?) then it was originally designed to do. Unfortunately that evolution some times lacks a different design perspective. You might have been religious about clean and simple in the original product, but now it's a bit more nuanced, and you'll need to be more flexible. I don't think there's an easy solution. We just need to recognize that as features are added, design still needs to be part of that process.


Fully agreed.

Imagine there were no mouse/controller sensitivity settings for example. These and many other settings can have huge impact on how usable something is.


There is nothing wrong with configurable parameters. What users hate are fighting with settings. In my experience this involves two things: more technical people know what they want to configure but don't know "where the fuck in the settings it is" or less technical people who know what they want to do but do not know that it can be configured/where to do so.


> Most people don't love fiddling with settings.

Passive consumers don't.

Power users, domain experts, creators, engineers, and owners love settings.


That’s the thing. Not everyone wants the same thing. Provide useful settings, but try to pick the defaults such that most people won’t have to change settings.


Even worse is having been able to tweak the functional for DECADES only to have a random update remove those settings...

Looking at you Microsoft


People love when software does what they need, and some of them will be willing to fiddle with settings if they have to.

Settings can be well designed or poorly designed though. In a way, settings are really part of the design and should be thought of as such. If the settings are obvious to find and obvious in utility, it's not a matter of willingness to fiddle, it's just part of using the software.


Good default settings and good auto-tuning functions are welcome.

The cars are delivered with handbrakes on, wrapped in with wrapping paper/red ribbon. Some people do not realize they need to release the handbrakes and remove the wrapping paper. They are driving for years with default settings, wondering why the mileage is bad and it smells like burned brake pads.


I think it is wrong to optimize for such users since those are more likely to swallow anything anyway. But you also need to capture the more versed crowd, which will also be required to support the casual users.

Have as much settings as you want, sensible defaults are important though.


Most people aren't engineers. Depending on the software you might have people begging for settings.


Settings are like lines of comments or the weight of an aeroplane. Less is better but sometimes it can’t be avoided. I just hate having to configure things though because I always lose my configuration when I change device or have to factory reset so I’d rather change my expectations to match the defaults than to configure something.


Nobody forces you to change the defaults, if your IDE has a color scheme you don't like you can continue using it, change your own preferences then using a menu and a popup to select a different color scheme. The thing is some users want to change things and some developers are even capable to implement things without hard coding various constants. Most issues appears when designers (like GNOME ones) want to impose a brand or vision.

Good apps will store configuration in a folder/file and they offer import/export functionality. As a person with eye sight problems I would be unable to do my job if a shit designer could force is shitty font sizes and colors on my apps(for some reason slim fonts with light gray on white background is sexy in recent years)

TL:DR nobody forces you to open the settings panel, keep the defaults and don't try to demand or defend removing stuff you personally don't need, you don't understand how other work(use the applications)


>Most issues appears when designers (like GNOME ones) want to impose a brand or vision.

Gnome is by far my favorite DE on linux because its the only one I feel that actually cares about the best out of box experience. I can install any linux distro and pick gnome and it all just works. And it just works really well. While everything else seems to take a significant amount of tweaking to create a nice experience. So I think Gnome is the perfect example of why stripping back configuration works. I like the choice available to pick my DE and OS, but after that I want it to just work.

Another issue I have noticed is the more settings a piece of software has, the less stable and consistent it is. You get issues which only occur when particular settings are set because the devs just haven't used that setting in so long they didn't see the issue. I had some where just setting up volume change keys required configuring keyboard shortcuts to fire bash commands to adjust volume..

I prefer to use software where the designers and developers are bold and put forward their vision on what the right way is. If they are right, I use the software, if they are wrong, I find an alternative that is right. I think LibreOffice is the biggest example of devs held hostage by the community unable to do anything. They have like 4 different UIs available which you can pick from in the settings. Their modern redesign isn't even the default setting. So I prefer something like Google Docs where they have one UI and feel empowered to change it to fit the best possible design.


>I prefer to use software where the designers and developers are bold and put forward their vision on what the right way is

This is stupid, why do games let you configure the controls? Is it because the developers are not bold to impose the right way and force the people into it? Are the people changing the controls "using it wrong"?

I assume you mean themes, there is no right way there, there are people that need larger contrast, larger fonts, different colors so give them the option. So if you are forced by accessibility reasons to offer diffent sizes and colors(even iPhones offer this) then IMO you are a bad developer/designer to hardcode your theme and your are an ashole if you do extra work to prevent teeming by the community.

If you mean missing functionality as a feature , most of the time is because other reasons, like GNOME missing file picker thumbnails and their fake defense of it like "you are using it wrong, just DND the files because this is the right way"


iPhones do not offer different colors.

In fact, no proprietary OS offers different colors other than some accent colors.

Which Gnome developers have already said they will bring in future releases.

Heck, they aren’t even against theming. They are taking a wait and see approach to see if they can include more theme customizations without causing remarkably more work for app developers.

In fact, they are absolutely fine with developers who want to provide additional themes doing so. To the point that Gnome developers have themselves added additional theming options to default apps that will be released in Gnome42.


In fact, no proprietary OS offers different colors other than some accent colors.

Either you're very young, or have some agenda. Scroll down to the Windows section here and observe all the customisation we have lost over the years:

https://guidebookgallery.org/screenshots/appearance

In particular, look at this:

https://guidebookgallery.org/pics/gui/settings/appearance/wi...

Windows 1.01 already let you change the colours of almost every UI element.


I remember back with XP everyone was installing additional themes and gadgets to completely customise the look of their system. And it worked fine. Why can't it work now?

A computer is part of the room. It's part of the furniture. It's part of the looks. I should be able to decorate the digital desktop, as much as I am able to decorate the surrounding desk and room.


> I remember back with XP everyone was installing additional themes and gadgets to completely customise the look of their system.

That sounds a bit weird: Up to and including Windows 7, you could pretty completely customise the look of your system just using the built-in control panel.


Not just changing the colors. You had websites with entire themes.


>iPhones do not offer different colors.

I don't mean you chose colors and corner radius because you want to make your buttons look like candy. I mean features like text sizes and high contrast , go check your iPhone Accessibility section (but only if too many settings won't affect negatively, there are probably many options and labels to read).

My point is that hard-coding fonts,sizes and colors in your app is against accessibility, some fonts are harder to read then others for some people, small sizes is obvious the issue, some people need higher contrast then gray on white to read comfortably. If you are a competent dev or designer you need to understand that your app needs to work if the user wants a different font and different colors, Apple has guidelines. What would be nice is to think about the app as a tool that lets the user do a job and not like a work of art that a desgner needs to add it to a CV,


> In fact, no proprietary OS offers different colors other than some accent colors.

Yeah, and that sucks. Why the fuck don't they? Until fairly recently, "the" proprietary OS -- Windows -- did offer different colours for everything, not just some accent colours. Taking that away (with the introduction of Windows 8) was a humongous dick move.

What makes you think that (previously most, and now all) proprietary OS vendors perpetrating this humongous dick move is somehow an argument in its favour?


> Gnome is by far my favorite DE on linux because its the only one I feel that actually cares about the best out of box experience.

And GNOME is by far my least DE for reasons including the way they only care about out of the box experience, which is to say they firmly believe in no customization, and their defaults disagree with me.


Gnome isn’t trying to impose a vision.

In the bazaar that is the Linux ecosystem, they are bringing another idea to the table. The idea that developers (and therefore users) would benefit from having a reliable and consistent default theme and interface.

Gnome is absolutely not opposed to customization and have already confirmed they will add theme colors, etc. Beyond that they are taking a wait and see approach to see additional customizations they can add based on the actual usage out there.

What Gnome is trying to do is give developers who are not as interested in supporting a variety of UI configurations, a base setting that they can target.

Those developers who do want to provide a more extensive theming system, are absolutely able to do so. In fact, many of the new GTK4 default Gnome 42 apps themselves include additional theming beyond what Gnome 42 and libadwaita support by default.


>Gnome isn’t trying to impose a vision.

Didn't GNOME removed the System Tray ? If they offered a choice they could force their GNOME apps not to use the System Tray but support third party apps like say Slack,Skype ,Thunderbird. They decided System Tray is not cool anymore, same for Server Side decorations, they are against supporting legacy GTK applications or cross platform ones - they are not presenting their vision they are forcing it.

But I know fans will excuse with "GNOME team is too busy with removing features to support the System Tray API or keep an SSD compatibility mode but there are some hacky extension or patches on gitHub that worked but probably will stop when you update and let you stuck on a TTY screen"


All too often, especially in the open source world, settings are used as a way to not figure out how to make a good default. When the default is crap, I am forced to go to the settings and spend way too much time finding my way around a gazillion possibilities.


>All too often, especially in the open source world, settings are used as a way to not figure out how to make a good default. When the default is crap, I am forced to go to the settings and spend way too much time finding my way around a gazillion possibilities.

IS there any evidence for this? Like what should be the default font or font size? Is there evidence that there is such a good default? The problem is you want that the good defaults match your preferences without proof that those defaults are good, Sure there are exceptions where evil or big ego people will force their preference over what the users want.

Do you play video games? , if yes don't you think that sometimes you need to adjust the sound volume, font sizes, difficulty to match you?

Do you listen to radio ? Isn't great you can adjust the volume or change the station?

Do you use and IDE ? isn't great that you can change the color scheme, the code formatting scheme, the keyboard shortcuts, that you can install plugins to add more features to help you with your work?

True story, I installed for my son an emulator and installed a game he wanted to play, after a few hours I ask about the game and he tells me that the controller buttons were weird/reversed but he got used to that. I then went in the menus and found the setting where he could have change those buttons so he do not have to suffer and rewire his muscle memory, the conclusion is we need to teach people to not be afraid to think "this software should work differently, let me check for a setting instead of torturing myself".

P.S was not the emulator program fault, it could not have a default that worked for all game and controller combinations.


I'm not advocating for _no_ settings. I'm saying a limited selection of settings are useful, putting just about everything behind a setting like many FOSS programs do is bad. Accessibility is the biggest one where people have certain strict needs which go against the usual. Font size is an example of this accessibility requirement.

I don't like settings for UI, there usually is one correct or best UI. I don't want to see settings to configure the drop shadow amount. I use an iPhone because its generally just exactly what I want. And in the few cases it isn't there is a setting for it or its not actually important and I deal with it. Moving from android I was upset there wasn't a setting to have the keyboard use the vibration motor rather than a click sound but after a week I didn't care at all and I'm glad there aren't 2 billion settings to make iOS work like Android.

I leave my IDE theme on the default, my wallpaper on the default, ringtone on the default. None of it actually matters for getting work done and living life.


>I leave my IDE theme on the default,

For sure you installed some plugin, enabled/disabled some feature in your IDE.

My terminal apps has tabs and profiles, I have my important server SSH open in a tab with a red color scheme to remind me this is not my local and I should pay attention. Sure more then 50$ of the users don't need this but why should the terminal developers not put this important feature for power users in ? I mean regular users should not open the advanced settings, or if by mistake a GNOME users will open it , will have a short segfault/reboot and then proceed to uninstall the app and installed some crippled software or buy an iPad. Do we really need to hide power user settings under some "Cheat code" so this type of users don't see by accident the options screen? do we need to protect their limited ....?


I mean it's an issue tracking system not an app for the masses.


That's actually a big part of the Android/iPhone debate




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: