Friday, January 14, 2005

Google, Command-Line and GUI Applications

by Asim Jalis

1. Google has recently released, which lets you google your hard drive. It is quite good. Also the size is small. The download is about 400k. The memory footprint is about 1 Meg. In other words, you could fit this on a single floppy. 2. The user interface is IE. The application spawns a tiny web server and then connects to it with IE. In other words the application has no complex GUI layer -- it's interface layer is HTML. 3. While engineering types I have spoken with think this is a "fatal flaw" in Google's tool, other people have said that they love it because it is so simple and easy to use. 4. This webserver trick is a really cheap way to create a GUI. I had (like some other engineers) assumed that this was cheating. I had incorrectly assumed that to create a real GUI application you had to go through the pain of creating Win32 controls and hooking up all their events. But it turns out this is not the case. 5. If you make the GUI simple you can focus your energy on everything else, e.g. on making the application super small and super fast. Also the application is more testable, and so more reliable. And finally it is more evolvable. 6. Essentially what Google has done is created a glorified command line application. And yet using it feels so intuitive, that it easily beats a rich GUI. I am amazed to note the same reaction in non-tech people.