OpenSourceUsability.com

 
The story behind OpenSourceUsability.com

Once upon a time, there was a young and proud coder. The coder knew everything about computers. He could write a texture shader in x86 assembler, optimizing code by counting CPU cycles in his head. He could track down a broken component just by listening to computer's sound. He could design website that scaled up to millions of users. The coder was a hacker, as older people referred to him. There was no challenge too small or big enough for him. When friends called him, there was no computer he woudn't fix. When aunts asked questions, there wasn't so stupid question he wouldn't explain carefully.

1995

The coder met open source first time when Internet was still lurking in the dark corners of universities. Files were transferred on floppies and often floppies were broken by frostbites. Sometimes you could call to your friend's BBS with modem, but it was expensive to pay per minute fees.

It was a freezing winter morning in up north.  The coder received Slackware 3.5 CD with a computer magazine. "It's Linux", they said. "It's open source." Linux was cool. Open source was cool. "It is free and you can do anything with it", they said. The coder didn't have a CD drive, but he managed to transfer Slackware to floppies at his friend's place. It was a big pile of floppies. Long moments followed, when floppy drive installed Linux, making those scratching noises when reading a disk.

Open source was for software what democracy was for society. Giving power to people. Sacrificing your personal opportunity for wealth in the name of common good and the progress of humankind. In the core of open source were values which had been seen as features of high moral and goodness since the beginning of written history. An opposing movement against those greedy and selfish software companies, which made buggy software always crashing at a crucial moment and taking all your important work down to a sewer. Oh yes, the coder liked open source very much.


2005

"Linux comes to desktops", they said a year before. "Linux comes to desktops", they said two years before. The coder shaked his head, sadly dual booting back to Windows.

Nonetheless, the coder is happy to see how much Linux has progressed since he first time was switching Linux installation disks, feeling sweat drops on his forehead, hoping that cold air wouldn't have damaged his precious floppies. And Linux is not alone anymore. There is Firefox. There is OpenOffice. There is Eclipse. There are thosands of others.

No longer one has to figure out how to create more /dev nodes using mknode command in a limited shell environment if the installer doesn't understand that there are more than 6 logical hard disk partitions. No longer one has to recompile kernel and manually go through hundreds of settings if one wants to play music files. No longer one has to edit cryptic text files to see proper graphics on a screen. (oops, taking the last one back)

Great leaps had been taken. But still something was holding back. Noble open source knights didn't yet wield the sceptre of software kingdom.


All those little things

The coder has Linux installed on his laptop: Ubuntu 5.10 Breezy. The installation was flawless: just sticking a CD into a drive and soon one could hear the grapevine melody when login screen appears. "Full of the message of peace and harmony from Africa, Ubuntu really is something", the coder thinks. Scarred by many battles with different sofware and different hardware, but also seen eye-opening wow effects, the coder is hard to impress. Now he was impressed. "We are almost there", the coder feels. 

Almost... the coder doesn't always like the way how open source community address the problems of making it easy. "Choose different distribution." "It's easy to install, just put CD into a drive." "Use another desktop environment." The coder could try tens of distrutions, install Linux hundreds of times and switch between desktop environments until he drops. Still, the coder couldn't copy paste an image from an application to another if he happened to have a wrong pair of applications. Still, the coder would have to go through the forbidden way of black art to wave a shotgun in his favorite 3D game. Still, the coder would have scratch his head when clicking an email address doesn't open the send mail window of his email client.

It's about all those little things. One is not fatal alone. You can stand one annoyance, two annoyances. Three. If one has great indepth and sees through all layers of software one can fix and workaround the things with patience. Google, mailing list, irc, compiler, source code... it's possible. Alternative, leave it as is and go back, is just so much easier.


Remission

It's not that the coder couldn't do things, or fix things. Often it's not just about fixing things: The coder has wonderful ideas of improvements. Making it less painful. But the coder feels powerless. All these problems, so simple solutions. If the coder could stop the time he could make it better all alone by himself. Unfortunately he can't.

The coder decides if he cannot do it alone, he can at least show a direction to others. Whether this affects anything or not, is unrelated. The coder wants to feel that at least he tried - it's for his own conscience. "I'll give my best shot."

Armed with the knowledge of user interface design since the ancient era of blinking cursors and line number programming. Motivated by the burning spirit of proudness and infinite ambition. Guided by the noble heart of classical virtues - the coder opens an editor and starts typing.