Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new blog post "more than 50 perc providers support APIv2" #96

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions content/blog/2024-08-01_67_percent_providers_support_APIv2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
title: Currently more than 50% of the listed XMPP providers support API version 2
date: 2024-09-01
---

Six months after we have offered the hosting a [generic JSON files](https://providers.xmpp.net/provider-file-generator/) which are based on our API version 2, more than [50% of the currently listed XMPP service providers](https://providers.xmpp.net/statistics/#provider-file) host it on their XMPP instance.
This is a great success for decentralization in XMPP onboarding. However, our efforts go beyond the project goals and chart a path to better transparency, quality and understanding of the entire XMPP network.

At the moment we have 72 XMPP providers listed in our setup.
By end of 2024 we want to exceed the 100.
Our main [statics](https://providers.xmpp.net/statistics/) shows that about 50% of the listed servers are categorized in D.
The main reasons are either closed registrations, missing information or both.
We recommend to also support the automated way we have established to not just support better onboarding, but also transparency of the network and general quality measures.

## Perspective & Criticism

First of all, big thanks to all the supporters and applies of our projects and the helpful and constructive and last but not least welcome feedback.
Since we started about four years ago there have always been confronting criticism:
- Strong criticism on the rating
- Boycott of the service
- Abusive behavior
We do understand the main complains.
In this article I would like to invite you to take a very certain perspective: The users and newcomers to XMPP.

What do we know what they know?
What do we know what they understand?
The distances, between our highly tech-savvy knowledge and this of the majority of the users we often build our services and software for is huge.
And on the opposite, the tolerance of these people is often very thin.
Therefore, we should ensure a good experience right after registering to an XMPP server.

We have repeatedly discussed the minimum values of the rating parameters, the limits and the defined thresholds.
One example would be the effect of HTTP file upload parameters that are too low on the user experience.
Is 5 MB enough? Commonly sent videos can reach ten times that size, if not compressed.
Is this good? Is this something you as operator should care about?

Usually, to our understanding, most providers are also interested to have more users.
This is why we argued to have a minimum of 20 MB for example.
It is certainly not sufficient in all cases, but it will cover the commonly transferred sizes and ensures a better experience.
If you cannot or does not want to implement this, we recommend to not register newcomers with mainstream expectations on your server.
The users don't care about your properties, until they realize this video cannot be sent.
Then the chat client (!) and maybe even XMPP is blamed and they leave it.
The bitter truth is that public server maintainers have the potential to ruin the user experience and reputation of the network and also your XMPP applications.
Note to client developers: Users will regardless of the origin of the issue blame your chat app.

Due to the reality of the decentralized nature of the network, the discussions and the learnings required us to create more distinct and refined parameters.
The rating's main purpose is the recommendation for registration of especially non-tech-savvy newcomers to an XMPP server.

Ratings are sensitive and they obviously lead to conflict, no doubts.
Still, we took strong actions to keep it to deescalate and show good intentions.
- Keep the requirements for A as low as possible. We believe that even hobby-operators can easily meet these requirements if they want to.
- Actively reach out and help providers on their setup. And this lead to significant quality improvements in many setups, besides increasing their service rating.
- Host our support chat where we help operators even beyond the project with technical support with honorable improvements of their services.
- Offer a user-friendly, clearly documented and also semi-automated [XMPP Providers Server](https://invent.kde.org/melvo/xmpp-providers-server) with a good configured setup, written by Melvin.

## Vision

There are many XMPP chat client that help users to register a new account to a (pre-)existing list of XMPP server providers.
This is great and this is what the network nature should be.

However, there are two identified two issues, which lead to bad experiences:
- Varritation in quality of listed XMPP servers, due to often a manual maintained, outdated and uninformed nature
- Too restircitive behavior or no recommendation at all, that does not support the federated idea and leads to oligopoly-like distribution of users

We intend to address the problematic onboarding and user experience as well as promote user decentralization in XMPP through transparency, accessibility, quality and completeness of information.

As a control and evaluation service XMPP providers needs your trust. This is ensured by the following core characteristics:
- a service that keeps and supports a federated and decentralized interface
- a service that provides a transparent high level of even semi-automated and up-to-date information of listed servers with soft and hard quality measures
- a service tracks and enable quality checks overtime and even help operators with feedback to their service
- a service provides an API to automatically register a new account for a user
- a service that helps you as developer as well the user to retrieve service information and support contacts beyond the registration process

This is surely not a perfect solution to issues with registration and usability.
But it represents our strong efforts to improve the general unpopular situation around onboarding.
The priority is to prevent the two extremes:
- Unmaintained lists containing any server you can find and expose themselves in a lottery-manner to uninformed users to pick from.
- Purely limited selection of servers in your client that for sure may work, but unfortunately jeopardizes the idea of federation.

XMPP Providers with all the great achievements we have made so far is not the end of the road.
From a simple list for automatic registration we have evolved to build an API and a website with interesting statistics on the network.
We think that keeping up with good documentation and transparency is another great achievement.
We also wrote our own [automated setup](https://invent.kde.org/melvo/xmpp-providers-server) for everyone to have a good start.
We encourage you to use XMPP and run your own server instance, maybe even by becoming a public provider.
But keep in mind that providing a public service comes with great responsibility you should be aware of!

From this point we also believe that the project evolved to a multi-purpose project.
Thus, we propagate a prerequisite for smooth and sustainable registration process based on up-to-date information and the XMPP users in mind at your service.

That is not the one thing to solve and to improve.
Let’s make the best out of this project, regardless of how you apply to it.
We believe it is a great chance.
Remember, a rising tide lifts all boats.

## Outlook

We plan to expand our API with more measure and more way that you actually can expose the quality of your service, such as up-time and automated ways of confirming existing support.
But the project is nothing without usage. Gajim will soon publish their implementation of a new registration and on-boarding experience. Stay tuned!

If you got interested to list your service you can start with hosting a [generic JSON file](https://providers.xmpp.net/provider-file-generator/) and then create an issue, see section below.

Thank you for reading. We ask you to join this endeavor. Reach us in our support chat below.

— The XMPP Providers Team

## Help Us

For a good user experience, [apps integrating XMPP Providers](https://providers.xmpp.net/apps/) are as important as the providers themselves.
If you are an XMPP developer, please consider [adding XMPP Provider support](https://invent.kde.org/melvo/xmpp-providers#usage) to your app.
If you are an operator of a public XMPP service, provide the [information we need](/faq/#where-do-we-have-the-providers-properties-from) and [add it to our list](https://invent.kde.org/melvo/xmpp-providers/-/blob/master/CONTRIBUTING.md#providers).

Feel free to [reach out to us](/contact/) if you have any questions!

## Spread the Word

The XMPP Providers project lives from the community.
We are happy to hear your feedback!
[Follow us and spread the word](https://fosstodon.org/@xmpp_providers)!

{{< figure src="/images/xmpp-providers-adaptive.svg" caption="XMPP Providers Logo" class="text-center w-100 pt-5" height="300" link="/" >}}