Epicurean Revolutionary Libertarian Socialist

I make FOSS things:

wiki-user: db0

  • 98 Posts
  • 783 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle




















  • […]Looping through the list you’ve been given, and making extra queries adds complexity and delay, when the expectation from the user is that this list should appear pretty quickly.[…]

    While you’re correct about this, this could be handled dynamically. Simply fetch the list of posts quickly as usual, and then start polling for crossposts in the background and if any two appear in the current frontpage the user is seeing, merge them.

    My counter to that, would be that if you aren’t using the API in the way the developers expected, your app has ceased to be frontend, and is instead its own program that’s scraping data from it.

    Not at all. That’s not what scraping means.

    I just completely disagree with the idea that a frontend should stick to what the backend design is, especially for a FOSS project.


  • Frontends generate the main feed by querying api/v3/post/list. This doesn’t provide any crosspost info - for that you have to go into the post itself by querying api/v3/post. As such, frontends would have to do a fair bit of extra work to wrangle the required information for a main feed that combined crossposts.

    Most frontends already display available crossposts so you’re not wasting anything more than grabbing all the comment sections as well.

    I’d argue that you have a problem as soon as you start saying ‘frontends need to do some extra work’ - it breaks the dynamic between backends and frontends. Backends should be big, complicated things, worked on by people familiar with the project, to provide all the logic, whereas frontends should be light, relatively easy to write, runnable on devices with limited resources, and mostly focused on how the information provided to them should be displayed. They should store the user’s preferences, and login details, and that’s it - everything else should come from the backend.

    I don’t agree at all. There’s space for complex frontends which attempt to adjust the feed according to their own logic, as well as minimalistic frontends which follow the backend’s design explicitly.