By the way, I know that writing this sort of post is asking for trouble, like getting matching tattoos or knitting a sweater for your significant other, but I'm not particularly superstitious.
Venting vs. problem solving
One of the most useful things I've ever learned about communication is this. When someone tells you about a problem they're having, there are two broad types of responses they might be hoping for: sympathising with their experience while they get it out of their system, or trying to find a solution. It can be very annoying to get either response when you were looking for the other one, especially if it happens consistently.
I first learned about this from a self-help book I read as a kid, You Just Don't Understand by Deborah Tannen. The book focusses on differences in communication style between men and women, but I've not found this particular issue to be consistently gendered. In my experience, the same person can need either kind of feedback in different situations (I know I do).
Once you've seen this pattern, you can work around it, either by explicitly asking for the kind of conversation you need or by asking the other person what they would like.
Person A: Argh, this stupid thing at work is driving me nuts!
Person B: Do you want to vent about it or would you like me to try and help?
Person A: First I want to rant, and then in a little while I'd really appreciate your perspective on it.
Setting times for activities
One of the failure modes of our interactions is that David and I apparently have different views of whose responsibility it is to make sure something happens, when we've both agreed that it should. We used to often get into situations where he would propose, say, taking a walk or tidying the flat; I would say, "Sure, in a little while?"; and then we would both sit around unhappily for the rest of the afternoon, each waiting for the other. David thought that, since I was the one who put off the activity, it was up to me to say when I was ready for it. I thought it was his responsibility, since he was the one who proposed it. Actually, typing this out, I've convinced myself that he was more right than I was, but it wasn't a very consciously thought-throught position. I just don't like changing activities without a nice long lead time.
We solved this problem by explicitly agreeing on a time to start doing whatever it is. We set the time together and both of us have the responsibility to be ready. It sounds simple but this pattern has been a real problem at various points and this helps a lot.
Person A: Okay, shall we start tackling that paperwork soon?
Person B: Yep. At four o'clock?
Person A: Okay!
At four o'clock:
Person A or Person B: All right, time for paperwork!
Taking opportunities to thank each other
Acknowledging things the other person got right
I'm grouping these together because I started doing them both at the same time. At the start of our relationship, I decided to try an experiment: to thank David out loud for whatever nice things he did for me, and to verbally acknowledge, as often as I could, when he had been right about something.
This was an experiment on myself rather than on him. I wanted to avoid, in any future argument, using the terrible words, You always do such-and-such! or, You never do this-other-thing! Getting to that point in a fight is usually a bad thing for the health of the relationship, I feel. (Besides, using such easily falsifiable statements tends to undermine one's whole argument.) My idea was that if I pointed out, for both of us to hear, the times he was kind, generous and perceptive, I'd be a lot less likely to forget them all in the heat of the moment.
We've never actually had that kind of fight, so perhaps this advice is tiger powder, but I've been happy enough with the results of my experiment to keep it up till now. I feel it's a simple and effective way to keep myself aware of the good things about David and our life together. He thanks and acknowledges me too, of course, though as far as I know he's never made any deliberate resolution to do so.
Being straightforward and not playing psychological games with each other
This item is rather different from the others on the list, both because it works on a bigger scale than them, and because I'm not certain how widely applicable it is.
David and I are both people who prefer to be straightforward in communicating. We've both had interpersonal relationships with people who tended towards saying things meant to provoke a particular, not always obvious, reaction, which would then be judged against their expectations.(For example, I once dated somebody who told me they wanted to break up with me and never speak to me again. They were very cross when I sadly agreed to this, since they'd intended me to put up a romantic fight for the future of the relationship.) Neither of us enjoyed this.
Since quite a lot of people seem to carry on their relationships this way, I don't feel totally confident saying that ours is absolutely the best attitude. Perhaps some people enjoy having to guess at their partners' motivations and feelings. They are presumably best suited to other people who like this too.
It's really important to our relationship, however, that we can trust each other to talk about all this stuff without having ulterior motives or hidden expectations. We can check with each other whenever we need to that we're both on the same page about things emotionally. I think this is the base that makes everything above possible. I could thank David for little kindnesses, for instance, without him worrying that I was trying to hint at something terrible he'd failed to do. He can ask me, when I'm skulking around with a face like thunder, whether I'm cross with him, and believe the answer (this works the other way round, too).
We're both a little neurotic, so sometimes one of us gets wound up and needs extra reassurance, or for the other one to wait until they're calm enough to discuss things properly. We can work around that, though. I have to say, it's an astonishing relief to be able to take my partner's words at face value and not to have to wonder if they're mining mine for nonexistent second meanings. I totally recommend it.
(How to get here from there? I think the following were necessary, in some order and ratio: avid reading of novels and psychology books; the happy meeting of two similar minds; a few (metaphorical) hard knocks, weathered together; talk therapy; a stubborn commitment to taking people's words at face value; and Ask MetaFilter.)