Dog training has been a slow process for us. Jackie is a hyperintelligent dog, so the problem, I know, lies largely with us.
The first problem is that I started out talking to Jackie in "Dad mode", as if she were one of my kids. My natural tendency is to try to reason with Jackie and explain what I want, but of course, dogs don't have language, so what she hears is "Blah blah blah blah, Jackie, blah blah blah." which is probably not very helpful. And using my soft Dad voice meant that half the time she didn't even know I was talking to her. So the dog trainer told me, "Fix a mental picture in your head that you've come from the store and found that Jackie has trashed the inside of your car" and that seemed to help a lot. Now I bark at the dog, and at least she knows I'm talking to her.
But that one was obvious, and sort of understandable.
More troublesome was Jackie barking at other dogs on our walks. Even though she is a kind and gentle dog, she'd bark like crazy at certain other dogs, leap up, strain at the leash, even nip at us for holding her back. It was pretty problematic. The trainer suggested getting Jackie to "sit" while the other dog passed, but this was not initially successful. I'd get Jackie to sit, she'd sit for 3 seconds, I'd reward her good behaviour with a "Good Jackie!" and she would leap up and start barking all over again. This would be repeated over and over again -- I'd no sooner get her sitting then she'd leap up again. It was frustrating.
Especially for Jackie....I eventually figured out that we had inadvertently taught Jackie that her release phrase was "Good Jackie". So from her point of view, I would order her to sit, then say, "okay, do what you want!" then get angry and yell, "sit" and no sooner have her sitting, when again I'd give her permission to go at it again. She must have thought "Make up your stupid mind!" or "stop teasing me!" I guess what happened was as I was teaching her various other things, we would do the 'trick', give her her treat, then say "good Jackie" and release/distract her to begin another round, so that without realizing it, "good Jackie" (or at least "good Jackie" the way I was saying it -- "good jackie" from my wife appears to be a different command, since she says it with a different intonation -- did I mention that Jackie is hyper-intelligent?) means, "command is over". So things have gotten a lot better once I replaced "good Jackie" with the new command, "Walk on" once the other dog has passed.
Another example of miscommunication was my "Other side" command, which initially worked great at getting Jackie to switch from my right (or the 'wrong' side) to my left when we walk. I'd let her pee, or she'd go sniff something interesting, but come back to my right side, I'd say, "other side" and she instantly switch to my left side. It was great. Except one day she absolutely didn't get it. The more I insisted "other side", the more stubbornly she insisted on walking on the right. Eventually we came to a standstill, and she just sat down in frustration. I stopped and tried to think what was going wrong. "Other side!" I barked experimentally. Jackie stands up, looks down at the grass, gives the dog equivalent of a shrug and sits down. So I eventually figure out what the problem is. On our usual walks through the neighbourhood, our circular route keeps the grass on my left side, the curb on the right. At this particular juncture, I had taken a different route, and the curb was on my left, the grass on the right. Apparently, "Other side" meant to Jackie, reasonably enough, "go to the grass side". So here she was standing on the grass, and I'm shouting "Grass side!" to her.
I'd sit down too.