Inspired by a convo I had with @glyph and @cblgh, here are some features from Patchfox that I would love other clients to implement (posting each feature in its own reply so that people can comment on them separately).
Patchfox moderation tools are currently unique in our ecosystem but I don't think they should be. While all clients adopted content warnings, I haven't seen them picking on the other tools in the app.
The most important tool is the message filtering system. You can create as many filters as you want. They can hide messages or blur images based on certain triggers. Filtering doesn't affect gossiping at all, it is a UI level feature affecting only views and not the data.
The triggers can be any combination of feed id, hash id, keyword, and channel name. You can also set an expiration date for the filter.
Some common use cases are:
- Selective listening. For whatever reason you don't want to hear about some topic, you can create multiple filters to cast a wide array around it and hide all the messages. A combination of filters based on channels and keywords can make a conversation topic vanish from your view.
- Being fed up with someone but not at the point of blocking. Sometimes we argue and that is OK, it might not be the kind of argument that is impossible to get over and you might just need some time away from that person. Create a filter hiding them for a week. A week later they'll magically reappear on the UI.
This is a client-side feature saved to the app preferences system (he, who am I kidding, app preferences system is just localstorage). It is not a new message, it is not gossiped. I toyed with the idea of creating a private message for filters to allow you to back them up. Maybe I'll do it in the future, but having them is more important than gossiping them.
I really wish more clients would adopt filters. It is a very low-hanging fruit, so easy to pick, so shiny. It provides a lot of good for the community.
Ability to connect to other servers. For a while now Patchfox can store multiple identities and connect to them when requested. The WebExtension can do that by creating new browser tabs or windows, and the desktop app can do that by creating new windows because I don't want to implement my own tabbing system at the moment.
The way it works is that when you save an identity, it stores the secret, the remote, and the server type. When you launch a new tab or window, you launch it associated with one of the saved identities. The ssb-client will connect using that data instead of assuming whatever is on
This way you can have a single app able to connect to multiple local servers and also with remote servers. You can keep an identity on a VPS and connect to it from your computer, you can have two computers and connect to the identities of both from any of them.
Books. This is not an original feature, it is just the books system from Patchbay backported to Patchfox. Books are awesome, I wish more clients support them.
All the blogging stuff. I really think clients should implement at least displaying
blog messages. Writing them would be a plus since they allow one to write long form text that is impossible to do with the limitation of
Besides reading and writing blogs, I'd like to see more integration with RSS and other blogging features from the blogosphere. For example, Patchfox can import posts from RSS and open a compose window with their content converted to Markdown, this is very handy for people who wants to post the same content on their blog and here.