« The vendor is not the community | Main | High explosives missing in Iraq »

September 16, 2004

IT administration user experience

Jenni Merrifield: "It really doesn't have to be an 'Either/Or' choice between having a good GUI or a good CLI."

Indeed, it generally shouldn't be. All administrators are not the same, and they will have different working sets. What Admin A does day in day out, can rattle out command lines in his sleep and has developed a whole pile of slick scripts around his particular usage pattern, Admin B does once in a blue moon and could really do with an explanatory GUI and a friendly help system -- just the sort of things that would slow Admin A down. Conversely, Admin B's everyday tasks may be unfamiliar and scary to Admin A.

With modern component technologies, this is actually very cheap and easy to do because the actual functionality should be embedded in an object model that can be reused in thin GUIs and CLIs. We've successfully used this approach for data import/export -- our system configuration tool is a GUI, but we also have command-line tools for certain functions so we can use them in our build and test scripts. Both the GUI and CLI tools are thin wrappers over the object library where all the work happens, so the overhead cost of having two interfaces was minimal.

Jenni also notes that a CLI "should be designed with ease of use in mind" and gives as an example "parameter names should be meaningful." Hmm. One of the things CLI wizards tend to value is terseness, even at the expense of readability to the uninitiated. (Sometimes I think especially at the expense of readability.) Most CLIs nowadays seem to support both verbose and terse ways of expressing parameters or verbs e.g. Subversion's "svn checkout" or "svn co", which is a nice approach. Personally, I think the best way to achieve ease of use in an admin-oriented CLI is to standardise common options and parameters the way GUIs standardise menu names and locations -- that way Admin B can begin to transfer his expertise with CLI Tool B over to CLI Tool A and is not burdened with remembering two sets of cryptic parameters.

September 16, 2004 in Usability | Permalink

TrackBack

TrackBack URL for this entry:
https://www.typepad.com/services/trackback/6a00d8341c5c9b53ef00d83459455d69e2

Listed below are links to weblogs that reference IT administration user experience:

» re: Thoughts on Designing Administrative User Experience from strawberryJAMM's Security User Experience WebLog
[Read More]

Tracked on Sep 17, 2004 1:34:05 AM

» re: Thoughts on Designing Administrative User Experience from strawberryJAMM's Security User Experience WebLog
[Read More]

Tracked on Sep 17, 2004 6:55:53 AM

Comments

> Personally, I think the best way to achieve ease of use in an admin-oriented CLI is to standardise common options and parameters the way GUIs standardise menu names and locations -- that way Admin B can begin to transfer his expertise with CLI Tool B over to CLI Tool A and is not burdened with remembering two sets of cryptic parameters.

Sounds like VMS to me :-)

Posted by: at Sep 17, 2004 4:52:53 AM

Just so you don't think I'm the sort of smart-ass that posts comments like that anonymously, that we me but somehow when I previewed the comment the name and email address got eaten.

Posted by: John Styles at Sep 17, 2004 4:54:17 AM

It's a Typepad bug. I've reported it.

Posted by: Ivan Towlson at Sep 17, 2004 5:14:00 AM

Ivan:

You add some very good points to the discussion I started:

"One of the things CLI wizards tend to value is terseness, even at the expense of readability to the uninitiated. [...] Most CLIs nowadays seem to support both verbose and terse ways of expressing parameters or verbs e.g. Subversion's 'svn checkout' or 'svn co', which is a nice approach."

Providing terse alternatives for particularly verbose (but meaninful) command line parameters is an excellent way to keep both the "cryptic loving alpha geeks" and the "I just want to remember how to do this the next time" types happy.

"Personally, I think the best way to achieve ease of use in an admin-oriented CLI is to standardise common options and parameters the way GUIs standardise menu names and locations -- that way Admin B can begin to transfer his expertise with CLI Tool B over to CLI Tool A and is not burdened with remembering two sets of cryptic parameters."

And I absolutely have to agree with this - developing a set of standardized CLI parameter names in exactly this way would go a long, long way to improving the overall user experience for IT Pros and Developers.

{Also, I'm sorry the trackback function at my blog didn't work properly for you. I don't know why it didn't work, but it seems to have kicked in okay after your post, so hopefully it will work the next time}

Posted by: Jenni Merrifield at Sep 17, 2004 9:50:47 AM