I usually tell people what I am specifically working on, rather than some abstract "this is what programming is". I think most people understand the general concept of what a computer programmer does (in that they understand that a computer must be "programmed" in order to do anything). At least, that's been my experience when people ask me what I do.
In my particular case, I usually tell them something like "you know how radio stations have competitions where you text in your favourite song or whatever and you win a prize, well we do the backend processing on that - so all the messages come in and we collate the data and spit out the name/number of winner".
It's not a "trivial" answer, but everybody who's asked me has been able to understand it, at least on some level. I guess it does depend on the kind of programming you do, though.