We all hear all the time that less is more. That simple is better, that complex is worse, that options are evil, that defaults are what matter.
And yes, that is about 90% true. Except when it is false, which I know because I bought a coat a few weeks ago.
This is a rather nice coat, and if you saw it without much care you would miss one of its best features: it has two pockets on each side.
Let's think about why we want pockets in the sides of coats:
- To put our hands when it's cold. Since this is a cold weather coat, that's important. In moderate climates like this one, gloves are more trouble than they are worth, and just sticking hands in pockets is enough.
- To put stuff that is not hands in them: keys, phones, money, candy, etc.
For the first use case, we want the pockets to be shallow angled, so that the hand goes in naturally, almost horizontally. Also, we want the access to be unobstructed, so no zippers, which also scratch the wrists.
For the second use case, we want things not to fall off. So we want either a vertical pocket (perhaps with a flap) or a zipper. Zippers suck because you can forget to zip them, and things fall off. Vertical pockets are awful to put your hands in.
So, my jacket has two pockets on each side, one with a zipper, one without. One for hands, one for things. Since it's a thick coat you don't see it unless you know what you are looking for, and it's trivial to use: everything goes in the zipped one, except my hand. I can even check the contents of the zipped pocket without getting my hands out of their pockets.
This is one case where more is more, complex is better, options are awesome, and defaults don't matter. Now, if you find a place in software where that's the case, that's an opportunity.