How to make a good feed reader.
1. TODO Abstract ignore
This file is about how to create a good feed reader in 2023.
Recently I had a discussion with my friend, about what makes modern messengers to be an example of (possibly, intentional) bad design.
This file is a place where I want to write down my wish list for a good feed reader, that would be worth implementing eventually.
In this document, the "TODO" marker at the beginning of the headline signifies that this headline is not finished. In this document, the "TODO" tag (at the end of the line) signifies that this line can be interpreted as a task in a design document.
2. TODO Requirements.
2.1. Reliable (including heuristics) work with sources. TODO
This point is, perhaps, the most important of all, hence it goes first.
2.1.3. Feeds are the source of information, but the reader should: TODO
- clean them up
- maintain consistency database
- indicated deleted and altered entries
- retry failed entries gracefully
2.2. Clusterable and cacheable.
2.2.1. It is fine to have a single source of truth, but all data should be also cached locally on all devices. TODO
- all servers
- laptop
- phone
- tablet
2.3. Feeds should be organised hierarchically.
2.5. The interface must support content filtering and querying.
2.5.2. Querying should be at least the following. TODO
- full-text search
- structured querying, based on tags, categories, stored procedures, authors
2.5.3. Message sorting and prioritisation should be supported.
- Sorting channels by inverse arrival date is one of the worst possible ways of prioritising messages. (Even though it should also be supported.)
- Facebook-style "smart-feed" is even worse that sorting by inverse arrival date.
- A typical "view" should be a structured query to the database, tailored for the user. TODO
- Heuristically, messages should be the more prioritised, the less their authors post. TODO
- There should be a way to indicate feeds which have not been updated for too long. TODO
- There should be a way to detect duplicate messages sent to different channels (FB+VK). TODO
- There should be a way to detect links to "ground truth" posts references by secondary sources.
2.6. The database should be tightly integrated with an Address Book (possibly a different piece of software).
2.6.1. When I am adding a user into my address book, I want their accounts to be automatically added to the reader.
- SMS
- RSS
- hEntry/hFeed
- Email Lists
- Tumblr
- YouTube
- Vimeo
- Renren
- Viber
- Kakao
- Slack
- xmpp
- matrix
- mastodon
- Telegram
- Discord
- Skype
- Zoom
- VK
- OK
- LiveJournal
- lj.rossija.org
- substack
- medium
- diary.ru
- darkdiary.ru
- traditional media websites
- custom hooks
2.9. The system should support smart message storage.
3. TODO Possible implementation details.
4. TODO References.
Completely TODO.