• see cool video on front page
  • click
  • “Haha, fuck you, you’ve just clicked on the invisible button that takes up half the thumbnail like a fucking moron!”
  • redirected to the sponsorship info page
  • go back
  • video gone

why are you completely incapable of making a functional website you wet dildo

  • grue@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    5 months ago

    That’s not really the issue. The issue is that it doesn’t give you a proper URL with enough information to uniquely identify the set of results it loaded for you, so if you reload the page it re-runs the query and you get a new set of results instead of the same set you had before. That fundamentally breaks how the Internet is supposed to work: any particular URL should always go to the same resource.

    The fact that Youtube also does lazy-loading infinite scroll bullshit makes it even harder to show examples about, so I’ll switch to Lemmy now. Take this URL, for example:

    https://lemmy.world/?dataType=Post&listingType=All&pageCursor=P115f329&sort=TopSixHour

    (That’s from navigating to page 2 of my feed, which is set to “all” and “top 6 hours”.)

    If I go to that URL now, and then I go to it again, say, six hours from now, it ought to still show the same list of posts. But it doesn’t. Instead, it re-runs the query and shows me the new results from six hours in the future, which is an entirely different result set. That’s not what I want! I want to be able to keep navigating back and forth through the old result set until I explicitly ask for a new one e.g. by clicking on the instance logo or choosing a new search from the [posts|comments], [subsribed|local|all], and [sort type list] controls.

    • intensely_human@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      5 months ago

      Just generally speaking, I think of this as “concreteness”.

      Software should seek to mimic real spaces, in the sense that one step back takes you to the place you were one step ago.

      One pattern that breaks this in my opinion is when a menu appears as soon as you scroll up. It’s just a minor inconvenience, but 95% of the time I scroll up on an article, it’s because I want to re-read a line of text that just disappeared under the top of my screen. This menu reappear crap means I have to scroll up like three inches to get something that’s only a quarter inch under the upper edge.

      I think it’s a matter of mental health to have software that faithfully mimics real world causality.

      It’s all very vague in my head, but I would love to articulate this fully into a design spec.

      It’s kind of like Google’s Material Design spec in its idea, but it’s about the effects of navigation rather than just how UI elements behave.

      It kind of relates to the concept of a State Function in math and science.

    • hex@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      They could cache the results you receive on your last visit of the home page which would fix this

      • grue@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

        It would not fix it. I also want to be able to do things like send the URL to someone else and have confidence that it would load the same content for them, too.

        • hex@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 months ago

          I mean of course that would be nice, but that’s just not realistic. You can’t store that info in a link without it being monstrous.

          Why do you say they couldn’t cache the results and instead of re-fetching everything just use the cache results?

          • grue@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            5 months ago

            You can’t store that info in a link without it being monstrous.

            Sure you can, if your backend is designed reasonably.

            How? You put a timestamp (or equivalent) in the URL and filter the search to only operate on the records that existed at that time. Assuming your search algorithm is deterministic, it should find the same results.

            • hex@programming.dev
              link
              fedilink
              English
              arrow-up
              2
              ·
              5 months ago

              I agree with your point, but our algorithms are not deterministic and I doubt they ever will be again. Perhaps they could use a set of tags to create a deterministic result for a certain “genre” of results.