Wednesday, August 29, 2007

Macro software

David Pogue on macro software. An entertaining video and article about very useful software.

Funny enough, I actually decided recently to blog this myself. Until last year, incredibly, I had never used macro software*. Considering I've had over a decade of being considered a geek, this is weak.

I now have magic keystrokes for all the apps I use frequently (maybe a dozen), documents I use often, I have a keystroke to save quotes in a text file for use later, I have a stroke for a folder-renaming sequence I use several times a week, I have various keystrokes for frequently used business replies to emails (including hitting Reply and typing "Dear ___", with the space being filled with the name I have highlighted in the email I'm replying to. It's really great.
*Apart from a keystroke-launcher to start apps or files. Which I have long found indispensible. But that software was decontinued, which was why I finally took the leap to real macro software.

From Pogues article: "... neither Mac nor Windows lets you set up a keystroke of your choice to open any program or document — a feature that would speed up your work dozens of times a day." I couldn't agree more. For a brief while, in Mac OS 9, you could assign F-keys to opening apps. But that disappeared in OS X. It's a really bizarre omission. I change back and forth between various applications probably hundreds of times every day. Perhaps most people don't?


Alex said...

I used to use macros all the time in System 7. Never found a good equivalent in windows, something always went wrong. Codewright has good macro support.

The last place I used macros was in conjunction with some voice control software, it worked pretty good, I could drive around and ask windows media player to change to the next tune by voice control.

Damien said...

Ah, I never got around to setting up proper macros... I should !

For launching apps, I prefer Quicksilver (which is actually capable of much more). What's great about it is that you don't have to configure the keystrokes : you just discover some that work, and the program learns which one you prefer.
So, to start Photoshop I type "cmd+space, P, enter". If I type "P, W" instead, that will open Preview.

ttl said...

When the MUI (mouse user interface) was invented us command line guys said: Doesn't that make many common tasks extremely tedius ... What if you need to make the same change to 1000 objects. Do you whisk your hand back and forth a 1000 times? What if the information needed in the operation resides in a file? Do you make 1000 cut'n'paste operations? Besides, what's with the moving and resizing of the windows all the time, what does that accomplish? Didn't a large amount of work just get shifted from the computer back to humans?

The MUI people responded: "Ah! We're only going to use the mouse for tasks where spatial manipulation makes sense, such as free-form drawing and organising a small number of objects visually. For the heavier stuff we, of course, still have the trusty command line to refer back to."

Fast forward 20 years. Not only do people no longer know how to write simple scripts on the command line, they no longer even remember it exists! I don't know whether to laugh or cry when I hear people scripting the MUI apps for things like file renaming, conversion, text manipulation, etc.

Seriously, it's 100 times more difficult to do those things using GUI scripting. Plus none of it is portable. Or even very reliable.

I guess the next thing we'll see is people writing server applications by scripting the user interface. How about writing a web server using AppleScript? If you get the humour in that you know how backwards a lot of this macro stuff sounds to me.

eolake said...

I'm sure you're right.
But for what I'm using a computer for, I don't see how a command line would make sense. Most of what I do is not about managing and renaming files and so on. It's reading and writing and editing pictures.

Wonko said...

There's a very simple reason MUI/GUI took over from Command Line - especially for non-technical people such as me.

It's point and click.

It's a simple graphical interface - move mouse over what you want to work and click on it. It's much the same reason that firearms took over from the longbow: the longbow required years of practice to use effectively, a firearm requires only a few minutes basic training (load, point naughty end at enemy, squeeze trigger). So, even though for a long time the longbow was still more accurate, had a longer effective range and a higher rate of fire, it was quicker, cheaper and easier to use muskets. Humans are basically lazy; if we can find what appears to be an easier way, then we will use it.

As Eolake says, for most people point and click is all they need. I'm a Linux user and I do very little command line stuff, the MUI/GUI enables me to do and control all the functions that I need a computer for. To be honest without MUI/GUI I very much doubt you would have seen the explosion in computer use (or the Internet) that the last 20 or 25 years has seen.

Just to bring this back onto the original subject; I've seldom used macros, I'm happy with my point and click!

ttl said...

The difference between the command line and the MUI (mouse user interface) is like that of writing prose and doing a paint-by-numbers picture. Paint by numbers is easier but, unfortunately, what you see is all you get (WYSIAYG). Prose, on the other hand, while requiring thought makes anything possible. All you have to do is write it down.

It is believed that our ability to think is limited by the size of our vocabulary. The same principle applies to the use of computers. If you only see the computer as something you wave your hand at (while grabbing the mouse) it can not do much for you. For many, I believe, it would be quite a revelation to discover that you can actually write to your computer, and ask for very precise favours. And that it will gladly carry them out for you.

I like my computer working for me, not the other way around. This includes the computer working for me while I sleep (when my hands are still). I also like my computer to continuously learn more about my idiosyncrasies. How I like to work and live my life. I have been teaching it these things for 22 years now --- for as long as I've been using my computer.

Understandably, had I chosen hand-waving as my method I would not have gotten very far at this. Luckily, 22 years ago I came by a brilliant invention called Unix, a computer operating system written by two geniuses: Ken Thompson and Dennis Ritchie. In all these years Unix has never stepped in the way when I have wanted my computer to do something for me. Quite the opposite. Unix, it seems, is fully behind me no matter what I choose to do.

I can not imagine what the last 22 years would have been like had I been forced to use hand-waving instead of words to communicate with my computer.

Wonko said...

I'm delighted that ttl gets such good use from his computer, and that it meets his needs through command line work. For me (and I suspect the vast majority of users) point and click enables me to do what I need it to do. To take an earlier example, I have never needed to perform the renaming of a thousand files -which I dare say would be quicker and easier with command line - I have needed to edit a picture, write an e-mail and surf the web!

For me it's not a question of better or worse, it's what meets your need. I suspect if you asked a random cross section of home PC users about using command line most would say "Why?" quickly followed by "I can't remember all that!" Sometimes you want a fine champagne, other times a glass of tap water meets your need - horses for courses.

eolake said...

A formula one car is not great for doing the shopping.

"I have never needed to perform the renaming of a thousand files"

I do, all the time, renaming photo files. (Well, hundreds.) But I have a great little app for doing that. If I didn't, it'd be torture, admittedly.

Alex said...

On reflection, I use very few macros. Every editor I use has allowed me to use their flavour of macro, typically with a record function so you teach it by example.

I do however use scripting often. Sometimes I write it out long hand in Perl, csh, tcl or whatever it is we do in a dosbox in Windows these days. Sometimes I let the machine make them for me, the integrated preferences tool in CodeWarrior builds my make file for me, but when I was using GCC I was writing them longhand.

I've never had to do as much compute intensive stuff as TTL does, worst I've had is 2000 programs to run on 20 machines over 40 days. We were using Solaris.

Sometimes UNIX is not a viable alternative though, back in my youth we needed more horses, so we used an ARM based system, the best OS their was RiscOS. Right now a licence for my compiler is $1,000 cheaper for Windows than Linux.

I seem to remember UNIX was available for the Mac, AUX or some such? Now of course Mac's OS is Linux.

That Ritchie guy is quite a person, he also co-wrote C with Brian Kernighan.

I see a lot of people driving Hummers and Suburbans to the grocery store.

eolake said...

"Now of course Mac's OS is Linux"

I think it's based an Unix type called Free BSD.

(All geek to me.)

Alex said...

Sorry, I'd heard Linux, I should check my sources.

BSD is the Berkeley UNIX.