Part of it is that people also moved on from Lemmy too. Lemmy is nice, but there also isn't very much by way of activity on it, which feeds back into itself. No activity means there's nothing to draw people into it, and not enough to keep them around when they are there.
One of the communities and (non-world) instances I frequented is all but dead these days.
Honestly, it’s a short-sighted move made with hubris by the developer’s personal ideology. Both @nutomic@lemmy.ml and @dessalines@lemmy.ml admit in the PR that it’s not a good solution, but yet they continue any way — probably because it’s an easy “solution”, despite alienating 41% of their active user base.
It’s a terrible trend in a lot of programming circles that programmers think because it is easy and it “works” (in that one circumstance) that it must be correct. This can be evidenced by browsing StackOverflow and reading the accepted answers for a lot of questions (SSL errors in software and disabling hostname verification or cert checks comes to mind).
In my 18+ years of experience, if I find an “easy” solution to a complex problem, I keep looking for the correct solution. What is “easy” now will most likely lead to more complex problems down the line. And as they say, “if you can’t find the time to fix it right the first time, where are you going to find the time to fix it again?”
Look, I get Lemmy is meant to be decentralized. Hiding away your biggest instance looks shady to outside users not in the know. The real solution is to “go door to door” to app makers and ask them to not default to any one instance of Lemmy (side note: randomizing a default server is not much better). If anything, add a link to join-lemmy where people can browse the list of ALL instances (yes, ALL of them) and let them make a genuinely-informed decision on their own. As a convenience, and API should be provided (assuming one does not already exist) so that apps can query a pageable/searchable list of existing/active instances (maybe also provide a link to their homepage too).
Hell, if it makes everyone feel warm and fuzzy, the default sorting of returned values can be weighted by percentage of active users (i.e., higher percentages get lower weights to help promote smaller instances). This would help to round out the number of signups without excluding instances.
But whatever developers do (not just Lemmy devs), do NOT overly dictate how people use your software “because I don’t like it”; lest you piss your user base off.
The asterisk means that, by "active users", they're considering only those who commented and/or posted "in the last month". Maybe join-lemmy's algorithm is considering from "day 1" of the current month, so a time span of 10 days, against 29 days from the second screenshot?
If it's true, it kinda of statistically makes sense: 10 days (28.4K) versus 29 days (47.8K), 34.4% of days with 59.41% of users. We'd need to wait till the 29th day to really compare the difference.
Also, "only those who commented and/or posted". Sometimes, people can become much of an observer, just seeing and voting up/down, without actually commenting or posting.