Thursday, May 01, 2008

A sizeable problem?

There has been lots of hot air surrounding a recent heated debate regarding an issue with resizable entry boxes for conversation windows in Pidgin, which lead to a fork of the software. Here's some fanning from my side...

From the technical point of view, Pidgin developers were perhaps taking the right stand. It was decided by the developers right back when version 2.0 was released, that Pidgin would keep options down to a minimum and present a very simple, usable interface to the user. Now, the question is not about whether that decision was right. The developers had their reasons of course, but many wouldn't like this approach. As a matter of fact, I would prefer control and power as opposed to simplicity. But well, that was a design decision they made and they have every right to do so. And for the sake of design consistency, it is important that they stick to this approach. Giving an option to resize windows is well, going straight against that decision.

I wish the person who forked had bitched about the decision to 'go simple' back when it was v2.0, and forked if things didn't work out. By now we would be having two programs, one minimalistic and one fully controllable. That sounds really great! In fact, there have been examples of software forking for similar reasons, like Links and ELinks. I do agree that forking wastes lots of resources. But hey, that's the way free software works. There will be differences in opinion, and since the source is there for everyone to hack, there will be variants. But as long as there can't be one good solution satisfying all, forking atleast provides users with options to pick and choose from.

The funny part of such episodes is the side-attempt made by proponents of proprietary software to get a few brownie points with the argument that commercial software is better off, since companies have to listen to their users in order to retain them. Yes, companies will lose money and thus change if users protest, but I am not sure it always works that way. For one, that's the entire reason we have anti-trust laws are in place. And here are some statistics. At the time of writing, "Downgrade Vista to Windows XP" has 392, 000 Google search hits. "Vista Sucks" has 541, 000 results. Shouldn't that mean that Windows Vista should have rolled back to Windows XP by now?

Let me end it this way. Developers would many a times be happy to help and be considerate enough to do what you suggest, if they like the idea. If they don't, they will reject it. The FOSS model puts the developer at the top. You code because you want things your way. If you don't like it, then you would be asked to go ahead and tweak for your own, because the code is made available to you. FOSS came to the forefront because developers needed a break from programs created by companies which didn't allow them to do what they wanted with their programs. It thus doesn't make too much sense to assume that they will get into the same issue because of users, and that too with the code they have copyright over, as opposed to the company before.


  1. This comment has been removed by the author.

  2. Wouldn't one solution to this problem of "how many options to give?" be to have multiple levels of options? Put the simplest/most used ones in your GUI and more advanced ones in, say, a config file? This complicates things a little but is probably closer to what happens in other systems - your car for example. What say?

  3. true.. many software systems do that as well.. actually even pidgin has that by means of the extended preferences plugin... that's the highest level of flexibility a system could provide, right? an interface to change its own code.. the point is you have a way out.. the pidgin developers have a target audience who don't need that complexity and they are not going to bother managing that.. if you are interested, do it by means of a plugin!