friendica / friendica

Friendica Communications Platform
https://friendi.ca
GNU Affero General Public License v3.0
1.42k stars 336 forks source link

contacts page: better info on which format is wanted to add / find users #786

Closed foss- closed 8 years ago

foss- commented 11 years ago

This is three wishes in one report:

When on the contact page, it is not obvious, which format is expected to add new users. Currently it is:

user@example.org

1) I suggest showing exactly that in light-grey color in the add-user text-box. That way the user knows exactly which format is expected.

2) If another format like the URL is entered, show an informative error message indicating which format to use for this function to work.

3) Allow the user to paste an URL of a contact that should be added.

If anything is fixed, we can either close this as a whole and I can create separate issues for the remaining items or wait for all three to be fixed.

annando commented 11 years ago

It has to implemented in a way that the user can enter the contact in every possible way. That means that e.g. a diaspora contact should be added in the format username@diasporaserver.tld as well as https://diasporaserver.tld/u/username

foss- commented 11 years ago

True and indeed this might make the other points obsolete. Attaching a mockup to replace the explanatory text with an example of how to enter that info.

mockup

annando commented 11 years ago

For statusnet contacts the system can look at this header that appears in every statusnet contact page.

   <link rel="EditURI" type="application/rsd+xml" href="http://statusnetserver.tld/rsd.xml"/>

The system can load this file. It contains many hints that it is a statusnet server:

<?xml version="1.0" encoding="UTF-8"?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
 <service>
  <engineName>StatusNet</engineName>
  <engineLink>http://status.net/</engineLink>
  <apis>
   <api name="Twitter" preferred="true" apiLink="https://statusnetserver.tld/api/" blogID="">
    <settings>
     <docs>http://status.net/wiki/TwitterCompatibleAPI</docs>
     <setting name="OAuth">true</setting>
    </settings>
   </api>
   <api name="Atom" preferred="false" apiLink="http://statusnetserver.tld/api/statusnet/app/service.xml" blogID=""></api>
  </apis>
 </service>
</rsd>

So the system can distinguish if the link goes to a statusnet contact or a regular ATOM/RSS feed.

annando commented 11 years ago

For diaspora the system should look at the URL scheme https://servername.tld/u/username, when there are none hints for RSS/ATOM at the given page.

friendica commented 11 years ago

There are no hints for facebook or RSS feeds, where you need the URL form. The reason why this was left without strong hints is precisely because different networks will do things in different ways. We'll try to use the convention appropriate to the network in question. In general we use webfinger for discovery (the older XML based webfinger, not the newer JSON based webfinger). This works for status.net and Diaspora (and Friendica). Friendica and Status.net presumably work with either the user@host or the URL. Diaspora does not. It requires user@host. Twitter requires the URL. In fact sometimes Status.Net only works with one form and not the other, for instance if you only have the statusnet ID (which is returned via the API) and not the "username", you need to use the URL.

For diaspora the system should look at the URL scheme https://servername.tld/u/username, when there are none hints for RSS/ATOM at the given page.

Most of the old webfinger implementations use LRDD when a URL is entered, which allows you to discover the account discovery information via the URL. Diaspora does not do this. Webfinger with user@host is the only reliable way to discover that it is a Diaspora account on a Diaspora server unless you go poking around the top-level domain looking for a webfinger server or scrape the page to try and guess.

But this is irrelevant to the issue presented, which is to provide a hint about what to enter as a contact. Until the entire internet is unified around a single account discovery scheme, this is simply not possible. We do already provide a hover tooltip on this field which offers two examples:

Example: bob@example.com, http://example.com/barbara

You are welcome to try and improve this but it is the best we could come up with given the range of different services we might connect with.

annando commented 8 years ago

For several versions it is possible to enter the contact address in various ways. So I'm closing the issue.