Live data from Hacker News

Kill the settings, build opinionated software

flyosity.com

31–40 of 52 posts

Re: Kill the settings, build opinionated software

#31
post #5

Earlier quoted context omitted.

Every piece of code or bit of functionality you write has a cost of ownership to your business. Every preference requires more testing to make sure that other things don't break as a result of a user changing an obscure setting. If you don't mind having to write test cases for thousands of permutations of possible settings, go ahead and let your customer change everything. A simple product, however, is far easier to…

Obviously, the simpler the product is, the easier it is to maintain. But as the product gets simpler and simpler, it becomes valuable to an ever-smaller pool of users, all of whom have differing needs. Obviously it's not as simple as "just build it simple." There's a delicate equilibrium that must be maintained.

While they're often linked, it's important to remember the distinction between "Simple Codebase" and "Simple to Use". The latter is much more important in most cases than the first, and sometimes it can take very complex code to make something as simple as possible for the user.

The simpler something to use, the bigger the pool. The fewer the applicable use cases, the smaller the pool.

Re: Kill the settings, build opinionated software

#32

Earlier quoted context omitted.

This assumes a one-to-one relationship between pieces of software and workflows, which is absolutely incorrect. Just because you design a piece of software to be used in a certain workflow does not mean that that workflow will work for everyone; software which allows users to configure it to fit their individualized problems and processes is infinitely more valuable than software that tells the user "it's my way or t…

Arguably, if you work a different way than the majority of users of a product, you'd be better served by a different product.

Usually, a product which doesn't exist.

Re: Kill the settings, build opinionated software

#33
Here's a little anecdote: Years and years ago, in a moment of free time, I added a bunch of silly settings to my software (EasyBCD, now with 7-10MM+ users). It had almost no users then, and I just added these options to "fill up" the empty preferences dialog. A year or two later, I removed a couple, and the complaints could be heard around the world.

The features, you ask? They really are ridiculous: Save the window size on exit. Set the default size of the UI text. Set the default font of the UI text. Open in "advanced mode" by default. Open to a particular page.

None of these features really saves a user more than a click. Some of them are purely aesthetic. But their popularity - which I greatly underestimated - was incredible. Till now, people file bugs when their favorite "silly preference" ends up resulting in odd behavior. And they always catch on immediately when I change something there.

Sure, it's hard work (read: boring, time-consuming, donkey work) to maintain these options. But I think they're part of the reason EasyBCD has succeeded.

(Note: EasyBCD is a software most people install once and never use again. It's definitely not something you would use on a daily basis. But people LOVE power and control, even if it's just an illusion.)

Re: Kill the settings, build opinionated software

#34
post #18

Some people argue software should be agnostic. They say it's arrogant for developers to limit features or ignore feature requests. They say software should always be as flexible as possible. We think that's bullshit. The best software has a vision. The best software takes sides. When someone uses software, they're not just looking for features, they're looking for an approach. They're looking for a vision. Decide wha…

This is the problem -- the argument about 'settings' has become about whether there should be a preference pane, whether there should be an "advanced preferences" pane, etc. Settings aren't the problem. Preference panes are the problem. If you back the ability to customize something (aka toggle a setting) into the thing that needs customizing, then preference panes disappear, and the interface becomes inherently cust…

So for your mail client you bake all those little mailbox settings into the UI somehow, even though it's mostly a "set and forget" kind of thing?

Re: Kill the settings, build opinionated software

#35
post #5

Earlier quoted context omitted.

Every piece of code or bit of functionality you write has a cost of ownership to your business. Every preference requires more testing to make sure that other things don't break as a result of a user changing an obscure setting. If you don't mind having to write test cases for thousands of permutations of possible settings, go ahead and let your customer change everything. A simple product, however, is far easier to…

You do mind but if the customer insists you have no choice. My customers use metres, feet and statute feet, they work in degrees, deg/min/sec and grads. They work in X,Y,Z or N,E,Z (don't get me started on South Africa) Then you have day/month/year and month/day/year, then you have Canadians that work in both. It's easy for a web 2.0 site with no actual customers.

What is N,Y,Z and how does it relate to SA?

Re: Kill the settings, build opinionated software

#36
post #35

Earlier quoted context omitted.

You do mind but if the customer insists you have no choice. My customers use metres, feet and statute feet, they work in degrees, deg/min/sec and grads. They work in X,Y,Z or N,E,Z (don't get me started on South Africa) Then you have day/month/year and month/day/year, then you have Canadians that work in both. It's easy for a web 2.0 site with no actual customers.

What is N,Y,Z and how does it relate to SA?

A Google search for "n e z coordinates" revealed that N stands for north or northings, E stands for east or eastings. Basically, it looks like they just swap X and Y.

Re: Kill the settings, build opinionated software

#37

Earlier quoted context omitted.

This is a perfectly valid use of the word. In a purely technical sense, orthogonal means "intersecting or lying at right angles". But it can also mean "mutually independent, non-redundant, non-overlapping, or irrelevant" in the context of everyday conversation. And you're missing the point. Obviously configuration must happen through a UI, but OP is saying that more preferences don't necessitate poor UI design, and I…

but OP is saying that more preferences don't necessitate poor UI design This. And also that you could have the "right" number of preferences (if such a thing exists) and still have a crappy UI. IOW, UI quality and number of preferences vary independently.

Someone please communicate this to the Gnome designers.

Re: Kill the settings, build opinionated software

#38

I always cringe when I hear "don't listen to your customers." That is absolutely the wrong behavior. If you don't listen to the people who are going to buy your product, you won't build a product that solves a real problem. I listen to my stakeholders (potential users, potential buyers, current users, etc), but I don't necessarily do what they say. Most people try to give you a solution to their problem, you need to…

"don't listen to your customers" means doing exactly the way you describe it in the second paragraph. It does not mean "don't pay attention to what your customers are doing".

Re: Kill the settings, build opinionated software

#39
post #35

Earlier quoted context omitted.

What is N,Y,Z and how does it relate to SA?

A Google search for "n e z coordinates" revealed that N stands for north or northings, E stands for east or eastings. Basically, it looks like they just swap X and Y.

I'm South African and I've never seen that used. Perhaps it is by people in a particular industry?

Re: Kill the settings, build opinionated software

#40
post #18

Earlier quoted context omitted.

This is the problem -- the argument about 'settings' has become about whether there should be a preference pane, whether there should be an "advanced preferences" pane, etc. Settings aren't the problem. Preference panes are the problem. If you back the ability to customize something (aka toggle a setting) into the thing that needs customizing, then preference panes disappear, and the interface becomes inherently cust…

So for your mail client you bake all those little mailbox settings into the UI somehow, even though it's mostly a "set and forget" kind of thing?

Yeah, you do.

I want to enable secure outgoing email. Which is better:

"Click the Accounts menu, then Mailboxes, click the mail account you want, click the Outgoing tab, scroll to SMTP Advanced Settings, and Enable TLS/SSL"

or

"Click the i icon next to the mailbox name, or right-click and select Settings. Scroll down to Outgoing Mail, and check the SSL/TLS option."

The first option is vestigial, from an age where pull-down menus and dialogs were marked improvements over text-based config files nobody but us understood. The second option directly links the item with the controlling settings for that item, but will hopefully also one day be vestigial when we figure out something better.

Post reply on HN