-- Leo's gemini proxy

-- Connecting to warmedal.se:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; lang=en

Is This Aggregator Idea Good?


Let's say you have a gemlog. Each time you publish something to it your atom.xml is updated, and you probably have an index.gmi file where you insert a link to the new post.


CAPCOM picks up the new post from your atom and publishes it in a bigger feed. Spacewalk notices that your index.gmi has changed and puts it in the list as newly updated. This helps others find your posts.


What if you want others to find the stuff you follow? Or you want to find the stuff your friend reads?


So. For the sake of example I'm gonna call this hypothetical aggregator Shannon (thanks, acdw!).


This is How Shannon Works


Bill Jones (not a real person) doesn't like reading what others write. But he has a gemlog. When Bill publishes a post the file gemini://billsdomain.com/shannonfeed.gmi is updated with a link to that post. The link has a specific structure, namely


=> FULLURLTOPOST TIMESTAMP, AUTHOR NAME, TITLE

For example, had Bill written this post the line would say:


=> gemini://billsdomain.com/gemlog/posts/is-this-aggregator-idea-good.gmi 2020-11-14T22:03:12+00:00, Bill P. Jones, Is This Aggregator Idea Good?

Joanne reads Bill's gemlog, and thinks that more people should do so. She runs a Shannon instance that subscribes to Bill's gemlog, and she also has a gemlog of her own. Every few hours her Shannon instance polls his feed and combines the result with Joanne's own gemlog posts. Joanne's shannonfeed.gmi is therefore a combination of both her own and Bill's posts in chronological order!


=> gemini://billsdomain.com/gemlog/posts/is-this-aggregator-idea-good.gmi 2020-11-14T22:03:12+00:00, Bill P. Jones, Is This Aggregator Idea Good?
=> gemini://joannnesdomain.co.uk/gemlog/posts/hello-world.gmi 2020-11-10T12:14:52+00:00, Joanne, Hello, World!

Now, if I were to run my own Shannon instance, and read Joanne's feed as well as publishing my own gemlog posts, *my* shannonfeed.gmi would be a combination of my own, Joanne's and Bill's posts!


Why Not Atom?


This is entirely doable via atom or rss, of course. I figured that the only thing needed is a full URL, timestamp (second precision is good enough), author and title. That all fits neatly in one line as a valid gemtext link. Combining feeds is therefore just a matter of reading a bunch of files, mashing the lines together and sorting on timestamp (and toss out duplicates).


These Feed are Gonna Be Huge!


Combining a bunch of feeds can quickly mean thousands of lines, of course. You can set a cap on the number of lines in a single feed, but make it too short and the risk is that a handful of the most popular gemlogs will simply drown out other gemlogs from the aggregated aggregates.


Conclusion


My own shannonfeed.gmi becomes an aggregate of my own posts and all the people I follow, quickly becoming a great starting page for my daily geminispace exploring while also telling others that "This is the stuff I like!".


It's an interesting way to find things in geminispace, and a quick way for new aggregators to collect content.


What do you think?


-- CC0 ew0k, 2020-11-14

-- Response ended

-- Page fetched on Wed May 1 17:22:16 2024