Building communities with software by Joel Spolsky is an old but very worthwhile post to read.
One of the many things I like about it is that it shows the thinking beside the design. It shows that thinking about the design is actually important and that conventional wisdom isn’t so wise after all.
An interesting software phenomenon is that any succesful product creates a lot of “me too” imitations. I’ve seen in over and over again. Forum software that all look the same. Text editors that only differ in which UI toolkit they use or which scripting language they support. File managers. Tracker programs (Amiga owners know what those are).
At the same time other useful product categories can be underserved. For example, there was a time, many moons ago, that you could choose from 10 different 3D modelling programs for Amiga but 0 decent word-processors.
The other problem is that it’s hard for humans to break free from dominant form. Since the days of Norton Commander pretty much every file manager has 2 panes (and you can find lots of other examples of non-innovation).
Which is why it’s refreshing to read an article that shows that design should focus on thinking about doing things that make most sense, not necessarily doing things the way the’ve always been done.