The Native Americans had the right idea. I believe that each of us should have a descriptive name, not the arbitrary and common names we now have. I don't have a full model of this worked out, but we might have names something like "He Who Walks Much", or "Original Thinker", or "Drives Slowly", or "6 of 9" (a Star Trek reference).
Have you ever considered that it makes complete sense that we forget people's names. I often remember everything about someone except his name. Forgetting names is understandable because our names bear no meaningful relationship to who we are. In our culture, names are arbitrary, almost meaningless tags. Since our names are such arbitrary tags, I consider someone to be foolish who is insulted when someone forgets his name.
Aside from being descriptive, I'd also like names to be unique. Since last names are taken from a larger set than first names, I frequently call people by their last name, and encourage people to get my attention the same way. When someone enters a room and calls out: "John", or "Bill", imagine all the people who might turn their heads!
Finally, I'd like to point out that I use people's names only when trying to get their attention. I never use the person's name while speaking to him directly. I'd never say: "Well, Sally, pleased to meet you, what are YOUR ideas?". Sally would know that I'm speaking with her, why should I project psychological falseness by including the word "Sally" in the question. There is no need to throw out the person's name while speaking to him, and I tend to write people off who do this (salespeople often do this).
I'll conclude this short essay on names by borrowing another Native American linguistic
"I have spoken."
The fact that I use the term Native American here is not to be politically correct, I abhor and despise political correctness. I simply think that it's a better term than Indian, which to me means Asian Indian.