Skip to content

Instantly share code, notes, and snippets.

@maow-tty
Created February 1, 2024 04:12
Show Gist options
  • Save maow-tty/bcfe6f05d4741d53f94cf5096f830cb6 to your computer and use it in GitHub Desktop.
Save maow-tty/bcfe6f05d4741d53f94cf5096f830cb6 to your computer and use it in GitHub Desktop.
Author Intent Indicators

Author Intent Indicators

An international, inter-platform, and unambiguous alternative to tone indicators, a.k.a. tone tags, that paves the way for automated tooling.

Why?

Tone indicators are a textual accessibility tool for describing a person's intended tone (a.k.a. connotation) through a short indicator, such as /s for "sarcasm." They allow the prevention of miscommunication, something that is very important in online discourse. They are also a great tool for neurodivergent people, such as autistic people, who may have difficulties understanding tone.

However, I believe various issues with tone indicators arise when you start to view them from a critical lens:

  • Tone indicators were designed for English communication only. Example: /j expands to the English word "joke," but the German word for "joke" is "Witz."
    • It is inconsiderate to expect German-speaking individuals to learn several English words just to get their point across online.
    • It is also ambiguous to have several foreign tone indicators that may accidentally be used with the wrong languages, potentially causing overlap between different language-specific tone indicators.
  • It's difficult for those who aren't deeply acquainted with tone indicators to learn them or recognize the less-used ones. /t is very rarely used compared to /lh. Additionally, how would one understand what /lh means without context?
    • The shortness of tone indicators results in some ambiguity, i.e. /s and /srs, which may both mean "serious." It is very bad to confuse certain sarcastic statements as serious. Another example is that /hyp could mean "hype" or "hypothetical," although it actually means "hyperbole."
  • The "syntax" of a tone indicator is annoying to use on certain messaging platforms, e.g. Discord or IRC, where / represents the start of a command. It is not uncommon for people to send a tone indicator after the original message, which may be misconstrued as a command.
    • Additionally, / is hard to do inline. As in, in-between words or phrases. If you want to highlight a specific part of the message as a joke, then it's less ambiguous to do, for example, "This part isn't a joke (/j), this part isn't a joke."
    • / is not always ergonomic or even present on all keyboard layouts.
    • One benefit of / is that it's very recognizable as a tone indicator and that it's very concise.
  • It is not clear to everyone what the distinction between certain tones is.
    • /j overlaps partially with /s, /nsrs (not serious), and /nm (not mad)
    • /srs overlaps partially with /gen (genuine) and /li (literally)
  • A majority of tone indicators just don't see common usage. This means that their sudden introduction into conversation is confusing when it shouldn't be.
    • Examples: /nsrs is rare due to its overlap. /nbh and /nsb are specifically designed for Twitter. /ij is rare as most people explicitly state "This is just an inside joke." There are various others.
    • The tone indicators that do exist are somewhat incomplete. For instance, /neg does not imply being mad, and /nm and /lu (little upset) exist, but there is no way to state you are mad.
  • /hj is downright ambiguous, which is the very thing tone indicators attempt to prevent.

This list is not comprehensive.

Intents

Author intent indicators, a.k.a. intents, are my proposed alternative to tone indicators.

  • They allow the author of a message to specify the intent behind their message unambiguously and concisely.
  • They also allow various social platforms to easily parse and display tone and intent information.

Rather than shorthands, full words or phrases should be used to declare intent. Auxiliary sentences can be used to provide additional information if needed.

Additionally, instead of using /, intents require the < prefix. If you want to put an intent in-between two statements, just suffix the intent with >. If you want to include an auxiliary statement, simply add ; and then add your statement before suffixing the intent.

You barely need to move your hands to type these characters, making intents just as ergonomic as tone indicators, if not more ergonomic for non-English speakers.

Examples:

  • "I'm going to buy <joke; probably> an absurd amount of orange juice."
  • "Delete this now. <serious"

In these examples, the intent applies to all of the text to the left of the intent.

Due to arrow brackets having little usage in casual conversation, this makes it extremely easy to parse intents, allowing for social platforms to work with them, rather than against them, like with / command prefixes.

Additionally, because of platform support, shorthands can be used which are expanded once the message is sent, i.e. if the user types "<j", it's automatically expanded to "<joke" or "<joke>" depending on its placement. Users also gain the ability to define their own personalized shorthands.

Once again, because of platform support, I propose that intents be hidden and attached to text, i.e. the text is highlighted and when you hover it, it displays a tooltip that provides the tone. This allows users to have a decluttered chat experience without compromising on important tone information.

This system is also friendly to future revisions, such as AI-powered translation. The intent tooltip can be automatically translated, alongside the rest of the message, to the user's native language.

Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment