this post was submitted on 08 Jul 2023
1 points (100.0% liked)

Photon (moved to lemdro.id)

47 readers
1 users here now

We've moved to lemdro.id:

[email protected]

https://lemdro.id/c/Photon

founded 1 year ago
MODERATORS
1
Photon 0.0.1 (photon.xylight.dev)
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] ashtefere 2 points 1 year ago (1 children)

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

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

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 1 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago (1 children)

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 1 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

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 1 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago* (last edited 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.