Saturday, August 27, 2005

I hate computers...

... or should I say more accurately that I continually find computers running Windoze very, very annoying. I often wish that somehow I could find an effective way to provide some constructive feedback to Microsoft and make it clear to them how incredibly frustrating my loss of productivity when using their software is to me and why.

A case in point. Today I was writing a .BAT file on Windoze 2000 to wrap up my JAVA application. Admittedly, my class path has been seemingly growing without bound lately due to the complexity of the project. When I attempted to run it, I was presented with the following error message:

The input line is too long.

Great ... lovely. Thanks for the feedback Bill. Hopefully someday I can return the favour, but that is probably just wishful thinking on my part. I find things like this commonplace whenever human factors in computing are left to programmers alone. The message is, technically speaking, exactly correct and succinct. The input line is too long. End of story. My problem is that it does not tell me how to fix the problem, or which line is too long, or that the Windoze 2000 command line length limit is 1024, or anything ... arg! In effect, this message contains about the same amount of real information as "An error has occured." or "Elephant bathtub boondoggle."

My issue with things like this (other than it costs me time to restructure my BAT file) is that very likely some technologist somewhere in the development chain was either lazy or simply forgot one of our profession's most important best practices, some of which are summarized nicely on this page:

  • Help users recognize, diagnose, and recover from errors
  • There are countless examples of things like this that suck the life blood out of my work day, and I know I am not alone. Come on people. This is not rocket science, just common sense and politeness. Be bold. Be the first programmer on your block to start a new trend ... human friendly computing.

    Post-mortum dump: What was the fix you might ask? Share the deeply nested directory on the network (making sure that if you don't want anyone else to be able to access the drive, then set the permissions so only you are in the access control list), then set it up as a mapped network drive. That way, the really long path becomes a single drive letter.

    Post-post-mortum: A much better approach than the above was suggested by this guy which is as follows:

    "Using "subst" or junction might be safer. Mapping drives like that doesn't always work. I *believe* there's some kind of timeout built-in for mapped network drives (even if mapped to localhost). I used to use the Network drive mapping to map to self, and it sometimes failed me for prolonged or heavy operations."

    And as usual, he was exactly right. Cheers.