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 man I'm sorry to keep arguing with you but *why*? Why do I need one app that does a compromised job at everything instead of specialized apps that exactly fit the task at hand?

Consider IG. One of its STRENGTHS is that it's so awful as a discussion platform. It would be AWFUL if someone slapped a Twitter style front end on IG and now everyone is using it to fight about politics. Imagine if Spotify had Twitter style discussion bolted onto it?

App diversity *is decentralization.*

@atomicpoet I think you're trying to solve a perceived issue on the back end by addressing a not-problem on the front end.

@kellumdander I disagree that Instagram is good. In fact, it's a dumpster fire.

Consider what you can't do on Instagram:

1. Send a hyperlink in your post
2. Upload a picture from a desktop computer
3. Opt out of ads

Instagram is the very worst of walled garden centralized social media. It is not worth emulating in any sense or form.

The Fediverse, by contrast, is the anti-Instagram. Mastodon talks to Pixelfed which talks to PeerTube which talks to Lemmy.

@atomicpoet baby != bathwater

@atomicpoet I'll try to say it again. A STRENGTH of Instagram is that it does not support the sort of argument we're having right now. That's a GOOD THING for that platform. It would be bad for Instagram, or any decentralized competitor platform, to make it easier to argue and fight on other people's photo feeds.

Conversely, it's a GOOD THING that we can argue and fight here, because discussion is the entire point of this platform.

@atomicpoet now as devs we can look at Twitter and Instagram and realize they're really fundamentally the same generalized app with very different front ends. Both let you create an account and post photos and text. Both let you follow people and see their content, support hashtags, commenting, etc etc etc. The similarities far outweigh the differences.
@atomicpoet But it would be a huge mistake to build a client that synthesizes both apps into one unified experience that brings rich discussion to Instagram.
@atomicpoet this has been a good convo, if I don't respond it's just because I'm AFK

@atomicpoet @kellumdander

There's a primary distinction that's missing here: an "insta" isn't the same thing as a “personal photo” isn't the same as a "selfie" isn't the same as a "portrait", even when it might come from the same set of bytes.

It's up to client software to present to users the data in ways that are semantically appropriate and expected, and up to the back end to know when those things are the same.

@godofbiscuits @kellumdander Instagram hasn’t been focused on “Insta” in a long, long time.
@atomicpoet @kellumdander cherry picking.

@godofbiscuits @kellumdander Is it? That’s been a common complaint about old school Instagram users for awhile. Many of them left the platform because it went from being about the art of photography to being about expressing aspiration.

One reason I run my own Pixelfed instance is because it gives me freedom that Instagram lacks.

@atomicpoet @kellumdander it’s always been about sharing. And community. Without those, why bother?
@godofbiscuits @kellumdander Except Instagram doesn't give a damn about the things I want to share 🙂
@atomicpoet @kellumdander You never mentioned Imgur. Or Flickr. And that's what i'm getting at.
@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 Agreed.
/off-topic
Your comment + mention did not trigger a notification on Mastodon client nor Elk client. Slightly worrisome, and it is not the first example I've seen.

@atomicpoet @LarsFosdal A lot of the API differences only concern a few specific methods, so special-casing them isn't too hard.

The apparent lack of widely-known test servers makes it a bit obnoxious to test though (having to setup local servers for everything would be similarly obnoxious).

I'm eager for proper C2S because it'll be a mess otherwise.

@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.

@atomicpoet In that regard, even Mastodon is problematic. Activitypub has a client-side API but Mastodon doesn't use it. Hopefully the world of fediverse apps can really standardize on a client-side API

@atomicpoet isn’t the whole conception of the fediverse that the servers interop so clients aren’t isolated? In my mind the popularity of a particular fediverse flavor isn’t a problem because they federate!

In your Wordpress/ActivityPub scenario everyone enjoys access to each other. One server type may lean into longform text, another to video or photos. But your reach isn’t limited, your graph isn’t property of a corporation. Servers and APIs can gain new features, users can seek new clients.

@atomicpoet @gruber that's what Kaiteki is doing -- cross platform, cross software, beautiful, and modern.
@thatonecalculator @gruber Can't wait till it's out of beta!
@atomicpoet @gruber right now it's still in alpha (still adding critical features), by the time it's in beta most features will be done and bug-testing and polish will be the main focus

@atomicpoet @gruber

Have tried Fedilab yesterday for the first time and apart from its Fediverse openness, it also also just happens to offer a very clean interface for Mastodon. Happy to use either Tusky or Fedilab on Android.

@the_roamer @atomicpoet @gruber Would you consider #tusky or #fedilab the better choice?

@lime_juice_cube @atomicpoet @gruber

Not sure! Tusky is a bit more natural for core Mastodon use. Fedilab has extra features and it goes beyond Mastodon. Tusky's interface is more minimalist and feels cleaner. In Tusky, I don't think about the interface and focus on actual posting, which is how it should be. Both let you use your "Lists" as proper timelines, which is important to me. Fedilab visually shows different reply-levels in threads, super helpful. Both are great, happy to use either.

@lime_juice_cube @the_roamer @atomicpoet @gruber

Depends on your personal taste and needs.

Both #Tusky and #Fedilab are good apps.

#Tusky is a classic one for #Android, #Fedilab offers some special features.

You can install both and use them in parallel, no problem. Then decide yourself how to go on.

@atomicpoet @gruber It sounds like @chockenberry is considering something broader than just Mastodon.

@atomicpoet @gruber In the spirit of this thread, hopefully Fedilab recognizes that part of being open is not locking users into a single platform. I think they do great work, but ignoring the enormous userbase on iOS is not really different than ignoring the enormous userbase outside of Mastodon.

They don't necessarily need to do the iOS port, but they should recruit for it and support the effort.