this post was submitted on 26 Jun 2023
29 points (96.8% liked)
Jerboa
10299 readers
2 users here now
Jerboa is a native-android client for Lemmy, built using the native android framework, Jetpack Compose.
Warning: You can submit issues, but between Lemmy and lemmy-ui, I probably won't have too much time to work on them. Learn jetpack compose like I did if you want to help make this app better.
Built With
Features
- Open source, AGPL License.
Installation / Releases
Support / Donate
Jerboa is made by Lemmy's developers, and is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.
Crypto
- bitcoin:
1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK
- ethereum:
0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01
- monero:
41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV
- cardano:
addr1q858t89l2ym6xmrugjs0af9cslfwvnvsh2xxp6x4dcez7pf5tushkp4wl7zxfhm2djp6gq60dk4cmc7seaza5p3slx0sakjutm
Contact
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I mean, it could be the app, but I believe it is potentially the instance because an instance with a lot of users is having to feed a whole lot of users at once. Which is much more resource intensive than the way the fediverse was designed to work by sharing with multiple instances to share the load of users constantly scrolling at the same time.
Imagine you were tasked with handing out a thousand hotdogs at a sporting event. You could do it yourself, but you are going to get overwhelmed very quickly and the line is only going to keep building up. Then imagine you have a hotdog delivery network where there are still 1000 hotdogs to be delivered, but you can share the load by having other vendors take 50 hotdogs each and giving them out at their station. The people get their hotdogs faster as they aren't all waiting on just you and you aren't overwhelmed being the hotdog overlord.
I personally believe that users need to start spreading out to new instances so we don't overload the most popular instances. Lemmy was not designed to work like reddit where there is only one hotdog overlord. Lemmy is better built to be used at scale with much smaller vendors. Another neat feature of this concept is that the fediverse can't be shutdown unless everyone stops selling hotdogs. If one goes down, everything still works fine, you just don't have whatever that particular instance was giving away. Unlike reddit where if there is a problem, the whole site is down and nobody gets any hotdogs.
Okay.
But the UI scrolling shouldnt be affected by the server being hit by many requests imo. The only way I could see an impact is if the UI waits for something to load before allowing it to be scrolled in to view - but I'm no front end (app) dev. I did work on a content serving project as a full stack though, except that was a few years ago and browser based and only vanilla js and html on the front end. Still, scrolling issues were not impacted by content serving latency as it was easy to plug dummy tiles in until the server gave its content.
The hotdog analogy doesn't make sense to me as that would be a Lemmy instance (all content serving server) latency issue, not a jerboah app UI component issue?
Spreading out over multiple instances is one option to reduce content serving latency, but it would also be interesting to see if a single instance can be distributed over multiple servers - I'm not sure of the lemmy capabilities at the moment though.
My guess is that that the UI is waiting for something from the server that hosts the user and therefore the content. That is more or less what I meant with my analogy. Keep in mind that I don't know this for certain, I am just going off of things that I have heard about how the fediverse works. If a developer for the app or lemmy can weigh in for a more complete answer, that would be great. I could be completely wrong for all I know and am open to knowing more.
If single instances become large enough, finding a way to split those up may be necessary if you can't just improve it by getting better hardware or optimizing lemmy to run better. I guess we see what becomes necessary.