Note: I wrote this rant a couple of months ago and since it kind of follows the same patterns as my diary entry from yesterday, I decided to submit it.
Technology Rant One
October 4th, 2000
Like Jaron Lanier (both in an interview and in his One Half of a Manifesto), I hate Microsoft Word's auto- spelling and grammar correction. Unfortunately, MSWord has become the standard by which all other Word Processors are designed too. I noticed this yesterday when I was working with a demo copy of AmiPro on Linux. They borrow too much from MSWord User Interface then is necessary. (Funny sidenote, I pasted this page into MSWord 97 for spell checking since I couldn't get Window NT version of Emacs' spell check to work and noticed the following. Linux is automatically marked as a misspelled word. I bet that MSWord 2000 recognizes Linux. This is very similar to how MSWord 95 marked the words Internet and web- pages as misspellings in 1995-97.)
Neal Stephenson is right in his essay, "In the Beginning was the Command Line", modern User Interfaces prevent too much from the raw power of the machine. Having said that, the learning curve to actually use your computer at a lower level is still very steep. While installing Mandrake Linux's 7.0 installation was a lot less painful then my older copy of Red Hat's Linux installation, it still is not as easy to use as the MS's Windows 98 installer. The biggest problem for me with Mandrake 7.0's installer was that it hides too many details from me, details that later became very important. The Mandrake 7.1 installer is better, which makes me believe that Open Source software could be a desk-top competitor to MS by the time of MS's next big consumer OS release because it was less then four months between the release of the two different versions.
These experiences re-enforce my beliefs about what makes good software design: Here are a few of them, in no particular order:
- Good software design allows multiple ways for users to accomplish his or her tasks.
- A good GUI tool should provide a way to view the internal details of what it is doing for interested users. These internal details should explain what is going on as well providing the raw OS API calls.
- Good writing is critical to good software.
- Users are normally smarter then developers give them credit, just because their actions do not follow the developer's own methodology does not mean that the users' mode of rational thought is wrong.
- Conversely, user's actions are sometimes random, not following any rational path. This is the hardest case to design for in software.