Announcing "Cosmos"

Occasionally people reply or refer to others' posts in Geminispace, but these threads of discussion are not really visible anywhere. I wanted to make something to help with this, so I wrote a new aggregator that tracks links between posts.

What is Cosmos?

COSMOS is a Geminispace Super-Aggregator that collects posts from various other aggregators and groups threads of discussion together into "constellations". Notably, posts on Station and anonymous comments on Geddit are also shown as part of threads.

The objective of this aggregator is to foster discussion across Geminispace, no matter which corner of it you happen to prefer. Anyone can participate in the discussion simply by posting on their gemlog or any other tracked site.

Threads are formed solely based on links found on pages, so there is no need to worry about which post title you use when making a reply. Linking to any post known by Cosmos will make your reply appear in a thread together with that post. Threads are always shown as a single group of links, positioned at the date of the newest reply.

Aggregating everything into one place has the benefit of finding all the relevant cross-references between posts, but it may also be too much content for one to peruse. Simple keyword filters are provided, currently for excluding or focusing on Gemini protocol/software discussion. One can also choose to only see threads, to better keep track of replies.


Here's what a thread looks like in practice. The aggregator has found links between my own and Ben's posts, grouping them together, and included the corresponding Geddit comments.

## 2022-01-03
skyjake's Gemlog — Lagrange Meets a Green Robot
⤷ Geddit — 💬 3 ~
⤷ skyjake's Gemlog — Android Alpha
⤷ skyjake's Gemlog — Android Alpha 2
⤷ Geddit — 💬 1 ~
⤷ skyjake's Gemlog — Android Alpha 3
⤷ Ben — Re: Android Alpha 3
⤷ Geddit — 💬 4 ~
⤷ skyjake's Gemlog — Cross-Platform Apps and Accessibility — Programming


I've been following Cosmos for a few days now and it seems to be working, but there certainly may be problems with detecting the correct threading between posts. Each post gets only a single parent post, so the most appropriate one may not be used. One can also easily imagine how this threading system will break if anyone starts making nonsensical links in their posts — that will require manual intervention and perhaps adding an exclusion list.

This is pretty much a version 0.1 of this aggregator. If threads grow longer or increase in number, it will probably be necessary to change how they are presented. One option would be to only show the latest posts on the main index and break out the full threads to separate pages.

The data is stored in an SQLite database so dynamic queries via CGI would be possible, but all the generated .gmi pages are static.


This "Super Aggregator" is riding on the shoulders of the existing aggregators and community hubs, so I must extend my gratitude to ew0k, nytpu, @martin, m15o, and others who run them. You are providing an important service!

📅 2022-01-12

🏷 Cosmos, Gemini

CC-BY-SA 4.0