Addressing users on remote sites

So, one of the things that came up on BearHugCamp was how to direct notices (or messages) to users on other servers. Right now, we just make a guess, based on e.g. the sender's subscriptions or subscribers. However, it would be useful to have some unambiguous syntax for this.

I've kind of put a stake in the ground on the OMB spec that we won't be defining notice syntax, but we need to do it for Laconica.

Let me note that every user on the OMB network has a unique identifying URI. Mine is 'http://identi.ca/user/1', and that's how OMB sites know about "me". But I think those URIs are probably too verbose to put into notice text. It's not a question of having a unique identifier, but

There are two main ways that people want to do this:


 * 1) Give users addresses like email addresses or JIDs: "evan@identi.ca". However, since we use the "@" symbol to prefix an address, and because "@evan@identi.ca" looks "wrong", there was talk about doing another symbol for the separator between username and domain. I like "%", similar to the "percent hack" for email.
 * 2) Give users addresses like their profile URLs: "@identi.ca/evan".

I think we can support both syntaxes, iff we make sure that the separator in the first format isn't something that looks like an URL, like "." or "/" would be.

In both cases, we can have shortcuts for the server part. So, say, "@evan%id" instead of "@evan%identi.ca". I think we can have three levels of shortcut: users may define them themselves; there may be some defined on the server; and there may be a "universal" list, either distributed with Laconica or supported by a directory "somewhere".