Welcome!

This weblog was the original abode of Abhijit Nadgouda, now it is moved to iface thoughts. He will appreciate it if you can carry discussions, if you want to, over there. He uses this blog to write specifically about Wordpress or Wordpress.com.

If you are reading any specific post dated on or before 17th August 2006, just replace the domain name with the new one, i.e., replace https://iface.wordpress.com with http://ifacethoughts.net and you will arrive on the same post in the new blog.

What About Flexibility?

However I feel it is a incomplete without its possible side effects. The biggest one being lesser flexibility. Of course flexibility itself can be the evil sometimes, but design of any software is (or should be) done with enough flexibility. One of the most classic divisions in the Linux world is over Gnome ‘s simplicity and KDE‘s flexibility. Another instance is the popular messenger gaim opting to reduce the number of preferences to make it simple.

Reducing the necessary flexibility can kill the application and sometimes its usability. There are logical sets of customization units that can need to be equally flexible, e.g., to let the user select a font, the change of typeface, font size and the decoration all has to be provided in a word processor. Howerver, this flexibility might not be necessary for writing posts on a blog as the presentation is controlled by the theme.

Solution?

What is required is to keep a balance between enough flexibility and possible simplicity (through usability). Beyond this balance these folks are ready to wage a war with each other. One of the ways I like to achieve this balance, in case of preferences, is to provide default values. Allow the user to make fewer choices by providing default values for things (s)he does not care about. So that the other (s)he will have more or lesser choice. Using the combination of flexibility and default values you can provide different levels of choices to different users.

Another way can be to provide themes of preferences that users can choose. Something similar to desktop themes or blog templates and themes. The user profiles should be used to identify the different combinations of choices to package as a theme.

Documentation A Must

I think this is the biggest effort cost of providing flexibility. Without supporting documentation it is just another bundle of controls and dialogs for the user. Usable and extensive help can provide the necessary education to the user about the application.

I am a believer of the Less Is More paradigm, but it is imperative to decide on how much less. This will by and large be dependent on the user profiles the application is expected to serve. Over the long term a software with the right formula of flexibility, simplicity and functionality will be successful. However, it is important to see that the formula will not be the same for every project, it will vary and will depend on lots of factors. It should result in a software as simple as possible with enough flexibility to provide the expected functionality.