For a while I have being trying out the terminal Kitty. It is has being a pleasant experience and the clean design makes it so nice to use. Of course I am not a power user yet but everyday I learn a bit more. There is only a few things that I had to change out of the box. One of course was the theme that it uses. The over all default design of the application is very good. It does not use menus or settings windows. Instead there is one configuration file where every thing can be changed.
Some reviews of Kitty that I have seen didn't like all these configuration options. It is The Paradox of Choice problem. The more choice you have the harder it is to make a decision. There is a part of me that did agree with this. We will talk more about that "did agree" a bit later. The configuration file is well documented. Each option has a description of what it does. This I find super usefully. But coming back to the too many options. This is a problem when applications have to many places to update the settings. Kitty is only one, yes it is a very large configuration file but it is still only one place. A second reason why all these configuration options are okay in Kitty. Kitty's defaults are good. Out of the box you don't need to do much configuration, if any.
So back to the reason for this post. A while back I updated to the newest version of Kitty. After the update, any time you exited the application, let it be by the x in the top corner or by a command line command, it would ask if you were sure. While I can see the reasoning for this behavior, it drives me up the wall. I open and close terminal like they are going out of fashion. The new behavior made my experience worse. I was not happy.
But I stopped and thought about this problem for a quick minute. Kitty gives so many configuration options, is it possible this behavior could be configured? And yes of course it can. With a small search I could find the configuration I needed to change. It was easy to get back to want I wanted.
If Kitty had menus and settings windows like most applications I wonder would the ability to configure this feature would have been added and if it would have been easy find. The thing that I feel allowed Kitty to add this configuration so easily was the fact there is existing culture of allowing everything to be configured.
In some of the work that I am doing currently there is the idea of allowing every part to be configured by the user/developer but it's not working as well as it should. There is more than one place and one way than you can configure the settings. I think the reason why it's not working as well as it should. It has all become a bit of a mess. For the current project it's a bit to late to try change it but the future well we will just have to see.
The key take away here is if your going to allow configuration, allow the user to configure everything. Try keep configurations to one file and give good descriptions of the feature. A user maybe searching for a close but wrong term. The documentation should have some of the key words. Final, possible most importantly, have good defaults form the start.