Hi all,
Quiblr now has personalized post feeds for Lemmy!
I haven’t seen a “recommended feed” feature anywhere else in the fediverse but I thought I would take a crack at building it!
My goal was to make a privacy-focused recommendation engine that tailors your experience based on the content you interact with. None of the data leaves your device. You don’t even need to log in for it to work
- You can turn it off or tune your feed in the settings
- Each post now also includes a show me more/less button
I would LOVE feedback from folks if you get a chance to try it out!
This was really fun to build so let me know if there are any questions!
PS: Let me know if someone else has built this feature for the fediverse - then I will change the title to not claim “the first” lol
I dunno if this is within your wheelhouse but what I’d really like to see is a manual weighting by community.
So, for example, if you’re mildly interested in Linux, you can give those communities a 3/10 weight and that way you’d only see the most popular content rather than having it dominate your entire feed.
And then a gaming community 10/10 weight so you’d see every single post.
Maybe you can combine the 2 and just make the automatic “for you” weighting visible and manually adjustable.
Without it being open source and not providing reproducible builds, the privacy claims are borderline weightless.
Agree, but anyone competent could just sniff the traffic. (Or hopefully, lack thereof)
For sure. What the aforementioned bits of information provide is the ability to be confident in the privacy of software if one were to treat it as a black box, ie an average consumer.
even if it’s open source, how would you verify that the instance is running that version of the software?
Fair point. I believe I was under the impression that this was an app rather than a served webpage. I suppose one can easily verify this by looking at how the “For You” algorithm works within the browser — all the code for functionality would be sent to the browser; though, it could potentially be obfuscated, which might be a pain.
This. For all we know, the app could be doing all kinds of nefarious things and we wouldn’t be able to tell.
Hm, I feel that it’s inaccurate to say “we wouldn’t be able to tell”. It’s not exactly a black box system — the app would have to run on an operating system, and if you are able to know what the operating system is doing, and what instructions are being executed by the CPU, then you can know exactly what the app is doing.
What the aforementioned bits of information provide is the ability to treat software as a black box and be sure of its safety without having to fundamentally audit it.
This is great! Some feedback on UI:
- The first thing I did was click ⇩ on a post and it prompted me to log-in. This is confusing because I thought I could train the recommender without having to log-in. It took me a minute to find the “Like/Dislike” buttons because they require an extra click to open the post menu. Maybe make the Like/Dislike a bit more prominent and accessible, and find a way to differentiate between the controls for training the recommender and the upvote/downvote actions on the post itself. Or even better, make them the same thing so there’s only one pair of controls and if you’re not logged-in then upvoting just boosts the recommendation but doesn’t actually send the upvote action to the post.
- Please use actual links (
<a href=""></a>
) for post navigation so that I can tell my browser to open a link in a new tab. Usually I middle-click to do this (in Firefox) but since the post title and content only respond to javascript events, I can’t middle click to open in a new tab. Clicking the post opens it in the same window. - Add text content of posts, or at least a button to expand the text content. Right now text posts are just the post title and I have to click through to read the content.
- Add alt-text (tooltips) to your buttons. I know what the standard share/bookmark icons look like but it helps to have tooltips to be sure.
- Add a link to open the original post (on the origin server). Every fediverse UI has this. If you have it too, I couldn’t find it.
- Allow me to see (and drag) the scrollbar of the main content frame.
- Add a refresh button (maybe at the top of the feed) so that I can generate more recommended content without having to actually reload the page in the browser.
- When clicking a community name, I get the community page but I can’t press the back button to go back to the feed.
- If I “dislike” a post, I don’t expect to see it again after a refresh, or ever.
Also, it’s a bit late to change it now, but the name is very 2009-internet-startup.
What a super cool idea, and I love the implementation! I do however keep accidentally downvoting, when I want to upvote, and vice versa, since all other sites that I’ve ever used, display the upvote first, and the downvote second. Any chance of a toggle for that in settings?
A must-have feature for me is the ability to collapse comments on posts. Right now it seems like we can only collapse replies to comments, or put differently, we can only collapse child-comments. Any chance you could make it possible to collapse parent comments too?
Just a quick follow up here - I added a simple toggle setting to Quiblr that lets you flip the arrow order.
Apologies for the slow roll out, I had a big laundry list of updates in this latest release!
Wow, I appreciate you following up! I can just imagine how much you had to get through. Cheers!
It’s my pleasure! Enjoy!
I would LOVE feedback from folks if you get a chance to try it out!
I have feedback completely unrelated to the recommendation engine: please consider using CSS prefers-color-scheme instead of defaulting to light mode.
Notes! I’ll aim to add it to the next release. Thanks
Wow. This is pretty impressive since you usually only see these kinds of things from big tech companies and their stuff is definitely NOT privacy friendly.
Can you provide more detail on how it works and how it is different than what big tech is doing?
Thanks a bunch! It took me a while to craft the solution to make sure it was both effective + private. I was originally inspired by Canopy. They built a news aggregator with private & personalized posts a few years back and the idea sat in my head.
To answer your question(s), there are quite a few signals that big tech uses to recommend content. Not all of them are privacy invasive (or at least they don’t HAVE to be). My approach was to do thorough research on the different signals used by big tech to make their recommendation engines, and just build ones that 1.) were possible given fediverse API limitations and 2.) private. I had to craft some novel approaches to make it work but I’m pretty happy with the outcome!
One of the biggest differences between the “big tech” approach and Quiblr’s is that most big tech does not keep data simply on your device. They store it in datacenters to build large social-webs to essentially cluster users (and push more relevant ads).
But I was able utilize many of the other signals used by big tech (e.g. communities you engage with, metadata of content you read, dwell time, post/comment/vote activity) and I designed it to work offline with no servers.
Edit: grammar
How does it make the decision to recommend one post over another using the data it collects? Also does it treat all that data differently when ranking posts?
btw it feels really well polished so nice job.
Is it opwn source? Would love to see it on mastodon and other apps
Nice UI work. I’ll wait for it to be open-sourced before I use it to login to my account.
deleted by creator
Thanks! I work on Quiblr in my free time as a side project. I’ve never managed an open source project on my own, but I’m working with a buddy who has experience managing open source projects. I’ll let you know!
deleted by creator
That does actually look interesting and might revolutionize parts of the Fediverse, ngl. Is it open-source?
Just saw it, amazing, keep up the great work!
I appreciate the support and kind words!