So... There seems to be a common misconception where people assume all of Mastodon has 180,000 users because mastodon.social says it's home to that number of users.

The real number is closer to 1,5 million. Those 180k are only mastodon.social users and there are like... 3,000 other servers?

I wonder what I should do. 🤔

@Gargron Talk to them, they'll probably want to hear from you.
@Gargron How many of those users are actually active or dead accounts?

@Gargron

Say something like "Home to 180k out of 1.5m+ users"? Probably could be refined better, but that might be great direction to go in.

@Gargron
Put that info in the about page? lixe, 180k in this instance and 1.5m in all 3000 more instances. I dunno, grab that number from some updated page

@Gargron pull account number?

Add?

@thegibson Pull from where tho. Some central aggregating service, one of the few that exist right now. What if it's down? What if it's being slow?

Using total row count of accounts table might be more reliable and more in spirit.

@Gargron @thegibson Maybe have instances whisper information to one another about their user counts--and the user counts they know about--to other instances once a day or so? Two degrees of separation ought to be enough for m.s to estimate a rough head count, no?

Smaller instances, meanwhile, would see a much smaller observable aggregate count, but that'd be interesting too.

@beadsland @thegibson It could be done... The question is, *should* it be done that way. Hmph.
@Gargron @beadsland @thegibson nice way to produce unmanageable mess

@saper @Gargron @thegibson It would avoid reliance on a single centralized service.

Not any more unmanageable than a game of whisper-down-the-alley. (Hence my use of the term.) Thus, not going to provide a painstakingly accurate sum—certainly not as observed from less connected instances—but when you're dealing with ~1.5 million horizon, long tail can fall off without losing significant digits.

"Here's my count, and counts of every server that polled me for toots today" hardly implies mess.

@saper @Gargron @thegibson Alternatively, a store-and-forward network a la Usenet could be used to share small instance-reported statistical packets, without the worry of losing the long tail.

This would eliminate the need for any given instance to reconcile the counts coming in over alternate routes—as the Usenet-esqe messages would self-reconcile on GUID. The trade-off is storage consumed by storing-for-forward those stats-packet messages.

@beadsland @Gargron @thegibson oh yes and we should add spanning tree to prevent loops!

@saper @beadsland @thegibson No need for recursivity you can just fetch stuff from each known instance in a flat manner.

I don't like the approach for another reason, managing these counts and fetching this data is like a side quest for Mastodon's core functionality, I don't feel good about mixing them in one codebase.

@Gargron
Maybe it's a more general tool for admins that should be part of Tootsuite to help admins, but not part of Mastodon.

@thegibson @beadsland @saper

@Gargron @saper @thegibson Ah, well, if you have a known list of instances, then that works. I'm working off the assumption that there isn't a master list, so the only way to glean that information is via federated neighbors.

I'm also working off the assumption that you don't want a central point of failure. Hence suggesting alternatives that don't rely on polling from (or pushing to) a single point that could be offline or slow, as you note.

@saper @beadsland @Gargron

I think a simple count of the lines in the DB would suffice...

No need to get complex for something so simple.

@thegibson @saper @Gargron Right, but the question is how to obtain the counts from a sufficient space of 3,000ish servers to produce an aggregate total.

It was suggested having that done from/to a single point (either polling or pushing) could be problematic. Hence my spitballing.

@beadsland @thegibson @saper Obtaining counts was just one of the suggested solutions... Improving the wording on existing stats, moving/removing the stats, adding some kind of link, adding stats to joinmastodon.org instead and hoping that solves the issue, there are many alternative ways

@Gargron @thegibson @saper Well, if you really are dealing with numbers near 1.5 million, that number won't need to be updated all that often. (Unless growth is really pronounced.)

Easy enough to just have an old McDonald's style banner proclaiming "1.5 Million Accounts Federated" and update the static number therein by hand as needed.

@beadsland @thegibson @Gargron I think multicast subscription and routing for hashtag messages is much more interesting issue
@saper @beadsland @thegibson Hashtags are probably solved by the relays, depending on how sophisticated of a solution you're thinking of. Relays are a brute force approach
@Gargron @beadsland @thegibson there are interesting lessons to be learned from the evolution of IP multicast routing protocol at IETF, I hope to find some pointers.

@saper @Gargron @thegibson This is why I suggested only two degrees of separation. Anything beyond that becomes computationally expensive.

Granted, two-degrees of separation only work if there's enough interconnectivity across the fediverse as seen from m.s for that to be representative. If there's another sizeable Mastodon cluster that can only be reached from three or more degrees of follow linkages, the whisper approach would fail.

@beadsland @Gargron @thegibson I am quite happy with the status quo, there are more pressing issues to work on I think.
@saper @beadsland @thegibson Right, I am more interested in cosmetic improvements to the way this information is conveyed, rather than solutions that require new standards etc
@beadsland @saper @Gargron @thegibson Eric Ried of DEC used to produce Usenet usage reports in the late 1980s / early 1990s

@Gargron Yes the accounts table would be a good idea for the instance, although there are also dead accounts in there and that number would be lower after they are purged with the purge_removed_accounts rake task (what I periodically do). I'm afraid people would refrain from using this rake task, to keep the known user count higher.

@thegibson

@Gargron On Joinmastodon.org a rounded number would be enough. It can be updated daily and if e.g. instances.social is down, the number stays the same. The same when the number suddenly changes e.g. more than 50% up or down.
@thegibson
@jeroenpraat @Gargron I'm sure dead accounts were counted on other platforms...
@thegibson Yes but still, if you want to use the accounts table after purging those dead accounts, AFAIK they wouldn't be there anymore, so also not counted.
@Gargron

@Gargron @thegibson Could you report on how many active users your instance has seen in the past hour / day / week / month, and corresponding post activity?

Actives are more interesting than total accounts anyway. And without adverts, viewers are of less interest.

@dredmorbius @Gargron @thegibson Talking head count vs. nodding head count.
@dredmorbius @Gargron @thegibson How many unique accounts could be seen on the m.s. Federated timeline in the past 24 hours?
@Gargron you could update the number once per week or even once per month. just an approximation is fine
@Gargron I'm pretty sure the people who believe those stats don't understand the concept of a decentralized network...

@Gargron

I'd list the most realistic number of know users in known instances, perhaps with a link explaining how federation works?

@RussSharek @Gargron just say clearly "only on this instance"

@saper

Or...

X number if users on this instance alone...and millions more in the fediverse!

@Gargron

@Gargron
Does the blue bird have around 300 million? 1.5 million sounds great for a non-commercial social network 🤗😍
@Gargron Include the total stat on that same page since it’s the one most people will see.
@Gargron Oh, that's what I thought as well! I guess a blog type explanation for newbies and maybe a public server directory would be nice.
@Gargron You need some sort of visual on joinmastodon.org that shows all of the instances connecting together, with a total number of users... like some sort of neat graph animation?
@Gargron I’m not a dev, but is there a way you could build basic, occasional user stats reporting into the protocol so instances all report it somewhere?
@chartier it's there under /api/v1/instance and /api/v1/instance/activity

@Gargron But perhaps that data could be displayed somewhere more prominent for us normal folks. Like some of the big instances could report:

300,000 local / 1.5 million total

@chartier Well, the local part is just displayed on /about and /about/more pages.
@Gargron I would have the 1.5M number displayed very visibly at joinmastodon.org. And maybe and indication of number of accounts over time, like the guys at basecamp.com do
@Gargron display local user count * connected instances. Higher number, equally useless for anything ;) (or replace it with "connecting over a million users")
@Gargron are these numbers accounts or active accounts?
@Gargron I believe we should keep educating journalists and all people around us, despite it is painful and frustrating.
Many times I’ve been convincing people to switch to Mastodon and the #1 feature they were enthusiastic about was its decentralization… only to find out that the next day they created their account an mastodon.social, by fear of being unable to communicate with the largest user base.
@Gargron

*whispers*

explain what fediverse is to new comers

@marsxyz @Gargron

*more whispers*

stop calling mastodon.social the "flagship instance"

@Gargron display a federated user to the right of statuses; move elefriend to bottom of sign-up/login column.
@Gargron like 'peering with XXX,XXX users'
@Eugen 🎄 @SMJ :comet: @ฝムレズムฝムリ ﻭキ (40% pure)

> people assume all of Mastodon has 180,000 users because mastodon.social says it's home to that number of users.

Change what mastodon.social says or the way that it says it?
@Gargron   Why not implement a (cached) user count service that federates? That way any instance can quickly obtain the total number of users worldwide!