Better UI for lemmy with a new design (repetitive icons, hard to distinguish comments, terrible mobile UI) and fixing common issues, like freezing, spinners loading forever, etc.
Single codebase for web, native Android and iOS apps. This is possible with Svelte + Capacitor.
Svelte codebase which I believe will be far easier to develop on.
Rethink how communities are browsed/integrated as alluded to in this post. This is my end goal, but I need to have some discussions about what this will exactly look like.
My current goal is to just get the site working with all/most of the existing functionality. For that there is a lot to do. Profile/settings page, comment replies, community browser/subscriptions to name a few.
Sounds great!! I will be pendent of news about that project. Currently I’m using Jerboa. Not so bad and needs improve a lot of stuff, would be great could use Infinity for Reddit but for Lemmy. Is open source so I think it could possible, but I’m not a programmer yet. Good luck!!
It seems like Jerboa uses GPLv3 as well, as does Bitwarden and some other open source apps. Its probably ok though it seems like it can run into trouble way down the line. Im going to keep the GPLv3 for now.
It seems that the lemmy-js-client library you are using is licensed under AGPLv3. So I’m not sure if you are allowed to use it with your current license. You might have to make your project AGPLv3 too.
The Apache License 2.0 is compatible with the GPLv3 and AGPLv3 but not the GPLv2: https://www.gnu.org/licenses/license-list.html#apache2. Using an AGPLv3-licensed library in an Apache 2.0-licensed program is allowed, but you must follow the AGPLv3 when conveying it, which is incompatible with the Apple app store ToS.
AGPL is a Copyleft license, so how can it be possible to use such library in an Apache licensed program? Isn’t the whole idea of Copyleft to make that impossible? To make sure that nobody can take away users freedoms?
I think what they meant on gnu.org is that you can use Apache licensed code in a GPL licensed program.
The combination of an Apache-licensed program and AGPLv3-licensed library is covered by both licenses, meaning that both need to be followed. This does not change the license of the program itself - the library could be replaced. Somebody could take away the users’ freedoms, but they would need to replace the library.
Just did some reading and it indeed does seem like GPL is not allowed in app stores as it does not allow any further restrictions (such as Apples store’s requirements).
I am not a fan of React, so in my opinion, yes. The substantial difference here is this isn’t native, its just a webapp that looks and feels just like a native application. The nice thing here is its just vanilla JS/CSS/HTML.
I like that you chose Sveltekit, and the project structure seems pretty good. But there’s a lot to fix. The page load takes way too long (you should be using #await whenever possible), and the design is very messy.
If I may suggest, I think you should be using a better UI framework. I feel like Carbon is a good match for this sort of app. But If you don’t like it, Skeleton also seems like a good choice.
Also, imho you should be using display: flex a lot more! (or grid). And use tab 2 or 4, not 8!! :)
Either way, I like the initiative. I might be able to help out a little bit here and there, but I can’t make any promises.
My coding style has always been to get out the core functionality then fix everything up, definitely not for everyone. Might be something I need to reconsider when working with others.
I love carbon, but I chose Ionic is because its very suited for mobile development. On the other hand it seems to have very severe limitations for mobile so it seems I have to pull in something else in as well.
The page load takes way too long (you should be using #await whenever possible)
I will, though part of the reason its slow is because its hitting lemmys backend over the network, as opposed to just a local network in a normal setup.
I am working on this. But I need help, shoot me a message if you’re interested. https://github.com/ando818/lemmy-ui-svelte
I can’t help. There is no license, so your app is proprietary. What are the goals and what needs to be implemented?
Just added the Apache License.
Goals:
My current goal is to just get the site working with all/most of the existing functionality. For that there is a lot to do. Profile/settings page, comment replies, community browser/subscriptions to name a few.
Sounds great!! I will be pendent of news about that project. Currently I’m using Jerboa. Not so bad and needs improve a lot of stuff, would be great could use Infinity for Reddit but for Lemmy. Is open source so I think it could possible, but I’m not a programmer yet. Good luck!!
Thank you! Would you be open to using a Copyleft license like GPL? Or is that not possible when releasing the app to mobile stores?
It seems like Jerboa uses GPLv3 as well, as does Bitwarden and some other open source apps. Its probably ok though it seems like it can run into trouble way down the line. Im going to keep the GPLv3 for now.
It seems that the
lemmy-js-client
library you are using is licensed under AGPLv3. So I’m not sure if you are allowed to use it with your current license. You might have to make your project AGPLv3 too.The Apache License 2.0 is compatible with the GPLv3 and AGPLv3 but not the GPLv2: https://www.gnu.org/licenses/license-list.html#apache2. Using an AGPLv3-licensed library in an Apache 2.0-licensed program is allowed, but you must follow the AGPLv3 when conveying it, which is incompatible with the Apple app store ToS.
AGPL is a Copyleft license, so how can it be possible to use such library in an Apache licensed program? Isn’t the whole idea of Copyleft to make that impossible? To make sure that nobody can take away users freedoms?
I think what they meant on gnu.org is that you can use Apache licensed code in a GPL licensed program.
The combination of an Apache-licensed program and AGPLv3-licensed library is covered by both licenses, meaning that both need to be followed. This does not change the license of the program itself - the library could be replaced. Somebody could take away the users’ freedoms, but they would need to replace the library.
It seems like GPLv3 is ok. https://en.wikipedia.org/wiki/List_of_free_and_open-source_iOS_applications https://github.com/tigase/siskin-im/issues/103
Updated
Just did some reading and it indeed does seem like GPL is not allowed in app stores as it does not allow any further restrictions (such as Apples store’s requirements).
I have to do some research.
I might try my hand at contributing. I have yet to do any open source development but really want to work on something lemmy related.
Interesting. Is this easier to work in than React Native?
I am not a fan of React, so in my opinion, yes. The substantial difference here is this isn’t native, its just a webapp that looks and feels just like a native application. The nice thing here is its just vanilla JS/CSS/HTML.
I like that you chose Sveltekit, and the project structure seems pretty good. But there’s a lot to fix. The page load takes way too long (you should be using #await whenever possible), and the design is very messy.
If I may suggest, I think you should be using a better UI framework. I feel like Carbon is a good match for this sort of app. But If you don’t like it, Skeleton also seems like a good choice.
Also, imho you should be using display: flex a lot more! (or grid). And use tab 2 or 4, not 8!! :)
Either way, I like the initiative. I might be able to help out a little bit here and there, but I can’t make any promises.
Good luck!
My coding style has always been to get out the core functionality then fix everything up, definitely not for everyone. Might be something I need to reconsider when working with others.
I love carbon, but I chose Ionic is because its very suited for mobile development. On the other hand it seems to have very severe limitations for mobile so it seems I have to pull in something else in as well.
I will, though part of the reason its slow is because its hitting lemmys backend over the network, as opposed to just a local network in a normal setup.
Not a bad start! Best of luck.
Is there a reason why you mixed js and ts?
Maybe he wants to live dangerously?
Where is the backend?
Right now its just fetching from lemmy.world. But I have my own instance on the same server as the front end client I can point it to.
Oof I can’t do web dev. Good luck with the project though.