By the early 1980’s, the Computer Science community at Carnegie Mellon was making heavy use of online bulletin boards or “bboards”. These were a precursor of today’s newsgroups, and they were an important social mechanism in the department – a place where faculty, staff, and students could discuss the weighty matters of the day on an equal footing. Many of the posts were serious: talk announcements, requests for information, and things like “I’ve just found a ring in the fifth-floor men’s room. Who does it belong to?” Other posts discussed topics of general interest, ranging from politics to abortion to campus parking to keyboard layout (in increasing order of passion). Even in those days, extended “flame wars” were common.
Given the nature of the community, a good many of the posts were humorous (or attempted humor). The problem was that if someone made a sarcastic remark, a few readers would fail to get the joke, and each of them would post a lengthy diatribe in response. That would stir up more people with more responses, and soon the original thread of the discussion was buried. In at least one case, a humorous remark was interpreted by someone as a serious safety warning.
This problem caused some of us to suggest (only half seriously) that maybe it would be a good idea to explicitly mark posts that were not to be taken seriously. After all, when using text-based online communication, we lack the body language or tone-of-voice cues that convey this information when we talk in person or on the phone. Various “joke markers” were suggested, and in the midst of that discussion it occurred to me that the character sequence :-) would be an elegant solution – one that could be handled by the ASCII-based computer terminals of the day. So I suggested that. In the same post, I also suggested the use of :-( to indicate that a message was meant to be taken seriously, though that symbol quickly evolved into a marker for displeasure, frustration, or anger.