Here are the problems I want to solve:

The same app everywhere

It will run as a website, iOS app (also on macOS), and Android app. It will be responsive, supporting phone, tablet, and computer screen sizes along with everything in between.

And I’m not talking about simply resizing the interface. Navigation (e.g. sidebar or on mobile bottom tab bar) will match what you would expect to see on the device size you’re using. But everything else (e.g. posts) will look the same, which I hope will make it really easy to jump from mobile to desktop.

Onboarding and configuration

The app will allow you to configure it to look like a typical Reddit or Lemmy app. During the onboarding process, I will prompt you, asking which style of interface you prefer. Consider these presets, which change a bunch of more granular configuration options. I will also give you the ability to fully customize each option instead of picking a preset.

Caching and offline support

This is where it starts to get more tricky. Caching is easy. If you launch the app, it will have everything you previously saw still loaded.

I would like to make it so upvoting, for example, can be done offline. The app will optimistically apply the upvote to the post or comment, then when you reconnect to the internet, it will actually apply the upvote. This is a difficult problem to solve, so I can’t promise this will work, and it would likely be the last feature I add.

I need your feedback

This is a big project to undertake. I really want a Lemmy client that checks those boxes for myself, but I’m curious if any of those resonate with you? Is there anything I missed that you would like to see? If I do build this, I will likely have to keep the project very focused as far as features go initially.

Just for context, I’m using Voyager on iOS currently. I really like it, but the “the same app everywhere” concept and making it easier to onboard Reddit users are my main motivations for creating my own app. My app will also be fully open source

  • moseschrute@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    26 days ago

    I need to set some constraints for the project. IMO, going multi-protocol will be too much work. I would rather do one protocol really well than try and satisfy multiple. I also primarily use Lemmy, and a Lemmy-based app is something I myself would actually use. Doing a different protocol would require me to put myself in the headspace of users that I’m not as familiar with. Much of building an app is sympathizing with your user base not just technical.

    But I plan on making the app open source, and that means it can always be forked and adapted to a different protocol later. And I’m happy to draw inspiration from other protocols.

    I appreciate the idea! I think a multi-protocol app would be great, but again I think for this project and my limited time, doing one thing well would yield a better result.

    • OpenStars@piefed.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      26 days ago

      8 months ago the admins of Lemmy.World (which has ~80% of all Lemmy users on it) strongly hinted that in the future they may consider leaving Lemmy and moving to a different codebase (for, let’s just say “reasons”). Their hope was Sublinks, however ever since that project has basically died off, yet PieFed has surged forward in its place.

      So I am not trying to tell you what to do, just offering that wider perspective. Especially since I noticed that your account was only a month old so you may not know the entire history behind Lemmy, and thus find it more surprising when such an event as mentioned above may transpire “suddenly” and “without warning” - except that there are signs, and have been since the beginning. Phrased another way: is your hope to keep “Lemmy” alive - the Lemmy that was written by the codebase developers who consistently advocate for genocide of Western people (especially landlords) and upheaval via violent means of Western civilization, while simultaneously denying that genocide has ever taken place in certain formerly communist nations (including Russia, China, and North Korea), and also being against “capitalism”, even while ignoring how some of their favorite nations are themselves capitalist? (again, e.g. Russia)?

      Or is your goal to keep the spirt of the free & open source software “Fediverse” alive? The latter also includes Mbin and PieFed (and perhaps one day Sublinks if it ever resurrects from its apparent demise), all of which interact with “Lemmy” as in what most of us try to avoid calling the “Threadiverse”, despite how that name predated Meta’s “Threads” service and more accurately describes the threaded conversational nature of what we do here. So just to have a single name to call it, mostly we call it “Lemmy”, but it’s not Lemmy, it’s also Mbin and PieFed, and one day perhaps other things too, which uses the identical ActivityPub Protocol to share its messages with users on Lemmy. Case in point, I switched above from my first reply being from my old Lemmy account on Discuss.Online and ever since have been using PieFed - but did you even notice? :-P “Lemmy” and “the Threadiverse” have become somewhat synonymous in our usage of terminology, though they are different, and yet they are also the same.

      Again, do as you please ofc, but I hope this discussion might have helped!:-)