Thursday, February 28, 2008

Patents and Einstein

I found an article about the 'Peer to Patent' project (by Andy Oram) in this month's CACM. The aim of the project is to ensure that computer-related patents are properly reviewed and stop the worthless ones from being granted. Surely a worthy goal! Here, a patent can be put up for a public review and experts from anywhere can submit 'prior art' claims etc.

Browsing some related links, I came across this, please read the patent excerpt there. I wonder whether all patent applications are written this way. Andy says in his article that a patent is supposed to teach you how to re-create its invention, (and also that the lawyers who write the applications often seem not to take this responsibility seriously, which seems to be the case after all).

Then no wonder it was Einstein who invented the theory of relativity, which it was once claimed that only twelve people in the world could understand. (No, no, no, I haven't lost it yet, my friend). For the forgetful, bear in mind that Einstein was a clerk in Swiss patent office at the time when he published the theory of Special Relativity. And if he could read and understand and make sense of these patent claims, no surprise he could understand and make sense of the universe too :-)

Anyways, the project seems to be a step in the right direction and I wish it best luck.

P.S.
Can patent reading be used as a kind of mental exercise? Can it be included in standard IQ tests etc? The project website will come in as a handy resource ;-)
I also wonder whether this language barrier (between technical and corporate people) will prove to be a show stopper.

Tuesday, February 26, 2008

A lesson in history

Came across this amazing 'History of Tux' link. For all those who ever wondered where the penguin came from. Compulsory reading for linux fans. (and yes, Do not fear the Penguin).

(This is also my first post using scribefire)

Monday, February 18, 2008

Strike pe Strike, Counter Strike..

Last weekend had a particularly delightful beginning. After a heavy day of work on Friday (OK, stop laughing), we managed to pull off a CS session. Thanks to Lalit for persuading us and for the setup. I was touching CS after nearly three years but played so well that people were fighting to have me in their teams (OK, this is a bit of exaggeration, most probably a megabit of exaggeration).

But it filled my mind with my engg. day memories, when I used to play for 4-6 hours straight and the great pleasure of finishing UT2K4, Max Payne and COD. In fact, game testing was my first choice of career (once I got to know computers). Like every enthusiast, I dreamed of making my own games, and even learned a bit of 3DMAX, but the spell was short lived, most probably because new games won't run on my antique (by today's standards) machine.

MMORPGs and ARGs are big themes these days with many businesses spun around them (you can even trade linden dollars (currency in second life) for real dollars). Many relations are made and broken entirely in this virtual world. So where is it gonna end, in the Matrix? where everyone will be happy? And how are these virtual worlds different from our physical world? A virtual world a system built on rules (The Matrix) and so is our physical world (if the laws of physics control our consciousness and hence our actions too). So what does 'free will' mean in this situation? How do you define 'responsible behavior'?

Another thing I noticed was the proliferation of mods over the years (CS itself is a mod on Half Life engine). That looks very much similar to community developed patches to open source software to me. Is there a bigger pattern here?

OK, that is a long list of questions. Better I play another round of Tux Racer. Happy Gaming.

Thursday, February 14, 2008

Inmates are running the Asylum

Recently I finished reading this book, 'Inmates are running the Asylum', by Alan Cooper. The inmates in the title are the programmers, who the author argues are actually running the software business (OK some CTO/CEOs might be programmers, but certainly your average programmer does not run the business, read Dilbert if you have any doubt).

The book talks about the (un)usability of today's computer systems. The central point is that computers are becoming more and more a part of our daily lives with many devices being crossed with computers (like ATMs and Car locks). But end user design does not get its share in our ever cramped software schedules. The author calls today's software products 'Dancing bearware'. Take this scenario, if you see a dancing bear, you most likely won't notice how well it is dancing, astonished as you are to see it dance. Same is the case with today's software products, they enable us do things that were previously impossible and end users accept their idiosyncrasies as the price that will have to be paid (compounded by the fact that they have never seen anything better). Surely software annoyance is a big problem these days, there are even books devoted to this topic (so it has also become a big business). The problem worsens because the end user design is done by programmers (who are good at handling cognitive friction, whereas the end users are not) and they tend to concentrate on tasks that the user needs to perform instead of the goals of the user.

The author argues, though people will use such a product, it does not generate customer loyalty and users will switch as soon as an alternative becomes available. (As can be seen in the case of ipod and other music players). The author suggests 'goal based and persona directed end user design' as a solution (though he sounds a bit too optimistic with the effectiveness of this solution). Another important point the author makes is that, improved technology won't automatically solve these problems. Our processes will have to be improved to make any real progress (True for many other problems, e.g. newer programming paradigms (like OO), were expected to give bug immunity as well).

Overall, a superb read, highly recommended, even if you don't design UIs.

P.S. In an experimental setup, users were expected to complete a complex operation using spreadsheets. Every few seconds, the status bar flashed the message, 'There is a $50 bill taped under your desk', but none of the users claimed this prize. Goes on a long way to show the usability of standard UI components like the status bar.