First stable release!

GitHub link

Photon is now stable enough for people to be able to use. It’s a sleek Lemmy client where basically the only selling point is that it looks decent

I’d recommend logging in with an alt account for now, as I might freak something up that causes your credentials to leak. That’s basically impossible to have happen, but better safe than sorry.

What features should be priority right now?

  • @ashtefere
    link
    English
    21 year ago

    Honestly this is the most beautiful UI so far. 2 glaring problems though:

    1: you are loading a whole new page when the user selects a topic. Load content into a modal with J’s instead. Cache and reuse resources so it’s mostly instant.

    2: you need to implement infinite scrolling nowadays. It’s just expected.

    Otherwise, fantastic work

    • Xylight (Photon dev)OPM
      link
      fedilink
      English
      1
      edit-2
      1 year ago

      The issue with those is that I’m trying to make this usable without JavaScript. Would it be fine if I passed the data onto the new route so that the post page loads instantly? Perhaps for the infinite scrolling I’ll keep a “next” button in a <noscript>. I also hesitated adding infinite scroll to posts because eventually the memory usage would grow so high and just crash.

      • @ashtefere
        link
        English
        11 year ago

        I think of you look at real world numbers of people that dont’t use JavaScript, you will find it vanishingly small. It’s not really a concern for most people any more. It’s not some big boogey man that is the root cause of all evil, it’s just a tool that has been misused by advertisers. Luckily, with lemmy, we don’t have that problem.

        • Xylight (Photon dev)OPM
          link
          fedilink
          English
          11 year ago

          If I can easily avoid using JS for a task, I prefer that, since it typically improves performance and compatibility as well. However I’m starting to lean away, comments are an example. They require JS to be fetched to speed up post page load.

          • @ashtefere
            link
            English
            11 year ago

            Not using JS does not “typically improve performance” unless you are using a thousand libraries and don’t know how to code.

            A good example is thus: I see a post and want to open it. Two things can happen:

            1. No Js so a whole new page opens, renders, dom tree is generated, layout is thrashed as css comes in, all requests to all services are made (again) to load a whole new page.

            2. Use Js to just load the new content in a model, styling and layout has already been loaded with the initial page load.

            Your app is a primary example of how not using JS actually slows things down. To open a post needs a whole new page, and each time I’m finished I need to load the whole app again to go back

            Sorry, but what you are doing is breaking the user experience entirely and making it worse to fight a battle that was lost 10 years ago.

            • Xylight (Photon dev)OPM
              link
              fedilink
              English
              1
              edit-2
              1 year ago

              JS is used quite heavily. The page isn’t reloaded, see that white progress bar at the top? That’s it fetching the necessary data and having the client swap out the DOM. That’s a feature of SvelteKit.

              I unfortunately can’t really find a way to fix the back cache issue. Ironically, disabling JS on my client fixes back cache.

              Most of the slowness comes from Lemmy itself. Since the CORS headers are broken, I need to route everything through a proxy, massively slowing things down. A modal based approach convolutes things more since instead of a +page.ts where data is fetched separately I have to have a weird modal and a svelte store to show the current post, it just gets really annoying.

              I’ll try to make it so that it passes the data to the new route to instantly show the post, and hopefully fix back cache later.

              Is Imagi what you’re envisioning?

              • @ashtefere
                link
                English
                11 year ago

                The Imagi behaviour is a lot better for user flow.

                I didn’t know you were using svelte for this. I guess it explains the weirdness you mention. Personally not a fan myself, as I can across similar issues. My “new hotness” stack or choice became solid and then qwik, as there was less “magic” and more possibility to take control when things get fucky.

                • Xylight (Photon dev)OPM
                  link
                  fedilink
                  English
                  1
                  edit-2
                  1 year ago

                  Svelte is NOT Sveltekit. Very different purposes. The reason I use Sveltekit is because I love Svelte. I could use another server if I wanted to.

                  Most meta frameworks (Solid Start, Qwik City) use this rendering method as well.

                  How long is it taking for the post pages to load for you? It takes me about 0.5 - 1 second for the page to load with the client renderer.

  • Shadow
    link
    fedilink
    English
    11 year ago

    Please add support to not run as root!

    I was going to bring this up on lemmy.ca but haven’t had time to submit a PR to fix the user ID first.