What were the architectural decisions you made?
Comment on Which Lemmy android app is the most battery efficient?
idunnololz@lemmy.world 1 year ago
Fk this is going to sound so boastful but I architected Summit for Lemmy for efficiency from the ground up. Give it a try. I’m curious if you notice a difference.
agilob@programming.dev 1 year ago
idunnololz@lemmy.world 1 year ago
It’s one of the core design principles I use when making decisions about implementations. I can share some examples where this mattered.
The app is pretty aggressive about caching. This should reduce the number of unnecessary network calls. Network calls are expensive both for performance reasons and on your battery (try it out, turn on airplane mode and watch your phone last 1 week on a single charge).
Another example is unnecessary computation of changes and of UI elements. This again both increased performance and battery life.
Gordon@lemmy.world 1 year ago
Hey man, just tried summit. So far it’s super quick but it’s almost too barebones for me. But I’m going to give it a try for a week and see if it grows on me.
I do love that you implement gestures
idunnololz@lemmy.world 1 year ago
If you have anything in particular you’d like to see in the app feel free to create a post or comment on one of the release threads in the Summit community: lemmy.world/c/summit.
Also note that there is a big update coming out soon: lemmy.world/post/2064619
CommunityLinkFixer@lemmings.world [bot] 1 year ago
Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn’t work well for people on different instances. Try fixing it like this: !summit@lemmy.world
idunnololz@lemmy.world 1 year ago
Oh, also if you want to be even more conscious about battery/performance/not hammering Lemmy servers I would recommend turning off infinite scrolling (it’s the first setting within the post list settings screen).
This should also give you more time back since it’s less addictive than infinite scrolling.
Alfi@lemmy.alfi.casa 1 year ago
Any reason why it’s not FOSS?
idunnololz@lemmy.world 1 year ago
I get asked this a lot. I should really make a FAQ.
The short answer is I created Summit and work on it for my own enjoyment. I do it purely for fun. It is not open source because open sourcing it creates a lot of pain points and diminishes my enjoyment of working on the project.
If you have any questions about this I would be happy to answer them.
Cr4yfish@lemmy.world 1 year ago
I always wonder when people say something like this. I also develop a Lemmy app myself and don’t understand this point, like are you afraid people will complain about your code cleanliness or commenting techniques?
I mean what extra work is there really? Moving secrets to environment variables is annoying, I get that at least.
I mean no offense to you at all, really, but when I check out other Lemmy apps I don’t even bother with closed source ones since I can’t possibly know if you just steal login information. Especially since this is so immensely easy with Lemmy.
Again, I’m not saying you do these things but it’s always better being able to check yourself, you know?
idunnololz@lemmy.world 1 year ago
Different people have different preferences. I respect people who can open source their app and feel no negatives about it. I’ve worked on enough open source projects to know it’s not for me.
I mean if I wanted to do it for selfless reasons I would do it but here I’m working on the project for my own enjoyment.
There are a lot of reasons why open sourcing the app would reduce my enjoyment of working on the app.
I’ll try to list some of them.
I feel pressured to be a role model. I understand people learn from open source code. This puts pressure on me because I feel like any code I publish needs to act like a good role model for learners. At this point writing code has turned into what I do at my job. Why would I want my personal hobby to turn into my job?
I’ve been writing code for a very long time and I’ve learned what I like and what I don’t like. Due to this I’m pretty anal and opinionated when it comes to my own code bases. This pretty much eliminates any chance id want anyone to contribute to my open source projects. Because again that would mean I’d have to review their code and we are back this hobby turning into my job.
I want full control of my own project and how the app is distributed. That means I don’t want people to fork it and then release variants of it. Honestly if that happens id just quit working on the app. So another avenue where open sourcing the project can only bring problems.
So if you look at all of this I stand to gain almost nothing from open sourcing the app and I pretty much just lose.