With respect to @gruber, the best Mastodon app is on Android.

That app is Fedilab.

That's because Fedlab is not a mere Mastodon app but a Fediverse app.

Why is this important?

Because a basic premise of the Fediverse is that apps should talk to each other.

And thus, a *great* client should be able to talk, not just to Mastodon servers, but Pleroma, Pixelfed, Peertube, and Friendica too.

Just like web browsers interact with diverse websites, a Mastodon client should talk to diverse servers.

Now @gruber may say, "Mastodon is the 800 lb. gorilla in the Fediverse ecosystem."

Maybe, but it's nowhere near as dominant as many believe.

According to fediverse.oberserver, there are 21,723 Fediverse instances -- of which there are 11,944 instances.

That means there are 9,779 instances that are *not* Mastodon.

By ignoring all those non-Mastodon instances, 3rd party client devs are ignoring a huge amount of potential in the Fediverse.

Further, devs like @gruber over-estimate the dominance of Mastodon.

Certainly, in terms of the Fediverse, Mastodon is huge.

But PeerTube and Pixelfed are nothing to sneeze at either.

PeerTube has 306,337 users. That's not as many as Mastodon.

But PeerTube's userbase isn't anything to sneeze at either.

What's more, just like Mastodon, PeerTube could grow. Especially if a black swan event happens with YouTube -- which is feasible!

Another thing @gruber perhaps doesn't consider is that Mastodon isn't the only Fediverse platform that's growing.

Pixelfed more than doubled it's userbase during the past year.

* Feb 2022: 73,100 users
* Feb 2023: 153,486 users

This is despite the fact that there was no Instagram migration!

So why are so many mobile devs just ignoring Pixelfed?

Here's a chart that shows the growth of Pixelfed over the past year.

A further consideration for @gruber: Mastodon's dominance of the Fediverse is unlikely to last forever.

Tumblr is joining. So is Flickr. Post even said they will be integrating ActivityPub.

How well will these apps be playing with the rest of the Fediverse? I don't know.

But the argument that Mastodon should be the primary consideration because it is the largest won't even be true in 2023.

Here's a dose of sobriety for everyone who thinks "Fediverse = Mastodon".

Last I checked 44% of the web runs on WordPress.

What happens if even a fraction of these websites install the ActivityPub plug-in?

Suddenly, WordPress becomes the dominant Fediverse platform.

People aren't even considering future black swan events with Big Social.

What if TikTok gets banned? What if Google shuts down YouTube? What if Meta so royally screws up Instagram that users suddenly leave?

I hesitate to even call these "black swan" events because they're actually more likely than not.

Well, if these events happen, more people will migrate to the Fediverse.

But this time, they probably won't be using Mastodon.

Now again, let's consider why Fedilab is the best mobile app for Mastodon:

1. It is open
2. It does not suffer from myopia
3. It considers future possibilities
4. It integrates different Fediverse platforms in one way the celebrates federation itself
5. It does this all in an intuitive manner

A challenge for iOS-centric devs who follow @gruber: build an iOS app like Fedilab.

Again, for people who don't understand the problem: consider the purpose of the Fediverse.

It is based on open protocols -- much like the web.

It has server implementations -- much like the web.

It *should* have general clients -- and that's where the wheels kind of fall off.

@atomicpoet Is it possible to create client APIs that are platform agnostic, so that there at least is a core set of functionality that is common? As the number of fediverse server types grow, it would be a lot of work to keep supporting a multitude of client APIs?

@LarsFosdal Take a look at the W3C's spec on ActivityPub:

https://www.w3.org/TR/activitypub/#client-to-server-interactions

Now ideally, clients should build on a uniform W3C spec.

But in practice, platforms like Pleroma use Mastodon's API.

ActivityPub

The ActivityPub protocol is a decentralized social networking protocol based upon the [ActivityStreams] 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content.

@atomicpoet Right, so what can be done about the API divergences? I am not convinced that asingle client can be expected to support all of them?

@LarsFosdal Such is the purpose of my thread: IMO, the best thing that can happen is if general Fediverse clients (like Fedilab) get widely adopted -- and then gain popularity.

The next best thing is if the W3C updates their C2S spec to include new features currently handled by APIs. I say next best thing because I think that will only happen if there's a demand for general clients.

@atomicpoet @LarsFosdal

This is from the top of the Fedilab app page itself:

Fedilab is a multifunctional Android client to access the distributed Fediverse, consisting of microblogging, photo sharing and video hosting.

Instagram's about page's language: “Reels, Stories, Conversations”.

Both are truthful. Which one is more understandable? Teleological?

@godofbiscuits @LarsFosdal For me, Fedilab is more understandable.

Instagram doesn’t tell me much.