Hacker News new | ask | show | jobs
by rob74 1845 days ago
> Conventions create an opinionated product. Opinions create user delight. User delight creates successful businesses.

The problem with opinionated products is people who have very strong opposite opinions. Go for example is a famously opinionated language - it even has a standardized way to format source code via go fmt which everyone uses. But if these opinions clash with the opinions of equally opinionated people, those people may refuse to touch it. Me not included (I have to stress that), my opinions are not set in stone, and I see the reasons why the language designers did it the way they did - in the end, having a standard way of doing things, even if it's not everyone's favorite way, is better than fragmentation.

5 comments

It's usually how corporate programming languages are designed: they have corporate environments in mind which is the exact opposite of hacking. Strict standards, predictability and low bars to entry. Hence opinionated approach even to source code formatting and pretty much everything else. Java, C# and Go are all examples of this. Swift is kind of there too, though it's probably the least opinionated language of them all, the corporate ones. (Some would say C# is also kind of okay. Probably)

But the point of the article was a bit broader. Opinionated products can build a strong devoted userbase around them. The question is only how reasonable your opinions are.

An example from Apple's UI: the way multiple windows of the same app are cycled on the desktop with Cmd-` is absolutely beyond any logic. It tries to be smart but makes cycling so unpredictable that it becomes practically useless. It's probably even worse than MS Word's copy/paste one (actually I'm not sure which is worse).

This is someone's opinion and I can't imagine anyone on Earth except the creator of this logic being happy with it. It's an edge case that illustrates the point: your opinion should resonate with enough people to sustain your business, that's all.

That's fine, then they won't use it.

Narrowing down your target market is marketing 101.

The problem with opinionated products is people who have very strong opposite opinions.

Unopinionated products have to cater for everyone though, and that creates bloat and complexity. Those will kill a product quicker than limiting it to a small portion of the market that agrees with the opinion you choose.

> Unopinionated products have to cater for everyone though, and that creates bloat and complexity.

I don't think one has to lead to the other. Flexible/configurable software often also means extendable (and thus potentially smaller out of the box) software. If it's bloated from the start that's not because of a lack of opinions; in fact for me it makes the software more opinionated because it may come with a lot of stuff users don't need. For example Firefox is pretty flexible and extensible, you can even rearrange the UI, but it comes with things like Pocket that nobody asked for.

Imho programs shouldn't try to cater to everyone, but they should be flexible enough that they are able to if needed.

Isn't having an opinion + figuring out how to match that w customer needs exactly what product management is?

I mean any product manager has to make a lot of decisions. Having an opinion does help in making decisions

Being opinionated is okay if your product is interoperable with others. Then people have the choice between your product and its potential replacements so having choices within your product is not as important. I guess Go is okay because we can afford multiple library ecosystems and programs written in different languages can interoperate.

Unfortunately for-profit companies really don't like giving their customers the choice to switch to a competitor.