I’ve been thinking a bit about the practice of using “@username” to refer to a user profile. It’s become somewhat common for news channels to display an anchor’s Twitter handle on the graphic overlay along with his/her name. If we see “@reporterName,” we understand that it’s referring to the reporter’s Twitter account. Such is the success of Twitter’s marketing. Elsewhere on the Web, though, @username has a few different meanings:

  1. It can refer to a person on Twitter, specifically.
  2. It can refer to a person on another service within the confines of that service.
  3. It can be a way to mention a person on a service and notify that person you’re talking about him/her.
  4. It can be a way to denote that I’m replying to a specific person’s comment in a forum or comment thread.

Context matters. In general if I see “@username” mentioned somewhere like a news article, I tend to assume to this to be a reference to a person’s Twitter account. (Likewise for the hashtag — Tumblr uses it for its tag system but when I see a hashtag elsewhere I think of Twitter.) Outside of the Web and Twitter itself, “@username” has come to refer to a person’s account within a particular service. Inside a Slack conversation, for example, clicking on “@username” will show you a person’s Slack profile. Micro.blog does the same thing. So does Twitch, if you’re fool enough to display the chat there.

The problem is when one is writing somewhere that the context is ambiguous. If I make a post on this blog, you might see it on the Web, in an RSS reader, or in micro.blog (technically also an RSS reader). I might also cross-post it to Twitter. Depending on where you read the post, you might make different assumptions about what service the @username refers to. Worse, micro.blog and Twitter might each auto-link to their own domains, applying context that may not have been intended.

A more concrete way to refer to a person on a particular site is to link to their profile there. Linking to http://twitter.com/davextreme (or, probably, just twitter.com/davextreme will do), rather than @davextreme, unambiguously tells you we’re talking about my Twitter profile, but the reason “@username” caught on is that it’s human-readable. You could get fancy and hyperlink my profile but just use my username as the link text, as in “@davextreme,” but that isn’t possible in a plain text-only system like Twitter. And in a situation where you want to cite your profile on more than one service, you run into a problem where your hypertext is clear to machines parsing the HTML but not to humans reading just the link text: I’m @davextreme on Twitter and @davextreme on micro.blog. Each link concretely points to my profile on the relevant service but both read the same unless you hover over them in your Web browser to see where they point. Despite this, I like this option best because it lets me do the linking rather than trusting the software to infer which profile page I mean.

Complicating all this further is the problem that prepending “@” before someone’s username on many services causes that service to notify the person that you’re talking about them, which action ranges from unintended to plain rude. If I’m writing semi-privately with friends about how I didn’t like a movie, I don’t really want the system reaching out and telling the director! Add into that the problem that one person could have username on Twitter but a different person could own that handle on micro.blog, so a cross-posting or syndication system might end up accidentally notifying each person on that service thinking you’re talking about them.

Returning, then, to my list above, when I type the “@” symbol followed by a handle, I’m at once:

  1. Referring to that person’s Twitter profile, unless you’re reading this inside a particular service that also has user profiles, in which case I’m referring to their profile there.
  2. Asking my software to auto-generate a hyperlink to that person’s profile (and asking it to make an assumption as to which profile that is).
  3. Telling some system to inform that person I’m talking about them, and if my use of the @username was at the very beginning of the post, I’m maybe also replying to them and it might render my post as part of a conversation thread.

And all of this leaves us without any way to refer to someone without doing 3 — that is, there’s no (easy) way for me to mention someone (1) and point you to their profile (2) without also sending them a ping (3).

I’ve argued before that I think Twitter should open up to allowing people to follow users on alternate social networks. The idea would be that one person might have an account with twitter.com but a basketball player might have an official account with NBA.com and a senator would have an government-run senate.gov account. You’d still be able to follow someone on whatever service they’re using, and see all the posts in a Twitter app regardless of where they originated, but this would let Twitter (or any other social service) enforce stricter community guidelines and ban, say, white supremacists (who’d be free to go start their accounts on a service that wants them). A government agency might have rules about what sorts of things can be said on its official accounts (and the degree to which statements made there carry the imprimatur of the law). A sports team would expect its players and managers to conform to its own codes of conduct for official communications while allowing a player to have a personal account elsewhere as well. (Nothing of course prevents a company from running its own microblog right now, except that without the force of official support from Twitter, hardly anyone would see the posts.)

In the above scenario, in which social networking goes from being the province of just Facebook and Twitter to being an [ahem] interconnected web of networks, a solution to the “@” problem might be for each service to lay claim to a different glyph. Admittedly this doesn’t scale, but for example Google Plus already converts mentions into “+username” instead of “@.” A baseball player’s MLB-run microblog could user “⚾️username,” an Apple employee could be “username,” and so on. Better still, where context is inferrable, the software you use to post could prepend a favicon for the the appropriate service rather than relying on the Unicode character set. Twitter profiles would get a little blue bird, micro.blog an orange speech bubble, and so on.

As for replies, I’d like to see them divorced from the action of profile linking. Mentioning a profile should be understood to only confer the noun of the person’s profile, not also initiate the verb of pinging the person mentioned. Posting software, like Twitter’s app, should make it clear when it’s going to alert the person of your mention, and give you the option to remove them from the chain. A checkbox below the post text saying, “Notify @username of this post” — something along those lines. And I’d strongly encourage developers to default this to “no” unless I explicitly started the post from a “reply” link. Assume I don’t want to bother someone and make me choose to ping them if I want to. Right now it’s like if I were writing an email and every name I typed in the body were put into the CC field automatically.