gcrk
This is maybe breaking the scope here, but I'd say its wise to have all information we need for the instance picker & the network graphs inside one Endpoint to avoid calling each instance several times just to collect data.
I don't think it's out of scope. To me that's just exactly what nodeinfo is for. Quoting the project page:
NodeInfo is an effort to create a standardized way of exposing metadata about a server running one of the distributed social networks. The two key goals are being able to get better insights into the user base of distributed social networking and the ability to build tools that allow users to choose the best fitting software and server for their needs.
And if I remember discussions with @mjourdan correctly, we would have to collect more data to improve the instance picker. Sadly I cannot find any references anymore
The instance picker was mentionned in a forum thread, and a design page was started here on gitlab.
Some ideas
I would say we could use additional fields to list enabled or disabled features:
"features": {
"channels": {
"music": true,
"podcats": true
},
"libraries": {
"audiobooks": false,
"music": true,
},
},
See if a moderation policy is in place, the languages spoken by people responsible of the server, and where the server is hosted as it has legal repercussions:
"instance_policy": {
"moderation_policy": <url>,
"terms_of_service": <url>,
"languages": [],
"localisation": Germany
},
We would like to know if the instance is oriented towards specific genres or topics, and how much it federates with others:
"content": {
"tracks_per_genre": {
"rock": 1256,
"jazz": 604,
"classical": 308,
"electro": 67,
"brass: 56
},
"episodes_per_category": {
"comedy": 12,
"politics": 4,
"nature": 1
}
"federation": {
"nb_of_followed_instances": 304,
"nb_of_following_instances": 0
}
}