Hacker News new | ask | show | jobs
by Centigonal 943 days ago
adding configurability means maintaining lots of different possible states, which may interact with each other and have unexpected emergent effects. This slows down future development and attracts users who lose their minds when you break their pet feature.

Some software has succeeded going down the path of high-configurability (mostly FOSS like vim/emacs/sublime/vscode, Calibre, rainmeter), but the prevailing school of thought nowadays is more Apple-esque: you should design software that has one "right" way to do things and adjust that one happy path based on user telemetry. Everyone who doesn't like your One True UX will come around if your software's value proposition is good enough (or at least grit their teeth and keep using it), so it's not worth the effort to create and maintain a bunch of configuration.

1 comments

Having a "right" way to do things also makes it easier to maintain design which meaningfully guides user behaviour. The interaction between design and user experience is quite complicated, and multiplicatively so with >1 UI options.
What's multiplicative about being able to disable/hide "hotels" button and make it smaller by removing the text?