Strategy for multi-user macros

I realize this is an open-ended question:

I am testing KM for possible deployment to 5+ production artists. My finding, so far, is that KM is powerful, but better suited for single-user setups. I find macros must be customized per computer, especially when screen images are used as “found images” for guiding KM. I am not sure it is practical to expect each user to become “expert” with editing/tweaking KM macros, especially since their focus is production. What experiences do others have in similar settings? I am quickly becoming addicted to KM, but find the prospect of maintaining it on multiple computers rather daunting.


I admit that I don't have much experience designing KM macros for multiple user setups, but conceptually, as long as you can find a way to make your macros robust, you should be okay deploying them across Macs with the same base OS and software. Generally, this means building macros that manipulate GUIs around menu commands and keyboard shortcuts, which are far more reliable and consistent than simulating keystrokes (such as tabbing to a particular field) or clicking on found images or coordinates. Even better is if the software your artists are working with is scriptable, as scriptable apps can usually be coerced into performing even complex actions with a high degree of reliability. But if you must work with found images, as sometimes that is indeed the only practical option available, there are a variety of ways that KM provides that can help ensure a more consistent GUI environment even across multiple Macs:

•You can use the %Screen% tokens to create branching macros or actions depending on whether a user is on a desktop or a laptop

•You can move, resize, and/or bring certain windows to the front (either temporarily for the purposes of the macro or until the user manually manipulates them) to ensure that the elements you need will be available where you need them

•You can use the technique we showed you in this thread to save the coordinates of a destination image and drag from one found image to that one, which should (theoretically) eliminate the uncertainty of not knowing where the images will be positioned on the screen

•You can use all of these in conjunction with KM's many conditional actions such as If Then Else, Switch/Case, and Pause Until so that macros only run if all the conditions are in place, with the option to provide error messages for the user if they're not (or even to use KM's own capabilities to then arrange things on screen so that the user doesn't manually have to adjust things to get the macro to run)

•And finally, if necessary, you can create macro groups for macros that will only run on certain Macs:

I'm sure there are more ways to create robust GUI manipulation macros for multiple users than I've listed here, but this should at least serve as a starting point and hopefully give you some ideas about how you can make this work (though again, it's better to go with menu items, keyboard shortcuts, and scripting wherever possible, and only fall back on simulated keystrokes or found images as a last resort).

1 Like

Thanks, Gabe. This is helpful. I’ll keep digging.

1 Like

As well as the very good suggestions @gglick offered (which you will definitely want to take up), you may also want to be able to sync the macro set you create for the 5 artists, but not actually sync all macros, which Keyboard Maestro does not support, what you could do is create a set of macro groups that you control, all with a specific prefix in the name (eg “Standard” or whatever). Then you manage that set of macros on another Mac that you control. And when you make changes you want to roll out, export all the Standard macro groups, and then on each of the target macs, delete all the Standard macro groups and import the replacements. This process can be automated as well, and indeed, if the macros are exported to a standard location that is file shared between the artists, then it could happen automatically, say each morning.

1 Like

Ok, I can’t say I fully understand the strategy you describe. Will the prefix prevent the group from overwriting the current set? I’ll have to experiment to really understand.

Related to this, should I be using “Export macros” or “Export Macro Libraries”? I’ll read more about this in the Wiki.

Importing macros wont overwrite existing macros, they will be added. So to “update” a set of macros, you need to delete the existing ones you want to replace and import the new ones. Thus, giving your macro groups a prefix accomplishes two goals:

  • it lets your artists know which groups they should not modify themselves.
  • it lets you easily delete all the macros to be updated before importing their replacements.

Export Macros. You generally don’t want to export as a Macro Library unless you want to be able to import a specific macro multiple times. The Macro Library didn’t work out well for any real purpose except default/example macros I provide directly.

1 Like