==================================================== Command Line vs. GUI: Power Users need more than GUI ==================================================== -Ian! D. Allen - idallen@idallen.ca - www.idallen.com Sysadmin motto: "Anything worth doing will be done more than once." A short note on why even modern GUIs just don't have the power needed to handle repeated tasks. Original: http://oclug.on.ca/archives/oclug/2006-October/051531.html http://oclug.on.ca/mailman/listinfo/oclug A GUI user wrote: > There are plenty of examples. Take sending a message by e-mail for > example. No complex menu navigaion is required for that in a GUI, > such as Evolution, for example. You simply click on "New" fill in > the form with appropriate data, and click send. Okay, I just sent a file to one user. Now how do I repeat that and only have to change the userid, or only the file name, without having to "fill in the form" again (possibly making mistakes or forgetting exactly what I filled out in the previous form)? In a command line, I back up one line (one keystroke) and change "user1" to "user2" or "file1" to "file2" and push return. If I realize I want to do this a lot, I save that line in a script file and pass the userid or file name in as a parameter, so I only need type "./mailusers user3" or "./mailfiles file3". Say it's tomorrow and I can't remember exactly which files I sent to whom. My command line history tells me exactly what I sent and to whom and allows me to repeat what I did exactly, only changing the little bits I want changed. Say it's next month and I realize I'm always sending these emails to the same people, so I collect the command lines that do that and put them all into one script file that makes it all happen: "./doall" Say it's next year and I realize I'm always doing these things at the same time every month, so I put an entry in my crontab that will automatically run my "doall" script on the 15th of every month. Say I want my friend in Slovenia to be able to do exactly what I do. I send him my script file. What existing GUI lets me do that sort of thing? To summarize: - automatically saves the last thing I did - gives me keyword-searchable history of what I did - lets me edit any little piece of what I did and repeat it - allows me to save and parametrize what I did so that in future I only have to specify the little bits that change - lets me group a common series of things I do into a repeatable script so that it's easy to do all those things in that order - lets me run anything unattended (via crontab or other background scheduling system) - lets me pass my saved and customized actions to another user, who can also customize and modify them further > You're talking about taking an action that you can repeat later > with the same parameters, or parameters you can easily change. So, > write the software so that it can save and retrieve parameters for a > future session without using a complex menu. My command line doesn't require me to rewrite any applications. I can parametrize and run all the applications unchanged. What existing GUI lets me do these things, all of which I do *a lot*? "Anything worth doing will be done more than once." References: http://osnews.com/story.php/6282/The-Command-Line--The-Best-Newbie-Interface/page1/ -- | Ian! D. Allen - idallen@idallen.ca - Ottawa, Ontario, Canada | Home Page: http://idallen.com/ Contact Improv: http://contactimprov.ca/ | College professor (Free/Libre GNU+Linux) at: http://teaching.idallen.com/ | Defend digital freedom: http://eff.org/ and have fun: http://fools.ca/