that way answers can be written accordingly to the user's knowledge of KM
Absolutely. 100% agree.
I said the people here are amazing and helpful. Have been to me and have really upped my IT game; to huge personal benefit.
You are missing my point though which is one of perception and impression. I am sorry, it just is like that. It happens to me. I had to teach excel formulae one time to 'regular' office workers. The minute I wrote on the whiteboard, though I had prepared them for hours, what, to them looked 'algebraic' I could feel the whole room freeze up. I asked them afterwards and they said I was right. I still do as it happens, if I see a formula I am not used to: I feel like one does in a math exam when one knows there is not quite enough time to think something through. Pavlovian responses matter!
I think you were suggesting how those of us who reply to questions/requests should phrase their response.
While I don't disagree that it would be helpful, I don't think it is practical.
There is a wide variety of styles of those of us who respond. My experience is that most of us are not really open to changing our style, and most of us don't have time to carefully construct a carefully worded response. I spend whatever time I have mainly on making sure my suggestion is valid and workable, usually showing an "Example Output" to clearly communicate.
I think we have to remember here that we are NOT writing a thesis, or even a blog, but just tying to help someone in an Internet forum. Internet forums, almost by definition, use a very informal, conversational style of writing.
I have to disagree with that for several reasons:
- A new user does NOT necessarily mean a user who is asking a simple basic question. I have seen some very complex questions asked, that many would classify as being a "geek" or programming question.
- You can generally tell by the text of the question how knowledgable the poster is of KM, and so we can respond accordingly.
- The forum software already identifies a new forum user at the top of his/her post.
- It would add confusion for the new forum user to know where to post his/her topic.
Again, I said nothing of the sort. Here's a Keyboard Maestro Forum metaphor to demonstrate:
My comment was like starting a new thread to share a macro. Someone doing that is merely offering the benefit of their experience to other users/forum readers. There is no suggestion that all KM users use the macro.
Earlier you wrote,
It's unclear why my initial comment in this thread would be treated any differently (by anyone). If someone doesn't have the time, inclination, or whatever... Okay. For those that do... Also okay.
I don't believe in extra categories. It just makes for extra confusion. When does a new user question become a not new user question?
People frequently include in their question "I am new to Keyboard Maestro", which is really all the hint that is needed. But in any event, folks answering do the best they can with the amount of time they are willing to donate to helping others. Whether the user is new or not, the folks asking are not entitled to an answer in a format that suits them, any more than the folks answering are obligated to answer.
Even I am not obligated to answer on the forum how to write macros for specific tasks - any more than Microsoft support is obligated to help people write their novel.
I could make guidelines for how to answer, but that wouldn't result in any benefits, since people answering are neither obligated not necessarily capable of following the guidelines.
Sure, it would be great if every question was answered by a full detailed tutorial, starting from first principles, laid out neatly step by step, explaining all the concepts, but none of that is practical.
For myself, I believe in concise, high level answers that encourage the questioner to work through the problem and do their own research to come up with exactly how to do something, because that way there is more chance of them learning how to resolve the problem and more chance that they can make their next macro.
But as far as new users go, my answers are always the same:
The best way to start using Keyboard Maestro is to start simple:
- Read the Quick Start (linked in the Help menu)
- Do the Tutorial (Help menu)
- And then grow your macros organically, starting simple.
- Join the forum and ask for help with any macros you get stuck on.
- Consider enrolling in David Spark’s Keyboard Maestro Field Guide.
There is no one way of answering that will help people, and despite appearances, Keyboard Maestro at its core is very simple - triggers and actions - and pretty much anyone can get it working for them if they are willing to put in as much time learning it as they put in learning their email program when they first started using that.
To respond to the OP, I can describe my own journey with KM.
A friend introduced KM to me about three years ago.
I read an article that shows me briefly what it can do.
I googled for tutorials and found these tutorials at youtube created by Ez Buttons caught my eyes. I had been using Alfred for some time, but I had never seen an app like KM that is so powerful and can do so many things. I purchased it, without a good understanding of what is a Group, a Macro, or an action. (Yes. I've read and watched those tutorials mentioned above, but without creating some real macros myself, I was still standing at the door to a Wonder Land. Tutorials only gave an impression of its power, I needed to use it myself.)
Thankfully, my friend sent me some macros that I also needed. Those workable macros were helpful to me.
I started by build some simple macros myself. Things like simulating a keystroke were easy. But I also made very poor macros (not to mention those that did not work).
Before I knew the "click a link" action, I used "click found image".
Before I knew "execute a macro", I copy-and-pasted many repetitive actions. Once I needed to edit something, it was like a nightmare, because I had to find all these repetitive actions and change all of them. Later, I found out that many things have to be done with scripts. So I began to learn some (I had no programming background.): JS, AS, Python, Shell...(of course, all at the surface level. Many times I switched to another script because I found a workable script that I could adapt to suit my needs) I suddenly realized that "execute a macro" is kind of like the functions in these script languages.
Of course, I must mention that I learned so much by coming to this forum and ask questions. Sometimes, a simple answer was all I needed. Other times, I saw that my answer was already asked by many others and the answer was already provided, even years ago (just had one today)! Still, other times, I was introduced to a wiki page. (Nobody blamed me for not searching for it before asking. Most of the time, I did the search, but could not find the answer. But sometimes, I forgot to search, I just came and posted my question. I very much appreciate that people here are both friendly and helpful.)
When I realized how helpful the wiki pages are, I began to read through most of the wiki pages.
Of course, gradually, I was able to build more complex macros, refining many old ones.
After going through all these, I would say, I still have many that I don't know. I will probably ask more "repetitive" and/or "stupid" questions. But KM has become part of life. If I want to do something "more efficiently", the first tool that comes up to my mind will be KM. I think I can say, KM is the biggest reason that I'm not going to switch back to Win.
Hope this testimony encourages some of the "intimidated" friends.
Thanks for your feedback.
Actually, as of KM 9, most automation tasks can be done using KM non-script Actions.
Sometimes it may be more efficient, or take less visible space in the Macro editor, if you use a script, but you don't have to.
There are lots of one-line shell scripts that are very powerful, but also can be very dangerous and hard to understand.
I suspect this happens to many users, particularly those with no or limited programming experience.
@peternlewis, this is probably worth addressing somewhere in the KM "Intro" or "Getting Started" articles, to introduce the notion of using Execute a Macro action to provide reusable Actions, and to reduce complexibility within a Macro. These are concepts we quickly learn as programmers, but may not readily occur to new KM users who are not programmers.
Disclaimer in case anyone’s hackles starts rising, obviously, I’m not speaking for Peter as he hasn’t asked me to nor in any way needs me to AND that’s a hoot to even think and write, nor am I speaking for the author of this thread, or ANYONE other than myself. This is just my sharing from my view. Please keep that in mind if you read this.
Peter wrote, maintains, and develops a wonderful program. Peter is the sole source of KM. Without Peter KM fades out of existence. Peter had/has something in mind when he started and as he continues with KM. The only way to know what Peter had/has in mind is to ask Peter.
While I’d personally love to see what you are suggesting, Peter is clearly not enrolled and he is kind, gentle, clear, smart, generous, consistent, and firm in saying so.
Having read lots of give and takes on this forum has given me an impression of what Peter is interested in doing with KM and what he is not interested in doing. No one asks him directly and he doesn’t spend time pondering out loud here about the future of KM as far as I’ve come across nor have I’ve gone specificity looking for.
IMO, the senior guiding factor of what Peter does or doesn’t take on is closely related to his available resources as he sees them.
Somewhere someone suggested a runtime version of KM so user’s could install that and receive macros that it would run without getting involved with writing the macros that would work as a distribution system in a commercial environment. Peter nixed that idea on resource grounds.
Here’s a take, what you are asking for as much as I’d like to see it come to pass, can’t be wedged into the existing structure as wonderful as that structure is without an unacceptable use of resources. What you are asking for as much as I’d like to see it come to pass (repeated for emphasis), would require a rewrite of such degree that it’s likely easier to start from scratch and write a program from the ground up with the intention of having much of the functionality of KM without user programming involved. Something kinda like what Quickeys was (or how I now vaguely remember it) in its earlier incarnation before its author died.
I don’t think (again just my opinion) it’s worth the time to try and get this lion of a program to start liking vegetables. Let there be lions and vegetarians that live in peace and harmony.
Yes. I guess "many" in my post might be a bit exaggerating. I need to add quickly that even in the scenarios that scripts are necessary/better choices, the ability to integrate the scripts into the KM macros is extremely useful. In a lot more cases, KM provides visualized actions that are much simpler and more accessible to those who are not programmers.
Heard your friendly "warning" before. I was a victim of using a one-line script without understanding it. That script was to wipe all data from my computer. Thankfully, I discovered it in the middle of the process and shut down the computer. I also had backups for my most important files. After that, I immediately purchased a hard drive and began using the Time Machine. Learned the lesson the hard way. haha~
Now I have a better understanding, and I try to find out what the command does before executing it.
I am a beginner (I have written a few macros, but still feel as if I am standing outside, looking in). May I pick up on something Martin referenced?
I did not know about "execute a macro". However, having followed the link kindly provided, and read the Wiki entry, I am none the wiser. I suppose I should do more research, but time is always short. The wiki has always struck me as a "technical manual": it describes each function, but rarely, imho, does it lead the reader into how to use the function, what one might do with it, or why. On balance, I have to agree with the OP, that KM could be more user-friendly. Of the half-dozen new apps I have tried to learn in 2020, only Hazel is more opaque (to me). One of the saving graces for KM is this active forum. Thank you all.
On another matter, how much of a one-man project is KM? Should we be concerned? Is there really no succession planning? The last one-man app I used was the ftp app Yummy, and look where that ended up: dead, like its developer. RIP.
While I agree that the KM Wiki could provide more on how to use a given Action, there is a huge clue about Execute Macro Action:
The Execute Macro action allows you to execute another macro like a subroutine. The sub-macro will be executed, and when it is finished, execution will continue on from after this action.
If you don't know what "like a subroutine" means, then you need to research it because it provides vital clue about how the KM Action works.
That's understandably a tough Wiki page when you're coming in without a programming mentality or experience assembling computer behavior like Keyboard Maestro allows. The visual examples are not directly referenced in the explanatory text or independently explained outside of the Execute A Macro Action being defined.
As you said, you've created a few macros. Imagine one of them opens four apps you use every day. Call that Macro 1.
In Macro 2, you need to open those same 4 apps, plus open a specific PDF, and you need to send a message to your boss. Rather than re-create Macro 1 in Macro 2, you can have Macro 2 execute Macro 1 and do the additional actions you need done.
Much of Keyboard Maestro is like learning a language. The initial stages can be frustrating, but keep at it and feel free to create new threads for any questions you have. Odds are good someone can steer you in a helpful direction.
Keyboard Maestro is just me. There is some small level of succession planning for how to handle my untimely demise.
That said, I'll offer two other points of view:
- Quickeys was backed by a major company, and yet when its Mac author died the program died. Having a small company behind a program does not necessarily reduce the risks.
- Keyboard Maestro is written by me to follow Apple’s rules, and that is why versions back to version 4.x (released over a decade ago) continues to operate in Big Sur, even on Apple Silicon / M1. So even without any updates, you probably have quite a few years of use out of Keyboard Maestro before it eventually stops working.
But I don’t plan on going away, and with continued user support I expect Keyboard Maestro to continue being developed for quite some time.
I wondered, have you ever thought of expanding the team so it's not just you developing it?
I can imagine there is probably quite a lot of features/improvements you still wish to make but working through them all as one person will take a considerable time.
In some places, I think I saw a forum section on the wiki page. It refers to posts at this forum where we can see examples of the actions used in real scenarios.
This is very helpful, as users may download those macros and modify them or simply follow the examples.
Eat more vegetables, we need you sir!
@NaOH, many thanks for explaining. One of the great things about this forum is people like yourself who give freely of their time to help others - and flesh out the technical jargon with a concrete example. It is much appreciated.
Good to know. I picked up a phrase from Star Trek: "Live long etc."
I do miss Yummy, though.
@martin - I agree. Concrete examples are very helpful. I think this is why David Sparks course is so essential, too.
@JMichaelTX, you are right. I did not know what a subroutine was. Thank you for pointing me in the right direction.
I do also know, however, and you do too, I am sure, that if one student in the school class doesn't get something, you can sure that others haven't got it either, but they don't want to ask.
I have been following this forum for about three or four months, on a daily basis. You are always to the fore: helping, writing macros, and giving advice. I have "borrowed" many of your suggestions.