A while ago I posted a thread back on the
spoiler
spez
::: website, with a personal opinion on why the Fediverse seems a bit complicated. It basically goes like this: Mastodon (and pretty much every Fediverse project out there) is based on the idea of using multiple websites.
This is not really a problem on the desktop, as you’re using the browser to log in to the Fediverse. You go to mastodon.social
or lemmy.world
, maybe bookmark these, and you log in as normal (if you do not check the remember me option at login). Same goes with Facebook, with Xitter, with the
spoiler
spez
::: website etc.
Alright, but the newer generations (not everyone, but many folks part of them) rather use apps instead. And what do these apps do? Present a login screen with fields only for the username and the password (at most).
What are the Fediverse apps doing? They are also asking for the website where they would log you in. So you go open e.g. the Mastodon app, then type the website that you need to access (which in many cases it might not contain the word Mastodon in it), and only then you can enter the credentials.
What am I asking now (especially app developers): Wouldn’t it be better (if doable) to take some cues on how actually email (and XMPP for that matter) works, and ask the user for the username and the password instead in one go?
Like, everyone knows how to use email, everyone is familiar with that. And as I mentioned, XMPP is also doing it as well:
Wouldn’t it be doable?
I don’t know enough about the fediverse or Lemmy code to say how easy or hard this would be to implement but if we’re logging in with the username noogs@lemmy.noogs.me for example, it’s reasonable for the app to assume the server is located at lemmy.noogs.me and it can derive the likely URL of https://lemmy.noogs.me from that. The only case this wouldn’t work is if your instance is running on a port other than 443 because then we need some way to tell the app what the port should be.
Email (or at least Microsoft Exchange email) uses a protocol called autodiscover for this which uses DNS to tell an email client where to get connection information from, it then polls that URL for the information and configures the email client automatically. Using a similar DNS based approach may be useful as well.