Opinionated vs Customisable
This is an existential question a software developer has to answer nearly every day. Should we create a setting or just do something the way we see is right and if someone doesn't like it - so be it.
In theory, it is preferable to make
#customisable - everybody wins and there's always a "yes" answer to every question. In practice, making everything customisable inadvertently leads to bloated architecture, #UX compromising and in some cases - even more limitations than a one-sided choice would cause.
Case in point - presentation of comments. First, we have to decide if we should show the latest first or newest first. Second, threaded or flat. Third, to paginate or load-up. Forth, how deep to nest. Fifth, how many to preload in cards. Sixth, how many to load on-page. Seventh, how much to show if the comment is too long. Eighth, what attachments to allow and how to treat them in preloaded comments. Ninth, what author info and actions to allow. Tenth, how to permalink - to anchors or to dedicated pages. The list goes on and on and on.
Now, different webmasters have different ideas on what is the "right" way to display comments. So, we do have to have some degree of customisation... but how far should we go? Mind you, every tiny setting creates an additional computational load to the hosting server, requires some form of documentation and leads to inevitable support overhead. It's a tough call, every single time.
Most of the time we treat UNA as a customisable platform and try to make all features configurable. For many aspiring community startups, it translates into a steep learning curve though, and we can't help but think that if we took a more opinionated approach we could offer a really sleek, robust solution that does fewer things, but in an exceptionally good way.
Luckily, the platform architecture allows for various approaches and so we will indeed bring a "just works" layer in a form of a UNA App to try and see if it would solve the initial adoption hardships and streamline deployment for projects that don't need very specific design. It will be a "Just One Thing" product and the first preview is due in a matter of days. Stay tuned!
I've been thinking that we ultimately need 3 entry levels into UNA suitable for 3 different types of customers, with various levels of business vision, technical know how and budget. I am comparing it here to the traditional CMS world;
1. For the Squarespace customer - a highly opinionated solution that they can download and configure with minimal choice and confusion - the Community in a Box Solution.
2. For the Wordpress Style customer - a semi-opinionated solution that can be configured with together a number of different solutions - for example an Online.Me scenario, which is a starting point to get you started and can ultimately be adapted as your experience and clarity around your communities needs is developed. This system could include integration of a number of pre-configured solutions - perhaps an Online.Me scenario with an Learning Management System built in, or a Project Management Tool with a Help Desk built in.
3. For the Drupal customer - an enterprise class system, that can include custom modifications and developed into basically anything you can dream of.
Yes it might be ideal for the end user, but would not that be a big workload for developers?
Because in this case he could turn against the end user who will have to wait much longer before having something solid.
You mean three different solutions? Or three solutions in one with three modes "beginner", "advanced", "expert"?
With three distinct solutions, are not you going to put the user in front of a difficult choice to make, since he does not know?
Me it seems to me that I would rather be on the side of Alex, moreover, whatever you do, there will always be people who will not be satisfied, many get lost by trying to please everyone. What you really want is something solid, if you miss some options, it's secondary.
Baloo - I'm thinking more with a marketing/operations head than development. Essential UNA is a single platform, capable of delivering a huge range of potential solutions - there are way too many choices for novice users, so we can create pre-defined or opinionated solutions to get people started quickly, or as you said 'three solutions in one with three modes "beginner", "advanced", "expert" - hopefully over time people can progress from beginner to expert, but of course some people aren't interested in becoming 'UNA experts' - they just want something that works, and is quick and easy to set up ie. the 'Squarespace customer' - We are working on a solution to fill this gap - watch this space ;)